When we say agile project, the very first thing which comes to our mind is time boxed and tight deadlines. When a software tester works in an agile environment, his responsibilities includes much more things than just testing. When we consider other project methodologies like V model or Waterfall model then we observes that testers are testing, logging bugs and creating reports, there is not much involvement or communication from their side to other teams but in agile, it is completely different and there are so many areas where testers play an important role. In this article we are going to see how a tester can add value in an agile project.
Unlike traditional approached project where product is developed first and tested later, in agile, we have product development in iteration so testing is involved in every iteration. Testers can give their input in following phases of agile:
1. While planning the test strategy: Whether it is scrum or Kanban agile methodology, the tester should always take part in planning of test strategy since it is the base document before the actual testing. It can be modified or updated later according to the real time scenarios. And in agile, it could be more of a frequent thing since every iteration would have different features as the requirements can change any minute. And they keep evolving through real implementation experience.
2. Another thing which is important is automation: Whether our product needs automation testing or not and if test cases need to be automated then tester will help in defining automation test strategy as well. In agile, tester gets a limited time to understand the feature, create test scenarios and then automate them. Time management is crucial and so as the planning of automation test strategy.
You may like this book: Top 20 Best Agile Development Books
3. Test environment Setup: Setting up the right test environment is equally important as testing the product. Tester can add a lot of value by setting up the environment properly like having all the required tools and software needed for testing and creating test data in advance to save time while testing the feature etc.
4. One team approach: As I have mentioned earlier that in agile methodology, the tester has to adapt a one team approach thing, he or she has to communicate regularly to customer, business analysts and developers for overall quality of the product. Since he has to know the full functionality from top to bottom to test everything properly, he can add value by making the smooth communication that should be unambiguous.
5. Acceptance criteria: While defining acceptance criteria the tester should carefully go through the user stories narrated by the product owner. The tester should hold the frequent meeting with product owner, business analyst and the other stakeholders to develop an acceptance criteria document which has the short description about all the scenarios which are carved out from the user stories. More discussion with the product owner and stakeholders will provide the tester to write the concrete acceptance criteria which will be later taken as an input for the generation of the acceptance tests which holds the product validity and quality towards the client expectations.
6. Exploratory testing on new features: Doing exploratory testing on new features could add a lot of value to the project since it is adopting agile methodology, when you do not have the test cases to test the new feature that has a tight deadline, under such situation the exploratory testing can help to tell you that the feature is enabled and working as expected. Later, with all the exploratory scenarios you can make required test cases and add them to your test suite as a part of automation which may help in the regression testing during the later product release cycles.
7. Understanding User stories: If the user stories are quite huge then the tester along with the product owner should together understand the user stories by breaking them down into smaller tasks. Then the product owner should prioritize such tasks in the order of their implementation need at the moment. Such break down of the task will help to prepare the acceptance criteria which will cover all the possible test scenario and ever minor details about the client requirement as a test requirement summary. These acceptance criteria associated with each small task helps to generate the acceptance tests and eventually the test cases for the entire product with the breakdown and the priority driven approach of the user stories.
8. Logging bugs and get them fixed as soon as possible: As we known, in agile methodology (say scrum) the sprint is of very small duration. Therefore, the bugs found during testing of any task should be logged immediately with the proper description which includes the proper steps to recreate the issue. This information is very crucial in order to explain the issue to the developer which will help him to debug the code and fix the bug or defect respecting the deadline of the sprint for agile methodology.
9. Reports preparation: Preparing reports in case all the bugs are not fixed in a particular sprint to let client know in advance what to expect and what not to expect in that iteration.
10. Estimation of user stories: Estimating user stories from testing perspective to have a clear idea on how much time would one story take and do we need to break it down to further stories to accommodate the change in current sprint. The estimation of testing effort with each user story is very essential in order to respect the strict timelines of the sprint.
Over to you:
These were some of the areas where testers can add a lot of values and make the agile process of the project very smooth. The tester is the one who takes the responsibility that the product built is right and as per the customer expectation. Therefore, his contribution to building the product is as important as any other team member in the project team irrespective or developer, business analyst, product owner, etc.
Subscribe FREE to get latest testing updates – just providing your email address below: