What is Agile Testing? How does Automation Help?

61
WHAT IS AGILE TESTING? HOW DOES AUTOMATION HELP? Anand Bagmar Test Practice Lead

Transcript of What is Agile Testing? How does Automation Help?

Page 1: What is Agile Testing? How does Automation Help?

WHAT IS AGILE TESTING? HOW DOES AUTOMATION HELP?

Anand Bagmar

Test Practice Lead

Page 2: What is Agile Testing? How does Automation Help?

@BagmarAnand about.me/anand.bagmar

ABOUT ME

Page 3: What is Agile Testing? How does Automation Help?

WHAT DO YOU EXPECT FROM THIS SESSION?

Page 4: What is Agile Testing? How does Automation Help?

Money / Value

Time

Quality

ORGANIZATION OBJECTIVE

Page 5: What is Agile Testing? How does Automation Help?

DISTRIBUTION / FRAGMENTATION

Page 6: What is Agile Testing? How does Automation Help?

What Is Agile?

Page 7: What is Agile Testing? How does Automation Help?

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

Page 8: What is Agile Testing? How does Automation Help?

Agile Manifesto

Page 9: What is Agile Testing? How does Automation Help?

Source: http://agilemanifesto.org/

AGILE MANIFESTO

Individuals and

Interactions Processes

&Tools over

Page 10: What is Agile Testing? How does Automation Help?

Source: http://agilemanifesto.org/

AGILE MANIFESTO

Working Software

Comprehensive Documentation over

Page 11: What is Agile Testing? How does Automation Help?

Source: http://agilemanifesto.org/

AGILE MANIFESTO

Customer Collaboration

Contract Negotiation over

Page 12: What is Agile Testing? How does Automation Help?

Source: http://agilemanifesto.org/

AGILE MANIFESTO

Responding To

Change Following

A Plan over

Page 13: What is Agile Testing? How does Automation Help?

Agile Testing Manifesto

Page 14: What is Agile Testing? How does Automation Help?

AGILE TESTING MANIFESTO

Collaborative Ownership

Detached Objectivity over

Page 15: What is Agile Testing? How does Automation Help?

AGILE TESTING MANIFESTO

Targeted Automation

Widespread Anti-regression over

Page 16: What is Agile Testing? How does Automation Help?

AGILE TESTING MANIFESTO

Defect Prevention

Defect Detection over

Page 17: What is Agile Testing? How does Automation Help?

AGILE TESTING MANIFESTO

Exploratory Testing

Predetermined Scripting

over

Page 18: What is Agile Testing? How does Automation Help?

Principles & Practices of

Agile Testing

Page 19: What is Agile Testing? How does Automation Help?

OUR PRIMARY OBJECTIVE

Faster Delivery Of Quality Software From Idea To Consumer

Page 20: What is Agile Testing? How does Automation Help?

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 21: What is Agile Testing? How does Automation Help?

PRINCIPLE: BUILD QUALITY IN

Preventing Defects

Finding Defects

Preventing Defects

Finding Defects

Page 22: What is Agile Testing? How does Automation Help?

QA - BA

QA - Dev

QA - UX

QA – DevOps QA - Stakeholder

PRINCIPLE: BUILD QUALITY IN

Page 23: What is Agile Testing? How does Automation Help?

PRINCIPLE: INVOLVE EVERYONE

Testing ≠ Testers

Quality is a Team Responsibility

Page 24: What is Agile Testing? How does Automation Help?

PRINCIPLE: FAST FEEDBACK

QUICK RESPONSE

Page 25: What is Agile Testing? How does Automation Help?

PRINCIPLE – BUSINESS OPTIMIZE VALUE

PEOPLE

TECHNOLOGY PROCESS

Quality is not just in the software but also in the process

Page 26: What is Agile Testing? How does Automation Help?

We have the potential to wear many hats…

BA DevOp

PM IM

Page 27: What is Agile Testing? How does Automation Help?

Typical Process in Agile Teams

Page 28: What is Agile Testing? How does Automation Help?

Story Planning Session

BUSINESS BA

Write Story & Scenarios

BA

Implement Automated Acceptance Tests

TESTER

TESTER DEV

Implement Functionality

Regular BA/QA Demo

DEV DEV

TESTER DEV BA

