test automation - principles and practices

40
TEST AUTOMATION – PRINCIPLES & PRACTICES Anand Bagmar Test Practice Lead

Upload: anand-bagmar

Post on 07-Jan-2017

61.993 views

Category:

Software


7 download

TRANSCRIPT

Page 1: Test Automation - Principles and Practices

TEST AUTOMATION – PRINCIPLES & PRACTICES

Anand Bagmar

Test Practice Lead

Page 2: Test Automation - Principles and Practices

@BagmarAnand

about.me/anand.bagmar

essenceoftesting.blogspot.com

ABOUT ME

Page 3: Test Automation - Principles and Practices

What is Testing?

Page 4: Test Automation - Principles and Practices

4

Page 5: Test Automation - Principles and Practices

5

Page 6: Test Automation - Principles and Practices

What does this mean?

Page 7: Test Automation - Principles and Practices

LEARNING

¨ Test each part thoroughly

¨ Unit

¨ Test ways of working together

¨ Component Integration

¨ Test how it all comes together

¨ Functional

This is how the parts becomes a Pen!

7

Page 8: Test Automation - Principles and Practices

But …. what about the things you do not see?

Page 9: Test Automation - Principles and Practices

LEARNING CONTINUES …

¨ Test the Non Functionals

¨ NFRs

¨ Test the 3rd-party integration / interactions

¨ Integration

9

Page 10: Test Automation - Principles and Practices

How does this apply to Software?

Page 11: Test Automation - Principles and Practices

11

Page 12: Test Automation - Principles and Practices

Flight Search

Search Results

Flight Details

Passenger Info Payment Confirmation

Application Server

DB

Page 13: Test Automation - Principles and Practices

LEARNING CONTINUES …

¨ Test each part thoroughly

¨ Test ways of working together

¨ Test how it all comes together

¨ Test the Non Functionals

¨ Test the 3rd-party integration / interactions

¨ Understand Architecture – system & components

¨ Build Quality-in by Testing early

13

Page 14: Test Automation - Principles and Practices

Practices

Page 15: Test Automation - Principles and Practices

Test Automation

A PRACTICE THAT MAKES TEAMS SUCCESSFUL?

Page 16: Test Automation - Principles and Practices

Test Automation

A PRACTICE THAT MAKES TEAMS UNSUCCESSFUL?

Page 17: Test Automation - Principles and Practices

Why do we do Test Automation?

Page 18: Test Automation - Principles and Practices

QUICK FEEDBACK

Page 19: Test Automation - Principles and Practices

How to get quick feedback from

Test Automation?

Page 20: Test Automation - Principles and Practices

•  “Succeeding with Agile” – Mike Cohn

•  Martin Fowler – Test Pyramid

martinfowler.com/bliki/TestPyramid.html

THE TEST PYRAMID

Page 21: Test Automation - Principles and Practices

TEST PYRAMID

Unit (xUnit / JavaScript)

Manual / Exploratory

Component

Integration

View

Web Service

UI

Cost

Impact

Time

Business- facing Tests

Technology- facing Tests

Page 22: Test Automation - Principles and Practices

TEST PYRAMID … INCLUDES NFRS

Unit (xUnit / JavaScript)

Component

Integration

View

Web Service

UI

Performance

Security

Accessibility

Manual / Exploratory

Page 23: Test Automation - Principles and Practices

REALITY

Page 24: Test Automation - Principles and Practices

ICE-CREAM CONE ANTI PATTERN

Manual / Exploratory

UI

Web Service

View

JavaScript

Integration

Unit

Page 25: Test Automation - Principles and Practices

Web Service

View

JavaScript

Integration

Unit

Developers Test Pyramid QA Team Test Pyramid

DUAL TEST PYRAMID ANTI-PATTERN

Manual / Exploratory

UI

Web Service

Page 26: Test Automation - Principles and Practices

CUP-CAKE ANTI-PATTERN

Page 27: Test Automation - Principles and Practices

Is that enough?

Page 28: Test Automation - Principles and Practices

Continuous Integration (CI)

Page 29: Test Automation - Principles and Practices

CONTINUOUS INTEGRATION (CI)

”… is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible…."

-  Martin Fowler, ThoughtWorks Chief Scientist

Ø  http://www.thoughtworks.com/continuous-integration

Page 30: Test Automation - Principles and Practices

CI PROCESS

Page 31: Test Automation - Principles and Practices

TEST AUTOMATION FRAMEWORK DESIGN CRITERIA

Maintainable

Scalable

Browser / Device support

Support features of Product-under-test

Easy to Use

Different Environments

Parallel Execution

Tool support

Reports & Metrics

Support the types of testing required

Operating System & Database support

Run locally & remotely

Language / tool restrictions

Page 32: Test Automation - Principles and Practices

PRINCIPLES FOR TEST AUTOMATION FRAMEWORK

Design Patterns

Abstraction Layers

Headless executing

Evolve

Code Quality

Take Screenshots

Refactor

Tools & Utilities

Extensible

Run via CI

Logging

Video Recording

Test Data

Page 33: Test Automation - Principles and Practices

Understandthesystem(s)/product(s)youneedtotest!!

HOW DO YOU DECIDE WHICH PRACTICE TO USE?

Page 34: Test Automation - Principles and Practices

Sample Test Automation Framework Architecture

Page 35: Test Automation - Principles and Practices

FRAMEWORK ABSTRACTION LAYERS

Page 36: Test Automation - Principles and Practices

Summary - Test Automation Framework

“Best” Practices

Page 37: Test Automation - Principles and Practices

Assertions & Validations In Business Layer

Model Test Data

Proper abstraction layers

Pages as Dummy objects

Evolve

Programming practices

OOPs Design Patterns

Identify intent in business terminology

Build Tools & Utilities

Page 38: Test Automation - Principles and Practices

REFERENCES

Page Objects – Google

https://code.google.com/p/selenium/wiki/PageObjects

Page Objects – Martin Fowler

http://martinfowler.com/bliki/PageObject.html

Perils of Page-Object Pattern – Anand Bagmar

http://essenceoftesting.blogspot.in/2014/09/perils-of-page-object-pattern.html

Test Design Consideration

http://docs.seleniumhq.org/docs/06_test_design_considerations.jsp

Page 39: Test Automation - Principles and Practices

Evolve as you Learn

Page 40: Test Automation - Principles and Practices

@BagmarAnand

about.me/anand.bagmar

essenceoftesting.blogspot.com

THANK YOU