Lowering risks with effective regression testing
Regression testing is about balancing risk vs cost. The more we test, the fewer defects in the product — but the higher the cost. Regression testing is a type of testing that runs after changes have been completed and the product is nearing release. It ensures that new feature additions have not introduced unintended consequences to the existing product. Regression testing addresses an issue that all software products face: the emergence of new and old bugs with the introduction of new code changes.
”Do you really ship with bugs?”
A product leader once asked me, “Mark, do you really ship with bugs?” At first I kind of laughed, but then realized he was serious. Yes — every software product has defects. The goal is to minimize the number and severity of these bugs, and thus minimize risk to your customers and company.
With the push for agility in software development, there is an emphasis on adopting an iterative process: push new code more often, give customers new features more often — and this equates to introducing new (or old) bugs more often. Regression testing ensures that with frequent releases, developers do not introduce new defects, or worse, bring back old ones.
The priority squeeze
Regression testing is still vitally important, but today it is more often overlooked. In many software companies, QA resources are embedded with the development teams — and for new features, that still makes sense. The quicker you can find a bug, the less expensive it is to fix.
The problem comes when we ask these same QA resources to create test cases, regression test the product, and write automation — preferably before the new features are released. With these vital tasks competing for priority, it is easy to see why QA automation is one of the most requested tasks that never gets accomplished.
A better way
At Nebo Consultants we believe there is a better way. By using lower-cost resources to do much of the heavy lifting, we can lower costs and risks. We combine these resources into an effective team led by seasoned software veterans, both in the US and offshore. This gives the team experience, consistency, and leadership — so your own teams are not burdened with managing an offshore team.
The repetitive nature of regression testing allows offshore teams to come up to speed quickly and consistently test your product effectively. If you are looking for a better, more effective way to increase quality and decrease costs, look again at how augmenting your existing team with offshore resources and experienced leaders can help reduce your risks.