Most software/Software as a Service (SaaS) companies have adopted Agile Methodologies for their Product development and delivery processes these days. Irrespective of which Agile Methodology they use, SCRUM, Kanban, SCRUMBan, or others, the objective is to achieve faster delivery of quality products to the market.
One of the most pressing challenges most teams face when delivering SaaS products is conducting efficient and effective testing protocols. Achieving product quality without requiring multiple revisits of different development stages and suffering delays is always the desired goal.
This is where the role of the Quality Assurance Team becomes critical to the success of the product.
What does it take to make a successful Agile Tester?
As per the product testing framework used at Intelematics, the purpose of Quality Assurance (QA) is not merely to test the efficacy of a developed product but mandates the involvement of the QA Team through the various stages of product and feature development, providing consultation as a Quality Assurance subject matter expert.
This mode of operation is underpinned by our belief that “Quality is everyone’s responsibility”. Because of the fast pace of Agile Teams, testers can contribute to the success of the team if they have the following qualities:
Open communication
Testers should openly communicate any risks and issues with the delivery so the team can plan the releases accordingly. Open and effective communication drives the project in an agile environment, be it face to face, email, messenger or Jira tickets. Communication is key.
Testers should raise the risks and issues involved as and when they arise since they are present through the various stages of the product life cycle and understand the bigger picture.
Much of this can be captured by documentation of various aspects of a product feature such as acceptance criteria, design and testing documentation, unit test coverage, and asking relevant questions.
Multi-faceted
A good Agile Tester should have a comprehensive and technical-based skillset. In Agile teams, a tester’s role is no longer limited to testing but is about wearing different hats and juggling different roles. A QA expert should be aware and be able to look at the application from different aspects, i.e. Product, technical and operational, to plan their testing in the most sensible way.
The testers ensure that all aspects of quality are covered by the developers while making technical decisions by identifying any risks or issues based on customer requirements and operational implications. This can also be driven by customer feedback received for previous feature releases.
Since testers are the ones with an end-to-end understanding of the system, they can also effectively help operations with the triage of issues.
Quality coach
Developers generally tend to be technology-focused. They often get caught up in the details and can forget about the overall customer experience. However, for the product to succeed, everyone in the team should be aware of the customer’s pain-points which is where testers coach them. This is done at Intelematics by organising and participating in various sessions like Feature Kick-off, Three-Amigos and bug bash.
In Feature Kick-off and Three-Amigos sessions, testers ask relevant questions about the coverage of various quality aspects of a feature. This encourages the team to think about the different positive and negative scenarios.
During bug bash sessions, testers ask the team to explore the product and find issues. These can be functional, non-functional or user experience related. This allows the team to think from the customer’s perspective.
Automation driven
Agile Teams work within strict timelines and must ensure continuous feature delivery to the customers, and regression tests must be planned and executed efficiently. Testers should be able to identify and implement an automation framework that works best with their technology stack.
For example, at Intelematics, we have setup postman collection to perform end to end API testing. These collections are integrated into the CI/CD pipelines to ensure that regression tests are executed after each deployment. Operations can use these collections to generate test data to analyse any production issue, and developers can use it to perform regression testing for any changes they make to support feature development.
Innovative mindset
The tester should exercise some freedom and make discoveries about product features that go beyond any of the typical or already established quality-related areas.
They should be self-motivated to explore new testing techniques by reading blogs/articles or by attending social events like conferences and meetups, where they get to interact with other testing professionals and exchange knowledge.
They should keep an eye on the areas of product where it is not feasible to test and ensure quality using the normal processes. For example, for real-time data streaming, testing the integrity of data is difficult. Intelematics created data Integrity reports using BI tools to visualise potential integrity issues in live data and recorrect if necessary.
Thriving as a QA tester in an Agile environment requires you to go above and beyond your role as someone just testing the feasibility and functions of a product or its features. It requires you to be involved in the development process, be cognizant of the issues and risks, and understand the best ways to mitigate them for timely and quality delivery.
Article written by Ruchika Mittal and Shweta Singh former Intelematics employees and contributors of the Intelematics Thought Leaders Club.