test automation - what? why? how?

49
TEST AUTOMATION IN AGILE PROJECTS “WHAT? WHY? HOW?” Anand Bagmar Test Practice Lead

Upload: anand-bagmar

Post on 17-Aug-2015

344 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Test automation - What? Why? How?

TEST AUTOMATION IN AGILE PROJECTS “WHAT? WHY? HOW?”

Anand Bagmar

Test Practice Lead

Page 2: Test automation - What? Why? How?

@BagmarAnand about.me/anand.bagmar

ABOUT ME

Page 3: Test automation - What? Why? How?

What Is Agile?

Page 4: Test automation - What? Why? How?

Source: http://dilbert.com/strip/2007-11-26 Reference: http://martinfowler.com/articles/agileFluency.html

Page 5: Test automation - What? Why? How?

Agile Manifesto

Page 6: Test automation - What? Why? How?

Source: http://agilemanifesto.org/

AGILE MANIFESTO

Individuals and

Interactions Processes

&Tools over

Page 7: Test automation - What? Why? How?

Source: http://agilemanifesto.org/

AGILE MANIFESTO

Working Software

Comprehensive Documentation over

Page 8: Test automation - What? Why? How?

Source: http://agilemanifesto.org/

AGILE MANIFESTO

Customer Collaboration

Contract Negotiation over

Page 9: Test automation - What? Why? How?

Source: http://agilemanifesto.org/

AGILE MANIFESTO

Responding To

Change Following

A Plan over

Page 10: Test automation - What? Why? How?

Agile Testing Manifesto

Page 11: Test automation - What? Why? How?

AGILE TESTING MANIFESTO

Collaborative Ownership

Detached Objectivity over

Page 12: Test automation - What? Why? How?

AGILE TESTING MANIFESTO

Targeted Automation

Widespread Anti-regression over

Page 13: Test automation - What? Why? How?

AGILE TESTING MANIFESTO

Defect Prevention

Defect Detection over

Page 14: Test automation - What? Why? How?

AGILE TESTING MANIFESTO

Exploratory Testing

Predetermined Scripting

over

Page 15: Test automation - What? Why? How?

Principles & Practices of

Agile Testing

Page 16: Test automation - What? Why? How?

OUR PRIMARY OBJECTIVE

Faster Delivery Of Quality Software From Idea To Consumer

Page 17: Test automation - What? Why? How?

Building Quality In

Involving Everyone

Fast Feedback

Tests Are An Asset

Faster Delivery Into Production

Clear View Of Testing

Business Optimize Value

TESTING PRINCIPLES

Page 18: Test automation - What? Why? How?

Continuous Integration (CI)

Page 19: Test automation - What? Why? How?

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 20: Test automation - What? Why? How?

CI PROCESS

Page 21: Test automation - What? Why? How?

Continuous Delivery (CD)

Page 22: Test automation - What? Why? How?

CONTINUOUS DELIVERY (CD)

… is the natural extension of Continuous Integration: an approach in which teams ensure that every change to the system is releasable, and that we can release any version at the push of a button. Continuous Delivery aims to make releases boring, so we can deliver frequently and get fast feedback on what users care about.

-  Martin Fowler, ThoughtWorks Chief Scientist

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

Page 23: Test automation - What? Why? How?

CONTINUOUS DELIVERY

Page 24: Test automation - What? Why? How?

Practices, Tips & Tricks

QA

Page 25: Test automation - What? Why? How?

Test Automation

A PRACTICE THAT MAKES TEAMS SUCCESSFUL?

Page 26: Test automation - What? Why? How?

Test Automation

A PRACTICE THAT MAKES TEAMS UNSUCCESSFUL?

Page 27: Test automation - What? Why? How?

What is Test Automation?

Page 28: Test automation - What? Why? How?

Automation -

A Safety Net

Page 29: Test automation - What? Why? How?

Why do we do Test Automation?

Page 30: Test automation - What? Why? How?

QUICK FEEDBACK

Page 31: Test automation - What? Why? How?

How to get quick feedback from

Test Automation?

Page 32: Test automation - What? Why? How?

•  “Succeeding with Agile” – Mike Cohn

•  Martin Fowler – Test Pyramid

martinfowler.com/bliki/TestPyramid.html

THE TEST PYRAMID

Page 33: Test automation - What? Why? How?

IDEAL TEST AUTOMATION PYRAMID

Unit

Manual / Exploratory

Integration

JavaScript

View

Web Service

UI

Cost

Impact

Time

Business- facing Tests

Technology- facing Tests

Page 34: Test automation - What? Why? How?

REALITY

Page 35: Test automation - What? Why? How?

ICE-CREAM CONE ANTI PATTERN

Manual / Exploratory

UI

Web Service

View

JavaScript

Integration

Unit

Page 36: Test automation - What? Why? How?

Web Service

View

JavaScript

Integration

Unit

Developers Test Pyramid QA Team Test Pyramid

DUAL TEST PYRAMID ANTI-PATTERN

Manual / Exploratory

UI

Web Service

Page 37: Test automation - What? Why? How?

CUP-CAKE ANTI-PATTERN

Page 38: Test automation - What? Why? How?

TYPES OF TEST AUTOMATION FRAMEWORKS

Modular

Data-driven

Keyword-driven Model-based

Hybrid

? ? ?

Page 39: Test automation - What? Why? How?

Understand  the  system(s)  /  product(s)  you  need  to  test!!  

REMEMBER …

Page 40: Test automation - What? Why? How?

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 41: Test automation - What? Why? How?

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 42: Test automation - What? Why? How?

FRAMEWORK ABSTRACTION LAYERS

Page 43: Test automation - What? Why? How?

Patterns for building a Test Automation

Framework

Page 44: Test automation - What? Why? How?

Page Object Pattern

Business-Layer Page Object Pattern

Page 45: Test automation - What? Why? How?

Business Layer Page Object Pattern

Page 46: Test automation - What? Why? How?

FRAMEWORK ABSTRACTION LAYERS

Page 47: Test automation - What? Why? How?

Evolve as you Learn

Page 48: Test automation - What? Why? How?

Source: http://dilbert.com/strip/2005-11-16

Page 49: Test automation - What? Why? How?

[email protected]

[email protected]

@BagmarAnand

about.me/anand.bagmar

THANK YOU