4. Testing My New Car
Which way is
the best way
to test my new car?
5. Repetition Is Hell
Regression testing is the process of
testing changes to computer programs
to make sure that the older
programming still works with the new
Tests need to be repeated for every
change or bug fix, in different
environments and with different
configurations and data sets.
Manual regression tests
are not realistically
possible for enterprise
6. Automation Benefits
Regression tests become feasible (Safety Net)
Quality Assurance Team can focus on testing new features and
non automatable aspects of testing (e.g. UX)
Failed tests can be sent to developers and replayed
Written QA tests are a repository of knowledge that stays in the
organization and survives turnovers
8. The Test Driver
In QA Automation, a Driver is a tool that
can control and ‘drive’ the user interface
of an application on a specific client.
Drivers can programmatically open or
close applications, simulate mouse and
keyboard interactions, and much more!
TEST DRIVER INTERFACE
Client 2 Client NClient 1
DRIVER 2 DRIVER N…
Example: Selenium WebDriver
10. The Recorder
In QA Automation, a Recorder is a tool
that can automatically record all the
actions manually performed by a user
(QA Analyst) and convert them into
commands for the driver and save them
as an independent test.
Recorders can also replay the
commands on schedule or on demand,
as well as export the test(s) in different
11. Programmable API
Drivers can also be instructed using
common programming languages.
Using a programming language to write
tests will provide fine-grained control
upon the driver, as well as the ability to
share common commands between tests.
Using directly the API this will increase
the complexity of tests, making them
obscure to non-developers.
Resilient QA Tests are loosely dependent from:
Application speed (unless it is a performance test)
Screen structure and position of elements
The ability to recover from or adjust
easily to misfortune or change
Simple QA Tests can be:
Written by QA analysts with minimal training
Clearly understood by any domain expert
Easily maintained as requirements change
Composed from simple and powerful building blocks
The quality of being easy to understand or use
Comprehensive QA Tests run on:
Multiple operating systems
Multiple clients (e. g., browsers)
Multiple hardware devices
Multiple configuration scenarios
Different Data Sets
Covering completely or broadly
17. Need For Speed
If we have 1000 tests
To run on 3 platforms/browsers
Average UI test duration: 3 minutes
(1000 x 3 x 3) /60 /24 = Over 6 days!
We need tests to run in parallel!!
19. Automation Framework
High Level QA Tests
An automation framework is a software
produced by the development team that allows
QA Analysts to express tests at a higher level,
utilizing reusable building blocks, hiding
unnecessary complexity and technical details.
20. Automation Framework
1. Open Login Page
2. Type “giovanni” in textbox with id = “tbxUserName”
3. Type “secretpassword” in textbox with id = “tbxPassword”
4. Click on button with Id “btnSignIn”
5. Wait for home page title
Login “giovanni” “secretpassword”
Without Automation Framework
With Automation Framework
22. Outsourcing Automation?
Should you pay a third party company to write your QA tests?
You may want to consider the following questions:
How critical is QA Testing to the success of your business?
What kind of domain expertise is required to test your applications?
What would be the impact of turnover in your testing process?
How will write test cases and verify that have been correctly
How will ensure that your test suite will be easily maintainable over
How are Development and QA tests going to be integrated?
23. Share! Don’t be a stranger!
Share you team knowledge with other AFS teams :
• What are your testing best practices?
• Tell us your successful automation experiences
• What have learned from past failures?