When to include the QA team in your project

Blog post

The process of developing software raises many questions. One of those is when does the testing process start.


Most projects will enroll their QA team at the end of the project, at the point when the software is almost fully operational and in the testing phase of the project. But this common practice is not always the best option.


This common practice can result in time delays and a major list of bugs when the project reaches the testing phase. Not only does it make the project more demanding but it creates frustration in the development team.



When to include the QA team and why in the early stages


As the common practice goes, the quality assurance team will start testing and try to break the software during the testing phase. What if the team does indeed break it? That will cause more time delays to fix the bugs and make everyone in the team will feel more anxious.


If the QA is included from the beginning it will be easier to identify the bugs because they will already be acquainted with the project. The testing phase will flow more as planned and it will also lower the risk of breaking deadlines and incurring additional costs.


If, for instance, there is a design of a feature that is not by the requirements, the quality assurance team will easily discover it if they are involved from the beginning and the effort to correct that defect will be minimized. If the same bug is discovered later in the projects life cycle, after the software is in the testing phase, it may cause serious problems for the team.


There is a story I would like to share with you, it’s that one of the Mars Climate Observer probe launched by NASA in 1998. It was supposed to orbit the Mars atmosphere and study the Martian water climate and contents of its atmosphere, but when the probe entered Mars’s atmosphere, an error occurred and caused the lander to fly low and crash into the “red planet”. The error occurred because NASA’s subcontractor used imperial units while NASA was using the metric system which caused the spacecraft to try and stabilise its orbit too low in the atmosphere and ultimately crash. That lack of by specification testing ended up costing more than 300 million dollars. Hopefully, NASA learned from that mistake and gives by specification testing special attention.


It’s not possible to find all of the bugs in the early stages of the project, but including your QA in all of the projects phases can decrease the number of issues that arise later, and increase the quality of features earlier.
 

What role does a QA team play in each stage of the projects life cycle

Requirements Phase


Knowing how the software is supposed to work is a fundamental part of a QA’s job. In this phase, a QA can go through the product specification and documentation. Already in this phase can a QA find some imperfections or vaguely defined feature definitions, such as in form validations.
During this phase the QA already has a role and that is to ask questions and report issues they encounter while going through the projects documentation. It’s easier and more effective to take care of these issues in the beginning of the project then at its end.

Design Phase

This phase offers a QA an opportunity to write a testing plan. The best way to write a test plan is in parallel with the design and to follow the same flow as the development plan. At this phase quality assurance teams can already identify positions and areas where a bug or an issue could arise.
If a QA knows what the product will approximately look like in the end it will be easier to start testing once the actual testing phase starts. Also, the quality assurance team reviews the design and helps with finding any illogicalities or defects in the design.
 

Development Phase

During the course of this phase the QA team can begin their testing.
With every sprint, the QA team can write test cases for each feature in a sprint. That will enable a much easier understanding of each feature and testing the features in the testing phase.
As soon as a developer finishes a feature he can turn it over to the QA team to be tested. This testing should be done right away when the feature reaches the QA team so that the developers time isn’t wasted and that they can move on to the next feature to be developed. Communicating with the project managers is crucial in this phase as this information about features that the QA team considers as “done” is an excellent way to know how the project is really advancing.

Testing Phase

If a QA was involved from the beginning and has tested the software throughout the process, this phase will be just a checkup of the past work and things that might have been missed.
During this phase the QA team should focus on verifying bug fixes and checking for regression bugs, but also there is the edge case testing which will take up the rest of the QA teams time in this phase.
 

Product Delivery

Throughout this phase the QA team can also be of use. It’s nearly impossible to find all the bugs on your own so a new set of eyes could be of a good use. During the user acceptance testing the QA team can work on confirming bugs that are being reported and creating better bug reports for your team, also verifying that those bugs are indeed fixed.
 

Similar blog posts

Get in touch