Agile TestingElhanan Rosental – Matrix Global Agile Leader
Some Agile myths• Agile is perfect for Israelis • No Documentation • Do Whatever feels good • Code to the last moment • Compressed schedule Is that right?
Wrong!!!• Agile is not sloppy coding but a very disciplined• That means that some teams are not agile but just sloppy• Being Israeli doesn’t mean you are Agile
Potential Shippable Product• Every iteration is a shippable product• Every iteration Must be tested• “Done” is not done without testing
Tester Lifecycle in a sprint• Sprint Planning• Beginning of the sprint• During the sprint• Toward the sprint end• Retrospective
Sprint Planning• The Tester is full part of the team• He estimates the developers tasks as well• His insight is very valuable as he think “out of the box”
Beginning of the sprint• The tester and developer sits together to make sure that they understand the user story the same way• In any disagreements the PO will be asked to make sure that everything is clear• Developer start develop, Tester starts design the test.
Is there a need for STD?• Agile encourage just enough documents• There is no need to spend time of formal STD• The test should be designed with the correct clarity
During the sprint• Testing is done all the time!!• We are not waiting to the development finish• Every time there is something done the tester should test it and give insight.
Testing is not a phase!http://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf
Toward the sprint end• Toward the sprint end the developer should finish the task• The tester should run final overall test• The developer should concentrate on bug fix and closing the task
Should the tester open bugs?• Understand the bugs idea • Bugs are not Product• In what cases should a bug opened• When should a bug opened
Retrospective• Tester is part of the team• Retrospective should refer to the points: • Cooperation in the team • Did the tester get the task with enough time to test? • Cooperation with the other stakeholders
Bug Handling• Don’t let the bug number grow. Handle them while the number is small• Are there bugs that we shouldn’t treat?• Can sprint requirements be considered “done” with bug hanging around?
System tests• Is there a need for an independent system test QA team?
Reasons for a system QA team• Testing for overall flows that were created over the sprints• Acceptance before version release• In case of a outsource team important for the customer confidence
Some thoughts• Every Sprint we should deliver Potential shippable product• Shippable product mean that all the system is tested for regression• After some sprints it is impossible to be done manually
The solution: Automation Testing• Automation testing can save a lot of repeatable testing• We should aim toward as much automation as possible• Automation needs a maintenance