Why your team is delivering many Regression Bugs?
Why can't developers implement software that works? Why are there so many regression bugs? Manual QA Regression Testing is the culprit.
We live in a technologically advanced age… yet the IT industry is still primitive!
The most fundamental problem - implementing software that works correctly, in an effective way - is still not solved.
📢 My next Live Q&A Session about Unit Tests is on Wed 30th April 17:00. If you’re an Optivem Journal paid member, get your 100% discount ticket.
Upgrade to join the Live Q&A for free:
Regression bugs are increasing
Many companies are delivering software with regression bugs to users. This is seen as “it’s just the way it is“. The users complain, the developers fix regression bugs, QA Engineers manually test, and the cycle repeats.
Over time, as the product grows, these problems tend to grow as well, like an avalanche.
Hiring more QA Engineers? Doesn’t work.
Some companies have tried to solve this problem by hiring more QA Engineers to fulfill the demand of time-consuming manual testing, to try to minimize regression bugs that reach users. This is a bandaid solution, it’s very inefficient and very expensive.
Manual Regression Testing is the culprit.
UAT Release Bugs - Developers release buggy software because they don’t have much time for manual testing, so they might test just some happy paths, the other reason is due to misunderstandings between QA & Developers regarding expected functionality
Production Release Bugs - QA Engineers are under time pressure to meet deadlines. Realistically they can complete only a subset of Manual Regression Tests.
In both cases, because Manual Testing is very slow, it means only a subset of Regression Tests are executed (and even if all Regression Tests are executed, there’s still the possibility of human error).
Acceptance Testing & ATDD is the solution.
If we replace Manual Regression Testing with Acceptance Testing, we’d be able to eliminate/reduce Regression Bugs because:
The full Acceptance Test suite would always be executed (unlike Manual QA Engineers who typically execute only a subset of Manual Regression Tests, due to time constraints)
The Acceptance Tests would be executed in a repeatable manner (unlike Manual Regression Testing, where there is the possibility of human error)
Furthermore, by adopting ATDD it would help align PO, QA Engineer & Developers, hence reduce Bugs that were caused due to misunderstandings.
So what then happens with QA Engineers? Well, instead of Manual Regression Testing, they would be able to focus on higher-value activities, such as Exploratory Testing, Usability Testing, UX/UI Testing, etc.
📢 My next Live Q&A Session about Unit Tests is on Wed 30th April 17:00.
What's your take on the view that developers should code and leave testing to QA?