formulating agile testing strategy

14
Formulating a Test strategy for an Agile software project By Tharinda Liyanage

Upload: tharinda-liyanage

Post on 23-Jun-2015

645 views

Category:

Technology


2 download

DESCRIPTION

This is a presentation regarding formulating a testing strategy for an agile software development team

TRANSCRIPT

Page 1: Formulating Agile Testing Strategy

Formulating a Test strategyfor an Agile software project

By Tharinda Liyanage

Page 2: Formulating Agile Testing Strategy

Agenda

• About QA• Some terminology• Traditional test practices• Formulating a test strategy for the project• Iteration metrics

Page 3: Formulating Agile Testing Strategy

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.

Page 4: Formulating Agile Testing Strategy

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

Page 5: Formulating Agile Testing Strategy

How Traditional Test Practices Evolved

Page 6: Formulating Agile Testing Strategy

How Traditional Test Practices Evolved

Page 7: Formulating Agile Testing Strategy

Agile testing• We test in iterations• Test early• Testers take more integrated, team oriented approach than previous

Page 8: Formulating Agile Testing Strategy

Test Strategy-outlined

• Test strategy in agile development

Release planning

(test plan)

Each Sprint(Sprint QA activities)

Hardening Sprint

(system test)

Release QA activities

Page 9: Formulating Agile Testing Strategy

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

Page 10: Formulating Agile Testing Strategy

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

Page 11: Formulating Agile Testing Strategy

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

Page 12: Formulating Agile Testing Strategy

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

Page 13: Formulating Agile Testing Strategy

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

Page 14: Formulating Agile Testing Strategy

Iteration metricsTo 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