Agile Testing Strategy

Formulating a Test strategy
for an Agile software project


            By Tharinda Liyanage
Agenda
•   About QA
•   Some terminology
•   Traditional test practices
•   Formulating a test strategy for the project
•   Iteration metrics
Word on QA…
• It is a set of activities intended to ensure that products satisfy
  customer requirements in a systematic, reliable fashion.

• In SCRUM (agile) QA is the responsibility of everyone in
  R&D, not only the Test team. QA is all the activities we do to
  ensure correct quality during development of new products.
Testing terminology
– Unit testing
    • Automatic test on code level run every night or after new code is added – to verify no bugs
      introduced
– Integration testing
    • Testing interactions between different modules of the system
– Feature testing
    •   Performed by a QA when a feature is finished implemented

– System testing
    • To verify whether the system as a whole meets the specified requirements
– ExploratoryTesting
    • Exploratory testing is simultaneous learning, test design, and test execution.
– Regression Testing
    • Test to detect side effects from changes to the system, i.e after bug fix
– Retesting
    • Verification of bug fix
– Compatibility testing
    •   Verification of compatibility between AMX applications and the different OS, office applications, browsers and
        databases etc that we support
How Traditional Test Practices Evolved
How Traditional Test Practices Evolved
Agile testing
•   We test in iterations
•   Test early
•   Testers take more integrated, team oriented approach than previous
Test Strategy-outlined

• Test strategy in agile development
  Release        Each Sprint     Hardening
                                                Release QA
 planning        (Sprint QA         Sprint
                                                 activities
(test plan)       activities)   (system test)
Test Strategy in agile
•   We start our QA activities at Release planning stage


• Release planning
     – Create test plans
           •   High level test planning
           •   budgeting enough time

     – Participate in story sizing

     – Typical Test plan will include
           •   Scope of testing
           •   New functionalities which are being tested
           •   Types/ level of testing based on the complexity of the features being tested
           •   Performance and load testing
           •   Infrastructure consideration (Test environment/software)
           •   Risks/ mitigation plans
           •   Resourcing
           •   Milestones and deliverables
Test Strategy in agile…
• Each Sprint
  – Participate in sprint planning
  – Estimate tasks(QA input)
  – Write test cases using stories(QA)
       •   High level test cases before coding begins- guide dev
       •   Detailed test cases written during coding
  – Unit/ Integration tests(Dev)
       •   Automatic test on code level run every night or after new code is added. Bugs found are fixed immediately

  – Pair tests(Dev + QA)
       •   Performed when a part of a feature is finished implemented. Bugs found are fixed immediately

  – Feature tests(QA)
       •   Performed when a feature is finished implemented. Errors found are logged in main project in bug system and
           prioritized during next sprint planning. After all prioritized bugs are fixed, the feature is ready for System Test at
           the end of the project

  – Reviews (stories, req, test cases with customer, programmer)
       • Increase collaboration and communications
Test Strategy in agile…
• Each Sprint contd…
  – Test automation
       • Automate new functional test cases
       • Run automated regression tests


  – Perform non functional testing (load, security, usability etc)
  – Demo to the stakeholders
Test Strategy in agile…
• Hardening sprint
   – A hardening sprint can be used for bug fixes in previous sprints. Bugs that are prioritized
     will be considered here

   – The end game(System test)

        Every member in the team is involved in this.

        •   Mock deploy on staging
        •   Smoke test on staging
        •   Perform non functional testing (load, security, usability etc)
        •   Complete regression test
        •   Perform UAT tests
        •   Other tests
               – Compatibility(DB upgrade etc)
               – Installation
               – Localization etc
Test Strategy in agile…
• Release
  – Define Exit criteria
      • Testing activities (bug severity, open bugs, coverage levels, metrics etc)
      • Product Artifacts (user guide, installation guides, other necessary
        documentation are in place)

  – Participate in retrospectives
      • Start
      • Stop
      • Continue
Iteration metrics
To enhance predictability…
– Measuring progress
    • Burn down charts
    • Estimated vs. Actual time for tasks

– Defect metrics
   • Root cause analysis
   • Results from defect tracking system

– Traceability metrics
    • Test coverage (story vs. test cases)
    • Code coverage
1 von 14

Más contenido relacionado

Was ist angesagt?(20)

Agile QA and Testing processAgile QA and Testing process
Agile QA and Testing process
Gloria Stoilova1K views
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
Raymond Adrian (Rad) Butalid373 views
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
sriks722.6K views
Agile Testing ProcessAgile Testing Process
Agile Testing Process
Intetics57.7K views
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
Mikalai Alimenkou43.1K views
Software Testing 101Software Testing 101
Software Testing 101
QA Hannah4.7K views
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? Edureka
Edureka!893 views
Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
1Solutions Pvt. Ltd.8.3K views
Testing fundamentalsTesting fundamentals
Testing fundamentals
Raviteja Chowdary Adusumalli1.6K views
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
Subrahmaniam S.R.V3.2K views
Best Practices for Test Case WritingBest Practices for Test Case Writing
Best Practices for Test Case Writing
Sarah Goldberg2K views
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT17.5K views
Agile testingAgile testing
Agile testing
Yogita patil1.4K views
The shift left strategy The shift left strategy
The shift left strategy
Clearsky testautomation178 views
Testing & Quality AssuranceTesting & Quality Assurance
Testing & Quality Assurance
Anand Subramaniam31.3K views
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
Naveen Kumar Singh1.2K views

