QA is one of the most important additions to a dev team. It is your insurance that everything will mostly go right as opposed to mostly going wrong.
Which QA engineer do you need?
We have usually two main types of QA Engineers
- Manual QA engineers
- Automation QA engineers
Manual QA engineers
Who focus on manually testing a feature being developed, running regression tests, and usually signing off that a bug or a feature is ready to be deployed.
Manual QA engineers usually test new features and edge-case scenarios that result in bugs that were not accounted for. They are the best people to have in a team that has a brand new product, especially an MVP.
Not only Manual QA's will look at the expected behavior and acceptance criteria, but also provide feedback to adjust the UX workflow
Here are some overly simplified scenarios:
- Good Product Team + Good Developer + Good QA = Good Result as this is the best-case scenario
- Bad Product Team + Good Developer + Good QA = Good Result - as the QA and Dev team will make something work
- Bad Product Team + Bad Developer + Good QA = No Result - as the QA will block the release and at least you will not have a bad product out there
- Good Product Team + Good Developer + Bad QA = A buggy product with a lot of edge cases handled.
As you can see the QA importance impacts directly the quality of the product
Automation QA engineers
Focus on creating automation tests on most of the core functionalities of your product. This is usually done at a point of your product lifecycle when you do not expect major changes. We focus on automation when the API (or Backend structure that communicates with the Front end) is final and you do not expect changes.
Automation QA engineers are expensive and need to be properly managed. Make sure to have the necessary structures in place before hiring them.
When should you engage QA?
Due to the QA importance in the development workflow, there are three main points where I recommend QA to be engaged
- During the technical review of a new product
- During the development workflow
- Before you release the product
During the technical review of a new product
The QA importance in this step will help you get faster results on the possible edge cases raised. Usually, a QA engineer knows your workflows better than anyone else. So if you are adjusting something or adding another feature to an existing workflow, the are amazing resources to utilize.
During the development workflow
Rule of thumb: every task that the development team does need to be vetted by the QA team. Can't stress this enough on the importance of the QA team here.
When testing an isolated bug or a feature, there are so many edge cases to be considered - and especially for a customer-facing product.
Before the release of the product
This is the core component of a regression test. Your QA team should test the whole product before a new version is released.
Especially today, with the popularity increase of microservice patterns in BE architectures, where nothing is any more tightly coupled, the bigger your product gets, the more you will need to run rigorous regression testing.
So now tell me, is the QA important or not?