Quality Assurance in an Agile Working Environment

Good cooperation between the Quality Assurance team and other project teams from the start saves everyone’s time later and significantly lowers the risks of a bad release. Not only must the QA people be able to understand the project’s requirements and ensure that the project is meeting those requirements, but they also need to be able to work with the development team to ensure that the code is of high quality and meets the project’s standards.
 This means that they need to be involved early in the planning process, be able to adapt to changes quickly, and be able to provide feedback at every stage of the project.

This means collaborating with

DevOps engineers

Frontend Team

Backend Team,

Project Managers and the Stakeholders.

DevOps – QA collaboration

With the project up and running, DevOps makes sure versions are up-to-date, provides access, runs deployments and various builds, and pipelines work with the intent to deliver the product with everything in order. The Quality Assurance team members often converse about different versions used for testing on various platforms and, if the project is a micro-service infrastructure, whether all dependencies are satisfied to push a version to a different environment.

Another important part to consider is whether the project is being developed with the CI (Continuous Integration) system based on different tools and frameworks. Nowadays, it’s possible to implement CI on a lot of different platforms, so the QA team members work closely with the DevOps team to make sure everything is configured correctly and the triggers for starting automation tasks are set at the appropriate times. Also, they define when should certain test sets run and in which environment. DevOps can often export logs and security metrics that can help the QA team debug more easily or track down defects.

Frontend – QA collaboration

Since the UI/UX is a huge part of any web or mobile app, the frontend and design team make sure it’s done right, and the QA team makes sure it’s delivered without any flaws. In order to make that happen, the QA team consults with the FE team about the technologies used in front-end development and, based on previous experience, can predict certain flaws in the frameworks or in certain feature development processes. To automate tests seamlessly, the frontend team provides certain unique IDs or other custom locators for the QA team to use on the web and on mobile apps. Using certain tools and performance tests, the QA team can consult about performance issues and/or security issues. The QA team can create visual tests for the frontend team as well.

Backend – QA collaboration

The QA team interacts with the BE team in various ways. In testing, QA members detect bugs in BE validations on services and routes. Also, the BE team can implement additional logging for use by the QA team and themselves if needed. The QA team consults with the BE team on a good source of documentation for the BE model that the QA team can use in order to create automated API tests and database load tests, as well as various performance tests. During a debugging process, the QA and BE team very often work closely together to track and sniff out bugs and defects. The BE team usually provides example data used for testing in order to help the QA team manually test out features more easily, thus enabling the QA team to iterate on that data and search for flaws.

Interactions with the Project Management team

Since both the Quality Assurance team and the Project Management must have a very good overview of the health of the whole project, working together to create good acceptance criteria for tasks can sometimes help. Discussing certain priorities and severity of issues can help prioritize better and fix important issues faster. If needed, PMs can discuss setting up good ticket templates and dashboards for better and easier tracking of tasks and issues and test coverage. The QA team can also work with the PM team to help them set up a good demo environment with all the proper test data needed to create a seamless presentation. Last but not least, PMs need to be sure whether a release is good to go or not, and the talk with the QA is vital in a lot of cases.

Note that all of these topics are not hard-locked and are based on project needs and so are highly adjustable. That’s part of an agile working environment, after all.

Written by Nikola Kojčić, Senior QA Engineer