How to Implement AgileQA

download How to Implement AgileQA

of 26

Transcript of How to Implement AgileQA

  • 7/30/2019 How to Implement AgileQA

    1/26

    A Practical Guide to implementing Agile

    QA process on Scrum Projects

    Agile QA

    Syed Rayhan

    Co-founder, Code71, Inc.Contact:[email protected]

    Blog:http://blog.syedrayhan.com

    Company:http://www.code71.com

    Product:http://www.scrumpad.com

  • 7/30/2019 How to Implement AgileQA

    2/26

    2www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    My Background

    Expertise

    Career

    Iterative incremental development

    Technology planning and architecture

    On-shore/Off-shore software development usingAgile/Scrum

    Interests

    Co-founder, Code71, Inc.

    13+ years of total experience

    Co-author of Enterprise Java with UML

    Cultural aspect of self-organizing team

    Scrum for projects delivered remotely

    Agile engineering practices

  • 7/30/2019 How to Implement AgileQA

    3/26

    3www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Agenda

    Recap

    Individual Practices

    Section 2

    Section 4

    Section 3

    A Case Study

    Holistic View of QA

    Section 5

    IntroductionSection 1

    Q&ASection 6

  • 7/30/2019 How to Implement AgileQA

    4/26

    4www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    What to Expect

    Focus

    Context

    Build common base of understanding

    Develop a set of gudielines- process, roles, and team composition

    Address typical questions asked

    Key

    Takeaways

    How to perform QA on an Agile/Scrum project

    Agile/QA best practices

    Teams and organizations are adopting Agile/Scrum

    Teams struggle with making the transition from waterfall to

    Agile/Scrum

  • 7/30/2019 How to Implement AgileQA

    5/26

    5www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Agenda

    Recap

    Individual Practices

    Section 2

    Section 4

    Section 3

    A Case Study

    Holistic View of QA

    Section 5

    IntroductionSection 1

    Q&ASection 6

  • 7/30/2019 How to Implement AgileQA

    6/26

    6www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    The challenges?

    Is QA part of the development team?

    Can we fit QA in the same iteration as development?

    How can we scale Agile QA?

    Who does QA?

    Does QA costs more in Agile as product seems to change from

    sprint to sprint?

    Do we need test plan?

    Are story acceptance tests enough?

    When do we know testing is done?

    Who defines test cases?

    Do we need to track bugs?

  • 7/30/2019 How to Implement AgileQA

    7/267www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    What is QA (Quality Assurance)?

    To ensure Software is working right

    How?

    Test, Test, Test

  • 7/30/2019 How to Implement AgileQA

    8/268www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Types of Testing?

    Unit Testing

    Integration Testing

    Functional Testing

    System Testing

    Regression Testing

    Acceptance Testing

    Load Testing

    Smoke Testing

    Black

    Box

    White

    Box

  • 7/30/2019 How to Implement AgileQA

    9/269www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Who Performs What?

    Unit Testing

    Integration Testing

    System Testing

    Regression Testing

    Acceptance Testing

    Load Testing

    Smoke Testing

    What? Who? When? Automation?

    Developer

    Developer

    Tester

    Developer/Tester

    Client/Users

    Tester/Support Engineer

    Performance Engineer

    Coding

    Coding

    Test

    Build/Test

    Deployment/

    Delivery

    Deployment

    Deployment

    Always

    Always

    Possible

    Possible

    Possible

    Possible

    Always

  • 7/30/2019 How to Implement AgileQA

    10/2610

    www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Right tools for right tests?

    Unit Testing

    Integration Testing

    System Testing

    Regression Testing

    Acceptance Testing

    Load Testing

    Smoke Testing

    Test Tool

    NUnit, JUnit, Mock, DBUnit

    Unit test tools, HttpUnit, SoapUI,

    RESTClient

    JMeter, Httperf

    FIT, FitNesse

    Selenium, Fit, WET, Watir, WatiN

    Unit test tools, System test tools

    Regression test tools

  • 7/30/2019 How to Implement AgileQA

    11/2611

    www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    What is missing?

    Assumptions

    1. Right Spec

    2. Right Design

    Reality?

    Measures

    Spec review

    Design review

    Spec

    Design

    Code reviewCode

    3. Right amount of Tests

    Test CoverageTest

    Assumptions are farther from truth

    4. Right Tests

  • 7/30/2019 How to Implement AgileQA

    12/2612

    www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Team Composition?

    We will primarily focus on single-team model for our discussion

    1Dev

    Test

    2 3

    1 2 3

    iterationregion

    Prod 1 2

    1Dev

    Test

    2 3

    1 2 3

    iterationregion

    Prod 1 2

    Out-of-Cycle

    In-Cycle

    2

    1

  • 7/30/2019 How to Implement AgileQA

    13/2613

    www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Team Dynamics

    Product owners

    Developers

    backlog

    Acceptance tests

    Additional tests

    Team reviewTesters

  • 7/30/2019 How to Implement AgileQA

    14/2614

    www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    QG#4QG#3QG#2

    Quality Funnel

    QG#1 QG#5

    bugs

    bugs

    Backlog

    Review

    Design

    Review

    Unit & Int.

    Test,CI

    Code

    Review

    System

    Test

  • 7/30/2019 How to Implement AgileQA

    15/26

    15www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Agenda

    Recap

    Individual Practices

    Section 2

    Section 4

    Section 3

    A Case Study

    Holistic View of QA

    Section 5

    IntroductionSection 1

    Q&ASection 6

  • 7/30/2019 How to Implement AgileQA

    16/26

    16www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Test Coverage

    Tests coverage metrics can tell you what code is not tested

    A measure of the proportion of a program

    exercised by a test suite, usually expressed asa percentage.

    Function coverage

    Path coverage

    Statement coverage

    Types of coverage

    Definition

    Measure Usually expressed as a percentage

  • 7/30/2019 How to Implement AgileQA

    17/26

    17www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Continuous Integration as the Glue

    MonitorSource Code

    Build RegressionTest

    TestCoverage

    Report

    Continuous Integration is Continuous QA

  • 7/30/2019 How to Implement AgileQA

    18/26

    18www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Test Case Prioritization

    high

    high

    low

    low

    1

    2

    Frequency of use

    Risk of having bugs

    3

    4

    hot

    warm

    normal

    cold

  • 7/30/2019 How to Implement AgileQA

    19/26

    19www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Inspect and Adapt through QA Lens

    Five whys of root cause analysis

    Prioritize bugs over stories

    Log bugs found by testers

    Quality MetricsDefect Rate Bug count per iteration

    Defect Density Bug count per moduleBug count per function point

  • 7/30/2019 How to Implement AgileQA

    20/26

    20www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    How to Scale?

    Presentation

    Business

    Data

    Service#1 Service#2 Service#3

    Application#1 Application#2

    SOA

  • 7/30/2019 How to Implement AgileQA

    21/26

    21www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Agenda

    Recap

    Individual Practices

    Section 2

    Section 4

    Section 3

    A Case Study

    Holistic View of QA

    Section 5

    IntroductionSection 1

    Q&ASection 6

  • 7/30/2019 How to Implement AgileQA

    22/26

    22www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    A Case Study

    Project

    A large enterprise system that includes technologies like

    ASP.Net, BizTalk, Workflow, Scanning, SQL Server, DataWarehouse, and Mainframe

    Team2 product owners, 1 scrum master, 1 architect, 5 developers,

    1 QA tester

    Sprint 2 weeks

    QAProcess Refinescope,

    acceptance

    test cases

    Identify UI

    elements,

    test data

    QA schedule

    Write test scripts

    test data

    Day 1, 2 Day 3, 4 Day 5-8 Day 9 Day 10

    Final

    Test

    &

    Fix

    Demo

    &

    Acceptanc

    e Test

  • 7/30/2019 How to Implement AgileQA

    23/26

    23www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Agenda

    Recap

    Individual Practices

    Section 2

    Section 4

    Section 3

    A Case Study

    Holistic View of QA

    Section 5

    IntroductionSection 1

    Q&ASection 6

  • 7/30/2019 How to Implement AgileQA

    24/26

    24www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Recap

    In-cycle QA is critical to the success of a project

    System testing is not the only quality gate, it includes all types of testing

    and reviews

    Test automation is critical to in-cycle QA

    Target at least 90% test coverage

    Continuous Integration is Continuous QA

    Prioritize test cases based on risk and frequency of usage

  • 7/30/2019 How to Implement AgileQA

    25/26

    25www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Recap contd.

    All known bugs should be fixed first

    Right size story with well-thought out acceptance tests improves quality

    Include all Quality Gates as part of definition ofDone

    Analyze each bug to understand where (Quality Gate) it should have been

    caught and improve (Inspect and adapt)

    QA is not a designated persons responsibility, it is a teams responsibility

    (self-organizing team)

  • 7/30/2019 How to Implement AgileQA

    26/26

    26www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.

    Q&A

    QA is not an act, but a habit

    Contact:[email protected]

    Blog: http://blog.syedrayhan.com

    Company:http://www.code71.com

    Product: http://www.scrumpad.com

    QA is making sure rightsoftware works right

    mailto:[email protected]:[email protected]://www.code71.com/http://www.code71.com/mailto:[email protected]:[email protected]