• +(91) 8750050183
  • info@helpingtesters.com
  • helpingtesters

Role of Testers in Agile

November 19, 2017

Compared to the traditional waterfall model of software development, the role of a software tester in an Agile model is expected to be much more than limiting themselves to testing and defect logging activities. A tester in an Agile team works closely with developers and product owner in terms of product roadmap and feature testing. Moreover, s/he also works on product improvements and quality aspects of the application. 

Let us take a glance to the various roles a tester is expected perform to do his day to day activities in an Agile environment.

Role of an Agile Tester

1. Participate in all the Scrum ceremonies

A tester must participate in all the Scrum ceremonies viz. Sprint Planning, Daily Standup meeting, Sprint Demo and Sprint Retrospective

  • Attend Sprint Planning

Participation of testers in Sprint Planning meeting is very much beneficial to them and the entire team. Their attendance ensures that testers are in sync with the developers from the beginning in terms of scope, understanding, and expectation of the user stories. This also gives an opportunity to testers to look at the functionality from the business point of view and identify defects or risks at an early stage. Participation of testers in sprint planning meeting ensures that their efforts are also considered while estimating a user story.

  • Attend Daily Standup Meeting

Involvement of testers in daily stand up meeting fosters collaborative environment within the team. Testers also experience the feeling of being involved in the team. While attending the meeting, testers also get the advantage of being up to date with sprint progress and change their planning accordingly. They can also give an idea to developers about testers’ dependency on them and accordingly deliver the piece of code for testing.

  • Attend sprint retrospective meeting.

There is always a space for improvement irrespective of how good an agile team is. Testers may get an idea about the better practices that can be adopted in the upcoming sprint(s). Testers should attend this meeting to address their own concerns if any. Also, they may listen if other team members have any concerns. Unbiased and healthy discussion in retrospective meeting ensures a higher probability of improved performance in next sprint.

  • Attend sprint demo

Many times developers are the face to the client to demonstrate the user stories worked upon in a sprint. By attending demo session, the tester would come to know immediately client’s expectations, feedback and changes if any. Moreover, testers may ask for an opportunity to demonstrate a user story wherein more testing efforts were involved. Especially, automation is an area wherein testers must be a part of sprint demo.

2. Start testing activities immediately and continue until the end of the sprint

This is important. In order to deliver high-quality software in a short amount. In an Agile environment, testers get functionality to test as soon as it is developed. Hence, rather than waiting for the entire feature to be ready for testing, the tester should test what is available currently. This will not only reduce testers’ load of the testing entire feature at the end but also will ample time test a small piece thoroughly and report the bugs if any. In turn, this will help developers to fix defect immediately in next build. Such effective and efficient way of testing will help in the timely delivery of a better quality product.

3. Document test cases and test results

This is the basic expectation from any of the testers in a team. Writing test cases ensures that a tester is covering all the possible scenarios for a given functionality to test. Also, a tester has to be ready to update the test cases in case if the requirement changes. Along with test case writing, it is also utmost important that tester also records test execution result, log defects immediately and retest the defects. Documentation at any point in time will help to look back and verify what was tested vs. what was expected vs. what was required. Also, documentation will help new team members to understand and cope up faster.

4. Collaborate with developers and stakeholders

Working in an agile environment requires a collaborative effort from the whole team. Active collaboration of testers in the team with developers, architects, product owner, etc. helps in making the product requirements clear and helping the testing team to identify the scope.

5. Understand Test Strategy and Test Planning

Though in Agile provides flexibility in terms of doing things, however, there are always test plans and test strategies documented for testing an application. It defines what type of testing is required, does it need an automation, etc. Hence, for any tester, it is required that s/he understands these documents clearly.

6. Perform automation

In an agile environment, a product is built incrementally. Hence, with the beginning of each new sprint, the scope of regression testing increases. It is immensely important to automate especially the regression suite reason being it is very difficult to meet speed and accuracy every time with an increased number of test cases to be executed in each sprint. Lots of efforts are saved if such test cases are automated.

7. Test Environment Setup

Before starting test execution, it is always advisable to check if all the required pre-requisites are satisfied. These may include but not limited to test environment set-up, test case writing, test data identification, build stability and so on. The test environment is the key factor in determining if you can start with testing. Test in agile builds are delivered frequently, it is very important that test environment is ready and tester can start testing once build is deployed.

8. Prepare and Track various Metrics

Performing testing activities is no doubt important, but at the same time, putting them in front of vide forum in a presentable format is also equally important. A majority of the stakeholders depend on the status presented in the form of metrics. These metrics give them visibility of how the progress is happening and if there is any requirement of putting a control mechanism. An agile tester is expected to be well versed in preparing such metrics and deliver as and when needed.

9. Dealing with Risk

The risk is associated closely with any software development. It can be an environmental risk, technological risk, political risk, budget, functional risk and so on. An agile tester is expected to identify any such risks associated with the project and also mitigate these risks wherever possible.

10. Communication

 Communication is one of the key principles in agile. An agile tester has to be right on his toe in communicating with other team members viz. developers, testers, scrum master, etc. to get things done, to highlight the issues, risk and so on.

 11. Cross-functional

Today’s era is not just to keep yourself limited to one technology or domain. Nowadays, everyone is looking for candidates who are multi-skilled. Responsibilities of a tester in agile are not just limited to participate in testing related activities only, but s/he is expected to be cross-trained i.e. s/he should look into the code, perform white-box testing, participate in the technical discussion.

12. Actively participate in defining Acceptance Criteria

As mentioned above, the tester is expected to participate in sprint planning activities wherein stories are defined, explained, scrubbed, etc. A tester is expected to contribute by helping in defining user stories, deciding the acceptance criteria for the stories with the team. This will help in understanding the functionality and performing testing activities in a better way.

13. Incorporate the changes if any

 The agile manifesto says about welcoming the change. An agile tester has to be ready for any kind of change coming in the sprint. S/he should identify the impact of the change and update the test artifacts accordingly. S/he should make sure that the updates that s/he is making are in line with the requirements, acceptance criteria, and definition of done criteria.

14. Coaching the team members

Whenever a new team member joins the team, s/he needs to be trained in terms of agile, testing, giving application knowledge, as applicable. In such kind of situations, an agile tester’s role is to coach the team members and bring him up to the required level as soon as possible.

15. Ensuring appropriate use of tools

During an application development, various tools are required for different purposes viz. Test Case management, Reporting, Planning, Defect Reporting and Management, Automation, and so on. A tester should ensure that s/he is religiously using these tools in the day to day activities.

16. Keep learning

Just keeping yourself limited to testing is now not enough. An agile tester should be aware of kind of changes that are happening in the industry, new and better ways of doing things efficiently, keep one’s self up to date with changes coming in the project s/he is part of. These learning will always help him in welcoming the changes, facing and resolving issues if any, and be at par with other members of the team.

Leave a Reply

Your email address will not be published.

Broaden Your Knowledge. Enroll Today.

Our tutoring services on software testing courses online offer information on a wide variety of courses, ranging from Web Security and Software Testing courses to selenium online training to Mobile Automation Testing. Whatever criterion you need help with concerning advanced technological functions and operations, we’ve got you covered. We also use real world examples and scenarios for solving examples and projects, enhancing your knowledge and broadening your horizon.