After a webinar a couple weeks ago, I had a question from a listener:
Most of my experience as a QA Tester was in V-Model / Waterfall. Now I work in a project where they use Scrum. I’ve looked everywhere for testing process withing scrum methodology but testing is not mentioned at all. Are test cases necessary in scrum or not? And if yes, when and how should be written, right after the 2 weeks scrum planning meeting where the stories are defined? Also, I guess a test plan in this case has makes no sense…right? Some information specifically for TESTING processes in scrum would be really helpful.
Thank you in advance for your answer.
Some interesting questions here, Maria, thanks. First, yes, the “where’s the testing in Agile?” question is a good one. Many of the people involved in defining Agile methodologies seemed very focused on automated unit testing, and perhaps missed the fact that unit testing by itself is not enough. According to Capers Jones’ studies, even the best unit testing removes only 50% of defects, so testing needs to be added to the methodology.
Do you need a test plan? Well, certainly not in the sense of writing a new plan for each iteration. Instead, the test plan should be written during inception, and the plan should describe the way testing will occur for each iteration. Then, in each iteration, testers should participate in estimation (e.g., in planning poker sessions) based on the user stories proposed for the iteration. The accepted set of user stories make up the iteration-specific instantiation of the test plan.
Do you need test cases? Well, test cases in Agile environments mainly come in four main types: 1) automated unit tests (e.g., using J-unit); 2) automated feature verification tests (e.g., using Fitnesse); 3) automated functional/regression tests (e.g., using Selenium or QuickTestPro); and, 4) manual testing. For types 1-3, of course, there are specified automated test cases. For type 4, the test cases tend to be logical (or high-level) test cases, which requires a higher level of skill and domain knowledge in the testers. Also, a significant amount of experience-based testing, such as exploratory testing, defect taxonomy testing, etc., tends to occur.
I hope that is helpful.