Upload
giovanni-scerra-
View
126
Download
1
Embed Size (px)
Citation preview
QA AUTOMATION
Getting Started
Much Ado About Testing
Automation Tools
Challenges
Solutions
Q & A
Much Ado About Testing
Test StrategiesTests strategies can have different:
Targets
Required Skills
Levels of Effort
Goals and Benefits
Testing My New Car
Which way is the best way
to test my new car?
1
2
3
GUNG HO!
Repetition Is HellRegression testing is the process of testing changes to computer programs to make sure that the older programming still works with the new changes.
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 applications!
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
Automation Tools
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
DRIVER 1
Client 2 Client NClient 1
DRIVER 2 DRIVER N…
Example: Selenium WebDriver
Driver ResponsibilitiesOpen/close applications
Select UI elements (By Id, Name, XPath, etc.)
Simulate mouse, keyboard or gesture interactions
Time control (waits)
Assertions
Remote execution
Screenshots, e-mails, etc.
Comply with common interfaces
The RecorderIn 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
formats.
Programmable APIDrivers 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.
Some Popular UI Automation Tools
Challenges
Resilience
Resilient QA Tests are loosely dependent from:
Time
Application speed (unless it is a performance test)
Screen structure and position of elements
Data/Content
Culture
Each other!
The ability to recover from or adjust easily to misfortune or change
Simplicity
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
Comprehensiveness
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
Need For SpeedIf 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!!
Solutions
Automation Framework
Development
Team
QA Team
Automation Framework
Test Driver
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.
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
Infrastructure
Virtual Machines Containers Cloud
In House Infrastructure Testing as a Service
Do you have available servers?
Does your automation suite support remote drivers?
…and many more…
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
automated?
How will ensure that your test suite will be easily maintainable over
time?
How are Development and QA tests going to be integrated?
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?
Q & A