Andriy Bilopoliy, Quality Assurance Engineer at Cprime Studios, talks about the place of Quality Assurance in the product development lifecycle.
There are 2 myths about Quality Assurance in software development:
- The product quality is a sole responsibility of the Quality Assurance team.
- QA team only checks if the features work correctly after the deployment.
Both of them are not true.
The whole development team is collectively responsible for the product quality. If development and testing are not done side by side, delays and inconsistencies can occur, leading to poor product quality. Development and testing should go in-parallel.
And QA has many roles at every stage of product development. Let’s do a brief overview of all of them.
Initial stage. Requirements specification and validation
One of the most important tasks the QA does is product requirements analysis. A bug discovered by the QA team at the requirements testing stage costs 5 times less than after the feature has been developed, and at least 10 times cheaper than after it was deployed.
This is why QA should never join at the stage when the feature is completed. QA has to cooperate with the developer at the planning stage. QA plans possible testing cases in order to reduce the functionality testing time in the future.
QA checks the terms of reference, analyzes business and technical requirements, and finds inconsistencies in them. This is the person who will ask the stupidest question "Why is this necessary?" and will save precious time. At the initial stage, QA and the developers' teams discuss how ideas and user stories from the backlog are going to be implemented. QA specialists define if the selected solution will be implemented the way it is designed by the stakeholders or changes should be made for a better user experience.
QA generally understands business requirements well from a user perspective, because they are often asked to use the application the way end users would. QA provides feedback to the product owner based on their testing experience. This can help the product owner to understand the application better from the end-user perspective.
Product development stage
QA specialists take part in every stage of the product life cycle. They check the functionality for compliance with technical and business requirements from the beginning of the product development and up to the support phase. They ensure that the product solves specific business problems in the best way possible.
The goal of Quality Assurance is to improve the development and testing process and, therefore, to prevent bugs. The approach to Quality Assurance includes setting up a proper quality management system, assessing its feasibility, and reviewing all involved operations.
Quality Assurance engineer analyzes product needs and selects tools for manual and automated testing and keeping documentation. QA should be well aware of different tools in order to select the most appropriate one for the goals and needs of the product.
The team analyzes what tests can be automated to save time on the routine and if those parts of the system functionality can be covered with autotests, draws up a plan, and automates them. They prepare and maintain product documentation for future reference and smooth system development. They collect project metrics, analyze them and develop a plan for further product improvements.
The QA team is in charge of informing the rest of the team about the current product state and the release dates. They also organize product demos for the stakeholders after each release.
Supporting and scaling phase
Once the product is launched, QA collects feedback from users and customers, as well as employees of the client:
- analyzes user experience,
- defines areas of possible improvement,
- validates the actual user interaction against the planned one.
The ideas and insights generated by this analysis are approved by the key stakeholders before adding the tasks to the backlog. And after the release of the product, QA monitors and makes sure that users no longer face the issues.
One of the main responsibilities of the QA is providing feedback to the product owner about their testing experience, as well as collecting feedback from him. QA works closely with the product owner to help develop detailed acceptance criteria for their user stories.
Based on what the team learns during each sprint, QA can also help the product owner modify or improve existing user stories to better reflect true requirements. As you can see, if done right the Quality Assurance has an important role at every stage of product development.
We have a powerful team of Quality Assurance engineers and would love to help you in setting up the quality management system to fit your specific needs. Book a call and we’ll be happy to talk: firstname.lastname@example.org