TESTER DEV BA

Story Testing

Showcase to Business

STARTS HERE

SYSTEM TESTING

START DEVELOPMENT ITERATION

END DEVELOPMENT ITERATION

DEVELOPMENT ENGINE

STORY PLANNING SESSION

BUSINESS BA TESTER

TESTER

BA / QA Signoff on Dev Box

Page 29: What is Agile Testing? How does Automation Help?

Story Planning Session

BUSINESS BA

Write Story & Scenarios

BA

Implement Automated Acceptance Tests

TESTER

TESTER DEV

Implement Functionality

Regular BA/QA Demo

DEV DEV

TESTER DEV BA

TESTER DEV BA

Showcase to Business

START DEVELOPMENT ITERATION

END DEVELOPMENT ITERATION

DEVELOPMENT ENGINE

STORY WRITING

BUSINESS BA TESTER

TESTER

STARTS HERE

SYSTEM TESTING

BA / QA Signoff on Dev Box

Story Testing

Page 30: What is Agile Testing? How does Automation Help?

Story Planning Session

BUSINESS BA

Write Story & Scenarios

BA

Implement Automated Acceptance Tests

TESTER

TESTER DEV

Implement Functionality

Regular BA/QA Demo

DEV DEV

TESTER DEV BA

TESTER DEV BA

Showcase to Business

START DEVELOPMENT ITERATION

END DEVELOPMENT ITERATION

DEVELOPMENT ENGINE

AUTOMATE ACCEPTANCE TESTS

BUSINESS BA TESTER

TESTER

STARTS HERE

SYSTEM TESTING

BA / QA Signoff on Dev Box

Story Testing

Page 31: What is Agile Testing? How does Automation Help?

Story Planning Session

BUSINESS BA

Write Story & Scenarios

BA

Implement Automated Acceptance Tests

TESTER

TESTER DEV

Implement Functionality

Regular BA/QA Demo

DEV DEV

TESTER DEV BA

TESTER DEV BA

Showcase to Business

START DEVELOPMENT ITERATION

END DEVELOPMENT ITERATION

DEVELOPMENT ENGINE

IMPLEMENT FUNCTIONALITY

BUSINESS BA TESTER

TESTER

STARTS HERE

SYSTEM TESTING

BA / QA Signoff on Dev Box

Story Testing

Page 32: What is Agile Testing? How does Automation Help?

Story Planning Session

BUSINESS BA

Write Story & Scenarios

BA

Implement Automated Acceptance Tests

TESTER

TESTER DEV

Implement Functionality

Regular BA/QA Demo

BA / QA Signoff on Dev Box

DEV DEV

TESTER DEV BA

TESTER DEV BA

Showcase to Business

START DEVELOPMENT ITERATION

END DEVELOPMENT ITERATION

DEVELOPMENT ENGINE

BA & QA SIGNOFF

BUSINESS BA TESTER

TESTER

STARTS HERE

SYSTEM TESTING

Story Testing

Page 33: What is Agile Testing? How does Automation Help?

Story Planning Session

BUSINESS BA

Write Story & Scenarios

BA

Implement Automated Acceptance Tests

TESTER

TESTER DEV

Implement Functionality

Regular BA/QA Demo

DEV DEV

TESTER DEV BA

TESTER DEV BA

BUSINESS BA

Showcase to Business

TESTER

START DEVELOPMENT ITERATION

END DEVELOPMENT ITERATION

DEVELOPMENT ENGINE

STORY TESTING

TESTER

STARTS HERE

SYSTEM TESTING

BA / QA Signoff on Dev Box

Story Testing

Page 34: What is Agile Testing? How does Automation Help?

Story Planning Session

BUSINESS BA

Write Story & Scenarios

BA

Implement Automated Acceptance Tests

TESTER

TESTER DEV

Implement Functionality

Regular BA/QA Demo

BA / QA Signoff on Dev Box

DEV DEV

TESTER DEV BA

TESTER DEV BA

BUSINESS BA

Showcase to Business

TESTER

START DEVELOPMENT ITERATION

END DEVELOPMENT ITERATION

DEVELOPMENT ENGINE

SHOWCASE TO BUSINESS

TESTER

STARTS HERE

SYSTEM TESTING

Story Testing

