Lots of startups begin developing their products without the involvement
of QA in the process. After a while, the time comes (usually when the product
needs to be delivered to the customer) when a QA process becomes necessary. Together
with the product and its release notes, the customer often demands documentation
of the QA process (ATP, STP, STD).
At that point, the company will hire a QA leader, who may work alone at
first but will often eventually expand the QA team. The leader must be capable
of managing the QA system and implementing QA methodology in the product’s development
process.
I would like to suggest some helpful points for the new QA leader who needs
to build a QA process from point 0:
·
Learn the product
Depending on the product’s complexity, take 1-4 weeks to study the product. A QA leader should know the product better than the developers (he/she is often the only one who has all the pieces of the puzzle).
Read the user guide and official release notes.
Depending on the product’s complexity, take 1-4 weeks to study the product. A QA leader should know the product better than the developers (he/she is often the only one who has all the pieces of the puzzle).
Read the user guide and official release notes.
Enlist the help of key people in the product chain
to help you understand the product better (Product Owner, CTO, System
Architect, Developers, Integration Engineer, Technical Writer and others).
·
Write a basic sanity scenario
Usually the best way to do this is by using the marketing team’s demo. The demo will provide a quick POC for the use of QA, and will inevitably be the first test you will run anyway.
Usually the best way to do this is by using the marketing team’s demo. The demo will provide a quick POC for the use of QA, and will inevitably be the first test you will run anyway.
·
Regression backlog
Produce a backlog from the regression. Find
out which modules constitute the core of the product and start with that.
Remember, it is better to have one module in the plan than two with no coverage.
·
Don't collect debts
Write tests for all the new features so that you will need to write regressions only for older features; otherwise the regression backlog will get bigger and bigger.
Write tests for all the new features so that you will need to write regressions only for older features; otherwise the regression backlog will get bigger and bigger.
·
Be involved in the design
When you get involved in the design, you can prevent the occurrence of bugs. Then, when you prove your worth in this area, you can start talking about TDD .
When you get involved in the design, you can prevent the occurrence of bugs. Then, when you prove your worth in this area, you can start talking about TDD .
·
Automation
Try to automate the basic flows of the product. This will make the sanity and regression processes much faster and easier and will free up time for you to explore and cover the new features.
Try to automate the basic flows of the product. This will make the sanity and regression processes much faster and easier and will free up time for you to explore and cover the new features.
If most of your product’s logic is on the
server side (which is the case for most products), it is much faster and more
stable to start automating the server side rather than the UI.
From my personal experience, although everyone agrees automation is necessary, in many companies the developer will try to keep the code to him/herself. Solving this matter, in my opinion, involves teaching development teams to trust and even depend on the QA testing process.
From my personal experience, although everyone agrees automation is necessary, in many companies the developer will try to keep the code to him/herself. Solving this matter, in my opinion, involves teaching development teams to trust and even depend on the QA testing process.
One small tip: If you find yourself in a situation
like that, contrary to what I mentioned above, begin the automation from the
UI. It can be used as a POC for you and will provide the way forward to the
server side automation.
And if you decide to go with UI automation,
try to identify objects by their IDs (if possible).