On a quest to understand how Agile projects are successful, I encountered several interesting scenarios and insight into how the overall project is executed. But to my dismay, I almost always find that the information on Agile Testing itself, is quite generic (not talking Automation or Unit testing here). WHY SO?
It makes me wonder, especially as testing has been agreed upon to be one of the most important quality check point phases. But over the past few experiences I have had with agile projects, I have understood the complexity of testing with agility. Nevertheless, my heart goes out to all those practitioners of Agile. As I now discover the challenges testing has to offer, in the REAL World. Based on my experience, some of the Agile Testing Concepts have been put together here.
They have been listed in bullets on purpose, to emphasize the concise documentation standards that have been encouraged by Agilists.
NOTE: Have fun in the Agile World, fellow testers!
- "Standup Meeting" - details: Time, location, integration with offshore teams, content. Be precise and stick to it (very important)!
- "Working Hours" - In addition to company ethics/rules, define project specific timings. Some people leave early no matter what. Adjust to Time zones.
- "Doneness" - When is the iteration done? - Dev complete, Test complete, reach "x"% P1/2/3 issues remaining (we all know ' 0 Defect ' is way Overrated)
- "Metrics" - Team velocity, Automation ROI (important info to present to customers)
- Create User Stories from requirements
- Identify all the risks - their impact and likelihood with the help of all the team members
- Map all the risk scenarios to requirements/user stories. Prioritize them
- Create Test plan - simple excel sheet or in QC.
(Optional - but may help estimation)
- Can add additional columns
- Can group test cases based on categories for validation:
||Negative Test Cases|
- Create folders for every iteration test pass in QC. Use the test cases in the above to execute.
- Create additional folder for exploratory testing that is done by the entire
- Team (important to include stakeholders)
EFFORT & SCHEDULE ESTIMATION
- Within the list identified above(prioritized based on risk and iteration), further prioritize based on the time required to test
- Factors: Steps, history, setup, new technology, more than "x"(agreed upon criteria for acceptable number of failures) blocking the test case, resources
- Estimate velocity(formula agreed upon previously) of every team member :- For Ex:
- Estimated number of iterations required to execute a full test pass: (Time required to execute the test)*(total no of test cases)/(Iteration length)
- Estimated velocity per tester(no of hrs):((Time required to execute the test) * (Iteration length))/no of testers
- Training, Tools acquired, additional resources allocated
Final Tip:Reuse, Reuse, Reuse, else don’t produce!