Page 35: What is Agile Testing? How does Automation Help?

The 3 Lives of A QA in Agile

Page 36: What is Agile Testing? How does Automation Help?

THE 3 LIVES OF A QA IN AGILE

Page 37: What is Agile Testing? How does Automation Help?

THE 3 LIVES OF A QA IN AGILE – THE PAST

§  RETROSPECTIVE

§  SUPPORT PRIOR ITERATION

Page 38: What is Agile Testing? How does Automation Help?

THE 3 LIVES OF A QA IN AGILE – THE PRESENT

§  ITERATION PLANNING MEETING

§  STORY TESTING §  MANUAL

§  EXPLORATORY

§  NFRs

§  …

§  AUTOMATION §  IMPLEMENTATION

§  MAINTENANCE

§  EXECUTION

§  SHOWCASE

Page 39: What is Agile Testing? How does Automation Help?

THE 3 LIVES OF A QA IN AGILE – THE FUTURE

§  BACKLOG GROOMING

§  PRIORITIZATION

§  STORY ANALYSIS

§  TEST STRATEGY §  EVOLVE

§  PLAN

Page 40: What is Agile Testing? How does Automation Help?

QA Capabilities & Skills

Page 41: What is Agile Testing? How does Automation Help?

Are We Building the Correct Product

& ….

If so, are we building it correctly?

Page 42: What is Agile Testing? How does Automation Help?

QA CAPABILITIES

Continuous Delivery

Coaching Enabling

Sales

Bridging The Communication Gap

Tech Debt

Trainings

Writing Blogs

Raising Risks

Prioritization

Facilitation

Stakeholder Management

Speaking At QA Conferences

Page 43: What is Agile Testing? How does Automation Help?

QA SKILLS

Domain

Functional Analysis & Testing

Process Improvements

Automation

Testing Mindset

Accessibility Testing

Showcases

UAT

Defect Management

Security Testing

Performance Testing

Usability Testing

Facilitation

Page 44: What is Agile Testing? How does Automation Help?

Practices, Tips & Tricks

QA

Page 45: What is Agile Testing? How does Automation Help?

Test Automation

A PRACTICE THAT MAKES TEAMS SUCCESSFUL?

Page 46: What is Agile Testing? How does Automation Help?

Test Automation

A PRACTICE THAT MAKES TEAMS UNSUCCESSFUL?

Page 47: What is Agile Testing? How does Automation Help?

What is Test Automation?

Page 48: What is Agile Testing? How does Automation Help?

Automation -

A Safety Net

Page 49: What is Agile Testing? How does Automation Help?

Value

IDEAL TEST AUTOMATION PYRAMID

Manual / Exploratory

Technology-facing Tests

Business-facing Tests

Cost

Time

UI

Web Service

View

JavaScript

Integration

Unit

Page 50: What is Agile Testing? How does Automation Help?

REALITY

Page 51: What is Agile Testing? How does Automation Help?

ICE-CREAM CONE ANTI PATTERN

Manual / Exploratory

UI

Web Service

View

JavaScript

Integration

Unit

Page 52: What is Agile Testing? How does Automation Help?

Web Service

View

JavaScript

Integration

Unit

Developers Test Pyramid QA Team Test Pyramid

DUAL TEST PYRAMID ANTI-PATTERN

Manual / Exploratory

UI

Web Service

Page 53: What is Agile Testing? How does Automation Help?

CUP-CAKE ANTI-PATTERN

Page 54: What is Agile Testing? How does Automation Help?

TYPES OF TEST AUTOMATION FRAMEWORKS

Modular

Data-driven

Keyword-driven Model-based

Hybrid

? ? ?

Page 55: What is Agile Testing? How does Automation Help?

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

REMEMBER …

Page 56: What is Agile Testing? How does Automation Help?

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 57: What is Agile Testing? How does Automation Help?

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 58: What is Agile Testing? How does Automation Help?

FRAMEWORK ABSTRACTION LAYERS

Page 59: What is Agile Testing? How does Automation Help?

Evolve as you Learn

Page 60: What is Agile Testing? How does Automation Help?

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

Page 61: What is Agile Testing? How does Automation Help?

[email protected]

[email protected]

@BagmarAnand

about.me/anand.bagmar

THANK YOU