• info@helpingtesters.com
  • helpingtesters

How to become a good Agile Tester?

March 18, 2017
agile testing, agile tester, agile testing process, agile testing methodology, testing in agile

In our previous articles, we have talked about different QA practices and how it impacts a project’s delivery. We are also aware that testers enhance the quality of the deliverables of the project and also prevents trickling of bugs. But is merely performing the QA practices enough? Are testers responsible for anything other than preserving the desirability of a feature?

Advancement in software development has significantly reduced the time to ship a product from development to production. Thus significantly reducing the release cycle. Such progress in software development has influenced the QA community as well and inspired every team members to adopt agile methodology. In this post, we would discuss the capabilities of an agile tester and how their practices improve the quality and efficiency of testing.

What sets an agile tester from QA?

There are software development methodologies prevalent in different projects. While some projects adopt a straight forward waterfall model approach for software delivery, others use incremental development and provide delivery in stages. Agile in one such approach for incremental delivery. But how can an approach for delivering a finished product to the customer differentiate a tester’s profile?

  • For a non-agile project, a tester is what a tester does. He tests software products. That’s what is expected of him and that’s exactly what he does. Nothing more, nothing less. His roles and responsibilities are rigid and bound by the deliverables.
  • While for Agile testers, the testing approach is completely different. In an Agile project, a tester is not restricted to testing the application being developed, but also participate in different software development activities, like requirement gathering, design discussion and technical challenges for implementing new features.
  • In Agile projects, even developers pair with testers to test the application before deploying it on the QA server to ensure a rock-solid build. Agile testers on the other hand continuously collaborate with other team members and manage their testing deliverables on their own.
  • Agile testers try to gain feedback at an early stage in order to minimize bug slippage. They take ownership of the project and take responsibilities of any challenge or hurdle they face during development or sprint release.
  • Even though Agile testers get less time to test the application due to short releases, they take quick actions and strategically prioritize items to deliver a robust product.

 

In short, agile testers quickly adapt to the processes prevailing in the project and work in close coupling with developers, business analysts, and client.

Practices of an Agile tester
Testing in an Agile project can be a difficult task. To adhere to short release cycles and cater to frequent change requests by the client, Agile testers have to abide by some basic practices. They are:

Test automation – Agile testers must choose their automation tool wisely so that they can make the best out of the automation script to test different test scenarios.

  • They should analyze the product and target the areas that are most prone to error in case of any change in requirements. Based on this analysis, they should prioritize the creation of automated test cases.
  • They also create different automated test suites that serve as an alternative for different types of testing. Some of the most beneficial suits are automated smoke suite, regression suite, and end-to-end flow suite.
  • These tests should be executed regularly which would elevate ad-hoc manual testing of some features and help reduce manual testing efforts.
  • Such test automation can be used not only to test the Presentation layer of the application but also the Business(API testing) and Database layer.

 

Providing continuous feedbackContinuous testing is another way of increasing the efficiency of Agile testers.

  • The existing automation test suites can be scheduled on a regular basis using one or the other CI (continuous integration) tools like Jenkins or Hudson. Such automated test scheduling provides continuous feedback regarding the current status of the build and also helps in early detection of any existing anomaly in the application.
  • Reports can be exported after every round of scheduled testing and analyzed by a tester to detect which feature failed. Thus building new features and fixing existing bugs can go hand in hand.
  • Apart from continuous testing, another way of achieving continuous feedback of the application is by performing pair testing, where a developer and a tester can pair together and try to rigorously test a feature and detect any defect at the earliest.
  • Other than the above-mentioned approaches, unit testing and code reviewing are some of the best ways of ensuring a clean build and prevent the cultivation of any bugs.

 

Sticking to the Agile Methodologies – Agile testers must be well versed in Agile methodologies. They must understand the importance of short iterative development cycles and work in unison with the whole team to develop the application.

  • Agile testers must be prepared for any change requests that come their way and prioritize items to deliver the best version of the product in each release.
  • Testers should contribute to client discussions and requirement grooming to effectively utilize the available time.

 

Thorough domain knowledge – Finding vulnerabilities in the application within a short span of time is what is expected of any Agile tester.

  • The only way of achieving such a feat is not by rigorous testing or relying on Automation, but my having thorough domain knowledge.
  • Possessing quality domain knowledge not only improves the understanding of any feature but also help in identifying of any loopholes early in the development stage.¬†
  • In-depth domain knowledge improves the quality of test cases and adds value to the complete testing process.

 

Embracing new skills from time to time – As mentioned earlier, an Agile tester’s role is not restricted to testing, and they have to collaborate with other team members constantly to improve the state of the project.

  • If the project demands adoption of any new testing discipline, they have to proactively learn and implement the same. This also includes giving demos to other team members and bring them up to speed.
  • The same applies for any new testing process that is required for the project.
  • Agile testers must have a positive attitude towards learning and never shy away from challenges or learning curve.

 

Adding value to the project – Adding value to the project is easier said than done. Apart from being proactive, a tester has to carefully analyze the ongoing processes in the project and try to find out the areas of improvement in the project.

  • To add value, testers can use their technical expertise to solve hard problems and streamline project delivery.
  • Some of the common value additions to an Agile project are setting up continuous delivery, adopting new deployment techniques to make deployments efficient and by improving defect tracking.

 

Summary

  • Agile testers focus on the needs and requirements of their clients and are flexible enough to cope up with frequent change requests and short delivery cycles.
  • They are passionate about their project and participate proactively in identifying and solving any hurdles in the deliverables.
  • They work in close coupling with other team members and try to get early feedback to increase efficiency in the team.

Arindam Bandyopadhyay is an automation tester with over 5 years of experience in software testing. While during the day he juggles between Eclipse and spreadsheets, at night he lets his fingers do the talking as he writes about anything and everything his paradoxical mind desires.

About the author

arindam bandyopadhyay author

Arindam Bandyopadhyay is an automation tester with over 5 years of experience in software testing. While during the day he juggles between Eclipse and spreadsheets, at night he lets his fingers do the talking as he writes about anything and everything his paradoxical mind desires.

Leave a Reply

Your email address will not be published.