25
QA AUTOMATION Getting Started Much Ado About Testing Automation Tools Challenges Solutions Q & A

Getting Started With QA Automation

Embed Size (px)

Citation preview

Page 1: Getting Started With QA Automation

QA AUTOMATION

Getting Started

Much Ado About Testing

Automation Tools

Challenges

Solutions

Q & A

Page 2: Getting Started With QA Automation

Much Ado About Testing

Page 3: Getting Started With QA Automation

Test StrategiesTests strategies can have different:

Targets

Required Skills

Levels of Effort

Goals and Benefits

Page 4: Getting Started With QA Automation

Testing My New Car

Which way is the best way

to test my new car?

1

2

3

GUNG HO!

Page 5: Getting Started With QA Automation

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!

Page 6: Getting Started With QA Automation

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

Page 7: Getting Started With QA Automation

Automation Tools

Page 8: Getting Started With QA Automation

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

Page 9: Getting Started With QA Automation

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

Page 10: Getting Started With QA Automation

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.

Page 11: Getting Started With QA Automation

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.

Page 12: Getting Started With QA Automation

Some Popular UI Automation Tools

Page 13: Getting Started With QA Automation

Challenges

Page 14: Getting Started With QA Automation

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

Page 15: Getting Started With QA Automation

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

Page 16: Getting Started With QA Automation

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

Page 17: Getting Started With QA Automation

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!!

Page 18: Getting Started With QA Automation

Solutions

Page 19: Getting Started With QA Automation

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.

Page 20: Getting Started With QA Automation

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

Page 21: Getting Started With QA Automation

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…

Page 22: Getting Started With QA Automation

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?

Page 23: Getting Started With QA Automation

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?

Page 24: Getting Started With QA Automation

Q & A

Page 25: Getting Started With QA Automation

[email protected]

My Contact Info:

https://www.linkedin.com/in/giovanniscerra

Thank You!