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 Agile
Process?
Why, in reality, both processes are fundamentally the same.
How we modelled "Test Automation" incorrectly, and an
alternative way to model it.
What does testing do? Provides Information?
Unpack this model to understand 'How'
How Does Testing Produce Information?
Testing produces data
Testers model the data and communicate that model as
information
Basic model of a Testing Process
Organic Model
Not very easy to Automate this
Lots of learning and model building based on observations
and thinking
A Traditional Model of Testing Process
This is what I learned as a junior tester
But I wasn't told that the requirements etc. were actually
Models
This is a key element to understand
That's a bit big, so let's simplify it, to make it
easier to understand
This is a high level abstraction of the testing process
But very linear so loses all the notion of feedback and cyclical
learning
Now let's look at that again
Analysis is not particularly easy to automate
Even if we code the Test Scripts we still need someone to write
the code
But we have formalised the entities and we could create
standard templates, if it flowed through a process we could
create these in advance and run the scripts later
Let's explore execution in more detail
early automation tools were hard to use, and expensive, and
we didn't always write systems in ways the tools could
automate ﴾accessibility layers, standard controls, etc.﴿
we could make this process more automated with tool support
since tools were expensive, people performed the execution
but people are expensive
so we need cheaper people do to this, therefore make it
easy for 'anyone' to run these scripts
What about Reporting?
That's data ‐ not information
We can easily automate data creation
meaningless graphs, standard metrics, it will all look very
professional
Very easy to create a process support tool to do
this
And look, we just "automated" 50% of our 'Test Process'
Later we will figure out how to automatically execute those test
scripts
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 can
Automate 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 Testing
Process.
What if we make it clear what is 'testing' and what
is Automatizable?
The model that we automate is a subset of the model which we use
for exploration.
And really we are not longer automating "Tests"
or "Testing"
We are automating those conditions or requirements or examples
or acceptance criteria that we want to see continually checked and
asserted on, and the execution data continually reported.
BIO ‐ Alan Richardson
Alan Richardson has more than twenty years of professional IT
experience, working as a programmer and at every level of the
testing hierarchy from tester through head of testing. He has
performed keynote speeches and tutorials at conferences
worldwide. Author of multiple books on testing and automating.
Alan also has created online training courses to help people learn
Technical Web Testing and Selenium WebDriver with Java. He works
as an independent consultant and coach, helping companies
improve their use of automation, agile, and exploratory technical
testing.
Alan Richardson ﴾www﴿
www.compendiumdev.co.uk
www.eviltester.com
www.seleniumsimplified.com
www.javafortesters.com
uk.linkedin.com/in/eviltester
testerhq.com ‐ Aggregated Feed
Follow
Linkedin ‐ uk.linkedin.com/in/eviltester
Twitter ‐ twitter.com/eviltester
Instagram ‐ instagram.com/eviltester
Facebook ‐ facebook.com/eviltester
Youtube ‐ youtube.com/user/EviltesterVideos
Pinterest ‐ uk.pinterest.com/eviltester
Github ‐ github.com/eviltester
Slideshare ‐ slideshare.net/eviltester

Re-thinking Test Automation and Test Process Modelling (in pictures)

  • 2.
    Why do wetalk 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 Agile Process? Why, in reality, both processes are fundamentally the same. How we modelled "Test Automation" incorrectly, and an alternative way to model it.
  • 3.
    What does testingdo? Provides Information? Unpack this model to understand 'How'
  • 4.
    How Does TestingProduce Information? Testing produces data Testers model the data and communicate that model as information
  • 5.
    Basic model ofa Testing Process Organic Model Not very easy to Automate this Lots of learning and model building based on observations and thinking
  • 6.
    A Traditional Modelof Testing Process This is what I learned as a junior tester But I wasn't told that the requirements etc. were actually Models This is a key element to understand
  • 7.
    That's a bitbig, so let's simplify it, to make it easier to understand This is a high level abstraction of the testing process But very linear so loses all the notion of feedback and cyclical learning
  • 8.
    Now let's lookat that again Analysis is not particularly easy to automate Even if we code the Test Scripts we still need someone to write the code But we have formalised the entities and we could create standard templates, if it flowed through a process we could create these in advance and run the scripts later
  • 9.
    Let's explore executionin more detail early automation tools were hard to use, and expensive, and we didn't always write systems in ways the tools could automate ﴾accessibility layers, standard controls, etc.﴿ we could make this process more automated with tool support since tools were expensive, people performed the execution but people are expensive so we need cheaper people do to this, therefore make it easy for 'anyone' to run these scripts
  • 10.
    What about Reporting? That'sdata ‐ not information We can easily automate data creation meaningless graphs, standard metrics, it will all look very professional
  • 11.
    Very easy tocreate a process support tool to do this And look, we just "automated" 50% of our 'Test Process' Later we will figure out how to automatically execute those test scripts
  • 12.
    In order tosay 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 can Automate Testing
  • 13.
    Let's re‐instate modelling Theautomated flow is predicated on the notion of "Test Cases" rather than modelling and learning
  • 14.
    Bring back exploration Wejust added Information and learning back into the Testing Process.
  • 15.
    What if wemake it clear what is 'testing' and what is Automatizable? The model that we automate is a subset of the model which we use for exploration.
  • 16.
    And really weare not longer automating "Tests" or "Testing" We are automating those conditions or requirements or examples or acceptance criteria that we want to see continually checked and asserted on, and the execution data continually reported.
  • 17.
    BIO ‐ AlanRichardson Alan Richardson has more than twenty years of professional IT experience, working as a programmer and at every level of the testing hierarchy from tester through head of testing. He has performed keynote speeches and tutorials at conferences worldwide. Author of multiple books on testing and automating. Alan also has created online training courses to help people learn Technical Web Testing and Selenium WebDriver with Java. He works as an independent consultant and coach, helping companies improve their use of automation, agile, and exploratory technical testing.
  • 18.
  • 19.
    Follow Linkedin ‐ uk.linkedin.com/in/eviltester Twitter‐ twitter.com/eviltester Instagram ‐ instagram.com/eviltester Facebook ‐ facebook.com/eviltester Youtube ‐ youtube.com/user/EviltesterVideos Pinterest ‐ uk.pinterest.com/eviltester Github ‐ github.com/eviltester Slideshare ‐ slideshare.net/eviltester