32
AGILE TESTING

Introduction to Agile Testing

  • Upload
    vodqa

  • View
    82

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Agile Testing

AGILE TESTING

Page 2: Introduction to Agile Testing

YOU’LL LEARN….

Traditional vs Agile approach Testing Principles Agile Practices Agile Testing Story Lifecycle

Page 3: Introduction to Agile Testing

TRADITIONAL VS AGILE

Page 4: Introduction to Agile Testing

TRADITIONAL…..

Analysis

Design

Code

Test

Deploy

Page 5: Introduction to Agile Testing

CONS

Changing requirements No place for customer feedback Software taking long time to market Projects not delivered High cost to fix things

Page 6: Introduction to Agile Testing

AGILE….

Analysis

Design

Code

Test

Deploy

Each slice is working product piece

Page 7: Introduction to Agile Testing

LET’S BE AGILE….

Page 8: Introduction to Agile Testing

QUALITY

“Quality is a perceptual, conditional and somewhat subjective attribute and may be understood differently by different people.”

Page 9: Introduction to Agile Testing

AGILE MANIFESTO

“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

• Individuals and interactions over processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation• Responding to change over following a plan.That is, while there is value in the items on the right, we value the

items on the left more.”

Page 10: Introduction to Agile Testing

TRADITIONAL VS AGILE

© ThoughtWorks 2015

$

Code

Requirements GatheringProject Plan/Estimation

Use Cases / Functional Specs

Design Specifications

Test

Fix / Integrate

Level StoriesVision & High

Release 1

Release 2

Release 3

Release 4

$

$

$

$

End-User Feedback:• Validates business benefits• Makes execution more successful• Reduces “false features”• Drives high IT value

Project Estimates:• Agile gives more accurate estimates earlier in the project• Progress measured by tested software

Architecture:• Agile proves out architecture sooner – significant reduction of technical risk

Risk:• Virtually eliminates late surprises

Development Productivity:• Agile teams work with their tools for longer and become more proficient• Seasoned Agile teams produce software very rapidly

Software in production:• Agile approach reduces time to market• Business decides when to go live• Reduces risk of failure due to early exit/reduction of project scopeAgile

Development

TraditionalDevelopment

10

Page 11: Introduction to Agile Testing

AGILE PRACTICES

Unit Testing

Pairing

Iterative Development

Daily Stand Ups

Automated Functional testing

Continous Integration

Page 12: Introduction to Agile Testing

TESTING PRINCIPLES

Page 13: Introduction to Agile Testing

#1 BUILD QUALITY WITHIN

“You can not inspect quality into the product; it is already there.”– W. Edwards Deming

Preventing Defects

Finding Defects Preventing Defects

Finding Defects

Page 14: Introduction to Agile Testing

#2 FAST FEEDBACK

Get feedback to the people who need it as soon as possible.

Work with up to date information and make informed decisions.

Regression suites should be run in hours not weeks.

Page 15: Introduction to Agile Testing

#3 TESTS ARE ASSETS

Reuse tests across projects, don’t create new tests all of the time.

Better understanding of test coverage.

Treat the test cases and the application code as the product – don’t separate them.

CodeProduct+

Test

Page 16: Introduction to Agile Testing

#4 FASTER DELIVERY TO PRODUCTION

Do not have months of testing after development is complete.

Return on investment early – start earning revenue as soon as you can.

Testers should stop focusing on preventing a product going live and instead focus on how to get it live.

Page 17: Introduction to Agile Testing

#5 OPTIMIZE BUSINESS VALUE

Testing is not just insurance.

Target testing to features that are changing not a scatter gun test everything approach.

Help drive new features and functionality.

Allow business to try new ideas in a safe environment providing quick feedback

Page 18: Introduction to Agile Testing

AGILE TESTING

Page 19: Introduction to Agile Testing

SHIFT IN ROLE

• Traditional Tester Role

– Separate team

– Testing happens at the end of development

– Testers work in isolation

– Testers act as gatekeepers

– No or little contact with business

– Automation created after development

• Agile Tester Role– Part of one disciplined team

– Testing happens throughout development

– Testers drive quality discussions and highlight risks

– Automation is created alongside with development

– Direct contact with business

– Testers act as advocate of quality

Page 20: Introduction to Agile Testing

QA ROLE

QA

CUSTOMERBetter domain understandingBetter acceptance testsBetter end-to-end tests

DEV BABetter Test Automation codeBetter Unit Tests

Better domain understandingBetter acceptance tests

Page 21: Introduction to Agile Testing

TESTERS RESPONSIBLE FOR QUALITY….?

Tech Lead

Business Analyst

Iteration Manager

Quality Analyst

UI Designer

Architect

Business SME

Software Engineer

TEAM

Page 22: Introduction to Agile Testing

ITERATIONS (RELEASE LIFE-CYCLE)

Page 23: Introduction to Agile Testing

QA ACTIVITIES

n+1

n-1

n

Pair with Dev to automate iteration n stories

Exploratory test the current stories

Pair with BA to analyze iteration n+1 stories and write Acceptance tests

Page 24: Introduction to Agile Testing

STORY LIFECYCLE

Page 25: Introduction to Agile Testing

STORY ANALYSIS

Ask questions/clarifications

Team gets involved identifying various tasks w.r.t story

Estimations in terms of points

Tech approaches/Functional expectations

Defining acceptance criteria

Page 26: Introduction to Agile Testing

STORY PLANNING (KICK-OFF)

BA/QA/Dev discuss/ the acceptance criteria

Identifying scope changes

Test scenario’s identification

Identify Unit/Integration tests for the story

Page 27: Introduction to Agile Testing

DEVELOPMENT

Define Unit/Integration tests i.e. strictly TDD

Code development

Pair rotation (i.e Pragmatic pairing)

Writing tests and executing them to ensure coverage

Page 28: Introduction to Agile Testing

BA/QA SIGN OFF (DEV BOX)

QA/BA performs sanity on the acceptance criteria

Quick Feedback on the story

Validating Unit/Integration tests passes with coverage

Merging the code to master branch

Page 29: Introduction to Agile Testing

EXPLORATORY TESTING (STORY TESTING)

System/Integration testing

Validating test scenarios while performing exploratory testing

Writing Automated tests, based on Test Pyramid

Raise/Track/Close story defects

Page 30: Introduction to Agile Testing

STORY SHOWCASE

Prepare for UAT env

Story showcase to customer

Client Feedback

Page 31: Introduction to Agile Testing

Q&A

Page 32: Introduction to Agile Testing

THANK YOUDharmender Srivastav

LinkedIn: https://in.linkedin.com/in/dharmendersrivastav