Start-ups often maintain a fast pace. If you haven’t worked in such an environment, products can be created, changed and ultimately released surprisingly quickly! Ensuring these products maintain a high standard of quality before they are in your clients hands (or out in the public) is a constant challenge for QA specialists.
Before we can begin to solve this, we should first cover some basics…
- How can quality assurance be defined?
- What is software quality in general?
- What does it mean to be a Quality Assurance Engineer in a fast-growing company?
- How can QA fit into such a booming industry, where changes occur on a daily basis?
- What if there is no dedicated QA in the team?
I will try to answer all of these questions here. It can be done!
What is software quality assurance (SQA)
Let’s begin with the most important question: what is QA? Where does the difference lie between a QA and Tester?
To put it simply, today’s QA cares about process improvements, measuring, releases and automation. Their focus is directly opposite to testers: this is not about breaking things, instead focusing only on manual testing, test automation, reports and so on. The QA way, in general, is a more holistic approach that is focused on the larger organism, not on individual parts of it.
Nevertheless, if you are a QA or a tester, you need to bear in mind what Edsger W. Dijkstra once wrote: “Testing shows the presence, not the absence of bugs”. In other words, testing will not raise your product quality.
Plan quality assurance process in start-up enviroment
Imagine that you are just joining a team without any dedicated testers or test automation engineers… stop! Say what? There are no tests? How does it work? Let’s quickly clarify what Quality really is and how we can provide it.
Many of you likely already know that quality is not testing itself. It is not test automation or any of the usual daily tasks for testers. It’s the whole process of software development. As Aristotle once said, “Quality is not an act, it is a habit.”
Subsequently, the best way to raise quality is to start caring about it from the very beginning. The sooner you start, the more money you will save in the long run.
(The length of time cost by various defects)
Tight time constraints for quality ssurance and testing
What about situations where testing time is limited to an absolute minimum? What’s the the best approach?
First and foremost, it is about having the correct mindset and recognizing that the quality of software is everyone’s responsibility. Each of you needs to care about what tasks you distribute and how you do this. Each department needs to understand what quality means for them, no matter if you are a PO, PM, Dev, tester, QA or SM. You need insight in all of the areas listed below (and even more than this, depending on what you want to deliver) with your teammates and define your “golden rules” for each of them.
You need to feel that you are among people with the same goal. Once you are sure that your team agrees on what quality means, sharing a mutual understanding, you can dive into automation. Yes, “the force is strong with this one”.
Thoroughly considered, well-maintained test automation, when used in constantly changing software, is able to find bugs and save time, thanks to smoke and regression testing. How to provide such automation is a topic for another blog post.
What goals to focus with software quality assurance?
So, where should you aim your efforts as a QA/Automation tester? You need to define areas of potentially increased risk, as well as the most important areas from a user and business/client perspective. Focus all your effort on these factors and create automation around them. Ultimately, you need to have some very strong knowledge about the product. Ask questions like why, how, where, when and who.
Never hesitate in asking questions. A good understanding of context is key. Why does something work like that? Why don’t we use this tool instead? What are the most crucial areas? Again, why? When should it be delivered? How often? How do you want to deliver reports? To who? Who will be responsible for what? And so on.
Improving processes is never a simple task. It will consume a lot of time, take a lot of work and it’s a never-ending story, but it terms of value, it offers great returns. Keep in mind that, no matter what type of process you are using, it needs to be flexible and adaptive.
You need to care about all these “puzzles” if you want to raise quality or want to keep it on a decent level in a rapidly changing environment. I hope this blog post will help you with achieving your own “Golden Standard” and keeping a high standard of quality!