Similar a Agile Testing Strategy(20)

Último(20)

ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web Developers
Maximiliano Firtman161 views
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdf
Eleanor McHugh36 views
Green Leaf Consulting: Capabilities DeckGreen Leaf Consulting: Capabilities Deck
Green Leaf Consulting: Capabilities Deck
GreenLeafConsulting177 views
ThroughputThroughput
Throughput
Moisés Armani Ramírez31 views
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)
CSUC - Consorci de Serveis Universitaris de Catalunya59 views
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet49 views

Agile Testing Strategy

  • 1. Formulating a Test strategy for an Agile software project By Tharinda Liyanage
  • 2. Agenda • About QA • Some terminology • Traditional test practices • Formulating a test strategy for the project • Iteration metrics
  • 3. Word on QA… • It is a set of activities intended to ensure that products satisfy customer requirements in a systematic, reliable fashion. • In SCRUM (agile) QA is the responsibility of everyone in R&D, not only the Test team. QA is all the activities we do to ensure correct quality during development of new products.
  • 4. Testing terminology – Unit testing • Automatic test on code level run every night or after new code is added – to verify no bugs introduced – Integration testing • Testing interactions between different modules of the system – Feature testing • Performed by a QA when a feature is finished implemented – System testing • To verify whether the system as a whole meets the specified requirements – ExploratoryTesting • Exploratory testing is simultaneous learning, test design, and test execution. – Regression Testing • Test to detect side effects from changes to the system, i.e after bug fix – Retesting • Verification of bug fix – Compatibility testing • Verification of compatibility between AMX applications and the different OS, office applications, browsers and databases etc that we support
  • 5. How Traditional Test Practices Evolved
  • 6. How Traditional Test Practices Evolved
  • 7. Agile testing • We test in iterations • Test early • Testers take more integrated, team oriented approach than previous
  • 8. Test Strategy-outlined • Test strategy in agile development Release Each Sprint Hardening Release QA planning (Sprint QA Sprint activities (test plan) activities) (system test)
  • 9. Test Strategy in agile • We start our QA activities at Release planning stage • Release planning – Create test plans • High level test planning • budgeting enough time – Participate in story sizing – Typical Test plan will include • Scope of testing • New functionalities which are being tested • Types/ level of testing based on the complexity of the features being tested • Performance and load testing • Infrastructure consideration (Test environment/software) • Risks/ mitigation plans • Resourcing • Milestones and deliverables
  • 10. Test Strategy in agile… • Each Sprint – Participate in sprint planning – Estimate tasks(QA input) – Write test cases using stories(QA) • High level test cases before coding begins- guide dev • Detailed test cases written during coding – Unit/ Integration tests(Dev) • Automatic test on code level run every night or after new code is added. Bugs found are fixed immediately – Pair tests(Dev + QA) • Performed when a part of a feature is finished implemented. Bugs found are fixed immediately – Feature tests(QA) • Performed when a feature is finished implemented. Errors found are logged in main project in bug system and prioritized during next sprint planning. After all prioritized bugs are fixed, the feature is ready for System Test at the end of the project – Reviews (stories, req, test cases with customer, programmer) • Increase collaboration and communications
  • 11. Test Strategy in agile… • Each Sprint contd… – Test automation • Automate new functional test cases • Run automated regression tests – Perform non functional testing (load, security, usability etc) – Demo to the stakeholders
  • 12. Test Strategy in agile… • Hardening sprint – A hardening sprint can be used for bug fixes in previous sprints. Bugs that are prioritized will be considered here – The end game(System test) Every member in the team is involved in this. • Mock deploy on staging • Smoke test on staging • Perform non functional testing (load, security, usability etc) • Complete regression test • Perform UAT tests • Other tests – Compatibility(DB upgrade etc) – Installation – Localization etc
  • 13. Test Strategy in agile… • Release – Define Exit criteria • Testing activities (bug severity, open bugs, coverage levels, metrics etc) • Product Artifacts (user guide, installation guides, other necessary documentation are in place) – Participate in retrospectives • Start • Stop • Continue
  • 14. Iteration metrics To enhance predictability… – Measuring progress • Burn down charts • Estimated vs. Actual time for tasks – Defect metrics • Root cause analysis • Results from defect tracking system – Traceability metrics • Test coverage (story vs. test cases) • Code coverage

Hinweis der Redaktion

  1. Test strategy document can be used to give new employees a high level understanding of how your test processes work.Keeping the agile nature in mind, we have identified areas that we can incorporate QA activities.
  2. Test plan- helps to identify possible issues and dependencies, to bring risks to be talked about and to be addressed and to think about the big picture.Story sizing- sometimes testing wasn’t include in estimates of story size. Sometimes testing a piece of functionality will take longer than coding it. To identify ripple effect and to uncover hidden stories with in a story.
  3. To achieve Definition of done. We have to make sure that each story is tested. Peer reviewed. Review stories from the customer and tester perspective with programmer. Look for mismatches
  4. Test automation - need to reduce repetitive work of the tester so that more time can be spent doing exploratory testing. - need to identify repetitive tasks - identify tools, - skills
  5. Measuring progress- you need an idea how much work is left and whether some stories cannot be completed on time. Go for different plans as needed.Defect metrics- track what type of bugs are popping up and their root cause. Whether they could have been captured in unit test level so that training on writing unit tests. Misunderstood requirements, not enough time for iteration planning or UAT test cases are not detailed enough.