Thursday, December 12, 2013

Tester role in agile software testing

Agile software development is very popular in the current software industry. Agile places emphasis on constant communication and collaboration within the team and with the customer. Its objective is to develop increasingly functional software in a dynamic requirements landscape. Agile projects run differently from projects using Waterfall model or Iterative model. Testers working in Agile projects should be familiar with their role therein.

Tester role in agile software testing

Story review: Once the requirements are decided for the iteration, the Agile tester analyzes the stories and acceptance criteria. This review is to find out requirements that are incomplete, conflicting with other requirements, (part) duplicates or incorrect. The tester then determines if the requirements are testable. In terms of dependencies on other requirements or bug fixes, skills, test environment, software testing tools and test data. Learn with my video, How to review Software Requirements.

Design test cases and test data: The Agile tester designs these based on the acceptance tests for every story in the iteration. The tester ensures that every acceptance test is covered in the test cases. In addition, the tester generates the required test data and adds it to the test environment before the test run. If feasible, the tester may automate any task or any test case.

Run test cases: The Agile tester runs each test case. If a test case fails, the tester fails the acceptance test and logs a bug report. Once the bug is fixed and the build refreshed, the tester re-runs the failed test case and passes the acceptance test. Depending on the potential regression, the tester may need to do manual testing or automated testing. Then, the tester analyzes the test results and informs the team of the iteration quality.

Meeting: The Agile team meets daily and stays in contact throughout the day. In order to raise questions, ask help or update others of their progress.

Important points
1. The Agile team may discover new information during the iteration. This may require the tester to re-design test cases and test data and run these test cases.
2. The Agile tester is first a team member and then a tester. Therefore, he/ she may assume any responsibilities required of the project situation. These may be in addition or instead of the above responsibilities.