26
Practical Experiences in Test Automation Speaker: Tam Bui

[HCMC STC Jan 2015] Practical Experiences In Test Automation

Embed Size (px)

Citation preview

Page 1: [HCMC STC Jan 2015] Practical Experiences In Test Automation

Practical Experiences in Test Automation

Speaker: Tam Bui

Page 2: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

My Background • B. Eng in Computer Science – Hanoi polytechnic University.

• B. A in English – Hue University.

• ISTQB Advanced Level – Test Manager – USA.

• 10+ year experience in software automation testing and 12+ year experience in

software testing world.

• Experience in usability testing, performance testing and security testing.

• QA/QC Department Manager at DICentral.

Page 3: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Content

• What is Automation Testing?

• Why Automation Testing?

• Automation Methodologies.

• Automation Testing Approach.

Page 4: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

What is Automation Testing?

Automation testing is about using a software, a piece of codes, or a test tool to perform the testing.

Three levels of Automation testing: Unit Testing, API Testing and GUI Automation Testing.

Page 5: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Why automation testing? • Reduce manual testing efforts.

• Reduce test cycle time.

• Reduce test costs.

• Reduce manual testing errors when running regression tests.

Page 6: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Why automation testing? (Cont.) • Run tests that manual tests cannot be run.

• Provide quick reports/feedbacks.

• Improve project team collaborations.

• Improve designing and programming skills.

Page 7: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Pitfalls of Automation Testing

• Test everything. Non-repetitive tests will increase costs unnecessarily.

• Lack of designing and programming skills.

• Debug time is not planned properly.

• Hardcodes in test scripts.

• Poor manual testing quality.

Page 8: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Pitfalls of Automation Testing

Changes in application under tests. This causes changes in test scripts.

• Automation testing can replace manual testing.

• Automation Test tool limitations.

Automation Test tools cannot recognize application controls and objects.

Page 9: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Methodologies

• Record and Playback.

• Functional Automation.

• Data Driven.

• Keyword Driven.

• Hybrid.

Page 10: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Key Success Factors Approach

• Select a Test Tool • Define Goals and Objectives. • Implement Automation Test

Framework. • Comprehend Design Principles. • Select Test Cases for Automation. • Separate Test Data and Test

Scripts • Provide Quick Reports/Feedbacks. • Make Maintenance easy and fun. • And other considerations

Process

• Define Automation Testing Process.

People

• Fulfill training activities. • Run Team Member

Collaborations.

Page 11: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Fulfill training activities

• Design skills.

• Programming skills.

• Scripting techniques.

• Domain Knowledge.

• Test Tool Knowledge.

Page 12: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Run Team Member Collaborations

• Test Designer: Comprehend domain knowledge and design test cases.

• Test Implementer: Implement and maintain test scripts.

Collaborate with: • BA: to get and clarity use cases, user stories etc.

• Developer: to get information about IDs of

Objects/Controls, Modules, Packages, etc.

• Manager: to get test automation scope, objectives, and provide strategy, plan, results and reports.

Page 13: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Define Automation Testing Process

Plan

Design

Implement

Evaluate

Execute

Report

Page 14: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Select a test tool

Page 15: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Define Goals and Objectives

• Understand clearly about goals of

automation testing.

• Define objectives of automation testing to measure how much we get for the goals of automation testing.

• Then come up with the best strategy and plan for automation testing.

Page 16: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Implement Automation Test Framework

The framework will facilitate automation testing activities: • Test designers design

test cases.

• Test implementers implement test script.

• Test executors run tests and get feedbacks/reports.

Page 17: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Comprehend Design Principles

• Single Responsibility.

• Separation of concerns.

• Don’t repeat yourself.

Page 18: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

• Critical business test cases.

• Repetitive test cases.

• Time consuming test cases.

• Manually difficult test cases.

Select Test Cases For Automation

Page 19: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Separate Test Data and Test Script

To improve: • Reusability

• Maintainability

Page 20: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Provide Quick Reports/Feedbacks

Page 21: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Make Maintenance easy and fun

• Follow design principles.

• Follow code conventions.

• Review and Refactor Code.

Page 22: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Other considerations - Test Environment

• Test scripts can be executed across different platforms and environments.

• Test scripts can be executed in parallel to reduce execution time.

• Automation tests can be evoked by Continuous Integration process while test environment changes.

Page 23: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Other considerations - Change Management

Put your automation test projects into configuration management systems.

Page 24: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation

Conclusions

• Benefits of automation testing can be attained if we do it right at the beginning.

• There is more than one way to skin a cat.

Page 25: [HCMC STC Jan 2015] Practical Experiences In Test Automation

© DiCentral Corporation.

Q & A

Page 26: [HCMC STC Jan 2015] Practical Experiences In Test Automation

Thank you