Why do we talk about Test Automation the way we do?Why do we talk about 100% Test Automation?How do we model automation as part of our Test Process?
How does Testing provide information?Why was a Waterfall Test Process Different from an AgileProcess?Why, in reality, both processes are fundamentally the same.How we modelled "Test Automation" incorrectly, and analternative way to model it.
What does testing do? Provides Information?
Unpack this model to understand 'How'
How Does Testing Produce Information?
Testing produces dataTesters model the data and communicate that model asinformation
Basic model of a Testing Process
Organic ModelNot very easy to Automate thisLots of learning and model building based on observationsand thinking
A Traditional Model of Testing Process
This is what I learned as a junior testerBut I wasn't told that the requirements etc. were actuallyModels
This is a key element to understand
That's a bit big, so let's simplify it, to make iteasier to understand
This is a high level abstraction of the testing processBut very linear so loses all the notion of feedback and cyclicallearning
Now let's look at that again
Analysis is not particularly easy to automateEven if we code the Test Scripts we still need someone to writethe codeBut we have formalised the entities and we could createstandard templates, if it flowed through a process we couldcreate these in advance and run the scripts later
Let's explore execution in more detail
early automation tools were hard to use, and expensive, andwe didn't always write systems in ways the tools couldautomate ﴾accessibility layers, standard controls, etc.﴿
we could make this process more automated with tool supportsince tools were expensive, people performed the executionbut people are expensive
so we need cheaper people do to this, therefore make iteasy for 'anyone' to run these scripts
What about Reporting?
That's data ‐ not informationWe can easily automate data creation
meaningless graphs, standard metrics, it will all look veryprofessional
Very easy to create a process support tool to dothis
And look, we just "automated" 50% of our 'Test Process'Later we will figure out how to automatically execute those testscripts
In order to say we have coverage ‐ we can use the'conditions'
We just designed a pretty standard test management tool:
It is easy to see at this point how people might say they canAutomate Testing
Let's re‐instate modelling
The automated flow is predicated on the notion of "Test Cases"rather than modelling and learning
Bring back exploration
We just added Information and learning back into the TestingProcess.
What if we make it clear what is 'testing' and whatis Automatizable?
The model that we automate is a subset of the model which we usefor exploration.
And really we are not longer automating "Tests"or "Testing"
We are automating those conditions or requirements or examplesor acceptance criteria that we want to see continually checked andasserted on, and the execution data continually reported.
BIO ‐ Alan RichardsonAlan Richardson has more than twenty years of professional ITexperience, working as a programmer and at every level of thetesting hierarchy from tester through head of testing. He hasperformed keynote speeches and tutorials at conferencesworldwide. Author of multiple books on testing and automating.Alan also has created online training courses to help people learnTechnical Web Testing and Selenium WebDriver with Java. He worksas an independent consultant and coach, helping companiesimprove their use of automation, agile, and exploratory technicaltesting.
Alan Richardson ﴾www﴿www.compendiumdev.co.uk
www.eviltester.comwww.seleniumsimplified.comwww.javafortesters.comuk.linkedin.com/in/eviltester
testerhq.com ‐ Aggregated Feed
FollowLinkedin ‐ uk.linkedin.com/in/eviltesterTwitter ‐ twitter.com/eviltester
Instagram ‐ instagram.com/eviltesterFacebook ‐ facebook.com/eviltesterYoutube ‐ youtube.com/user/EviltesterVideosPinterest ‐ uk.pinterest.com/eviltester
Github ‐ github.com/eviltesterSlideshare ‐ slideshare.net/eviltester