2. What is Automation testing ?
Why Automation testing is important ?
Levels of automation testing.
Automation testing Framework.
How to choose automation tool ?
Types of automation testing tools.
When to automate and by whom ?
Skills to be learned.
3. What is Automation Testing ?
The use of special software (separate from the
software being tested) to control the execution
of tests and the comparison of actual outcomes
with predicted outcomes.
5. Why Automation Testing is important ?
Automated Software Testing Saves Time and Money.
Testing Improves Accuracy.
Increase Test Coverage.
Automation Does What Manual Testing Cannot.
Automated QA Testing Helps Developers and Testers.
Team Morale Improves.
6. Levels of automation testing:
• Testing at source code level with variety of
input arguments to observe the output.
• Testing at GUI level via keystrokes, mouse
clicks to UI controls etc. and observes the
changes that results in user interface.
7. Automation testing framework:
An integrated solution that sets the rule of
automation of specific product. It integrates the
function libraries, test data sources, object details and
various reusable models.
Actual OutputExpected Output
9. Record and Playback
Capture interactions with the system and replay it.
Popular approach among commercial tool.
- Very easy and fast to create initially.
- No programming skills needed.
- Single change in UI breaks all the
- Hard to maintain.
(Plenty of separate test scripts)
- System must be ready before
(Doesn’t accept acceptance test
10. Linear scripting
Non-structured scripts interacts directly with SUT.
Can use any programming language.
Also produced by capture and replay tools.
11. Benefits Problems
- Fast to create initially.
- Can use common scripting
- No license cost.
- Creating tests requires
- One change in the system may
break all the test.
- Hard to maintain.
(Plenty of test scripts).
- No reuse of code.
12. Modular scripting
Driver script “drive” test execution.
Interaction with SUT done by functions in test library.
13. Benefits Problems
- Reuse of code.
- Creating new tests gets faster.
- Easy to maintain.
(Changes in the system will cause
changes in small areas in test code)
- Drivers scripts are simple.
- Novice programmers can easily edit
in drivers scripts.
- Building test library requires
- Requires High programming skills
(to create test library).
- Test data embedded into scripts.
- New tests requires new driver
14. Data driven approach
Test data taken out of test scripts.
One driver script can execute multiple similar tests.
New driver script still needed for different kind of
15. Benefits Problems
- Test libraries provide modularity.
- Creating and editing existing tests are
- Maintenance responsibilities can be
a) Non programmers maintain test
B) Programmers maintain
automation test code.
- Test cases are similar.
- New kinds of tests requires new
- Creating driver script requires
- Initial effort creating parsers and
other reusable components are
16. Keyword driven approach
Not only test data but also directives (keywords)
telling how to use the data taken out of the test
Keywords and test data associated with them drive
17. Benefits Problems
- All same benefits as data driven
- Tests can be constructed freely
- All tests can be executed by one
- Initial efforts in really big.
But, there is online open source
18. Automation testing lifecycle :
19. How to choose automation tool ?
Imagine your self the tool decision – maker and
How will you think ?
20. How to choose automation tool ?
Do you have necessary skilled resource to allocate for
What is your budget?
Does the tool satisfy your testing needs?
Is it suitable for the project environment and technology you
Does it support all tools and objects used in the code?
21. How to choose automation tool ?
Does the tool provide you the free trial version so that you
can evaluate it before making a decision?
Also does the tool have all features available in trial version?
Is the current tool version stable?
Is the vendor company established with good customer
support as well as online help resources and user manual?
How is the tool learning curve?
Is the learning time acceptable for your goals?
22. How to choose automation tool ?
Do you want automation tool for only your project needs or
you are looking for a common tool for all projects in your
Which testing types does it support? Tool which supports
maximum testing types (Unit, functional, regression etc.) is
always a better choice.
Does the tool support easy interface to create and maintain
23. How to choose automation tool ?
How easy it is to provide input test data for complex or load
Does it provide the powerful reporting with graphical
interface? Clear and concise reports will always help you to
conclude the test results quickly.
Does it integrate well with your other testing tools like
project planning and test management tools.
Is the vendor provide initial training.
24. Types of automation testing tools:
Good ones tends to be expensive.
Often hard to integrate with:
- Other automation tools.
- Version control and continuous
Hard or impossible to customize.
Risk of product or company
Ex. Quick test professional (HP),
Functional tester (IBM), SilkTest,
TestComplete, Testdroid … etc.
Open source tools
(Some are great – other are not).
Normally easy to integrate with
Can be customized freely.
Can never die.
Ex. Selenium, Robotium, Jmeter,
SoapUI … etc.
25. When to automate and by whom ?
Often by different team.
Typical in waterfall projects.
Slow feedback loop.
Automation considered to be
integral part of development.
Typical in Agile projects.
26. Supporting practices:
Test data and code should be stored
the same way as production code.
Recommended to store with
Lots of great open source alternatives
available (Subversion, Github, etc.)
Key to full scale automation.
Tests are run automatically when:
a) New tests are added.
b) Code is changed.
Can also have scheduled test runs.
27. Skills to be learned:
(A must when parsing textual outputs)
Xpath and CSS Selectors.
(A must when doing web testing)
(A must with databases)
Using version control.