The fragile art of software: Why is regression testing so important?

by Ulf Eriksson / 01 March 2013 / 2 comments

For the sake of those who are not familiar with the term ‘Regression Testing’, it is the process of re-testing already functional parts of a software project. Due to any changes, bug fixes or enhancements that are carried out, it is imperative to make sure that other fully working processes or modules in the software are left unharmed. It is a process that should be compulsory in any tester’s practice.

When I first learnt about regression testing, I thought it was a complete waste of precious time, time I could spend doing something more fruitful. What’s the point of re-testing something that had already been tested and approved? Why go back and iterate over tested and functional software? I had to learn my lesson the hard way.

 

When starting off as a tester, I was immediately thrown on board an important project: a complete overhaul of a website for one of the country’s major food importers. Apart from the same old content, a lot of new functionality was added. The major enhancement consisted in an online store with all the ordering facilities one could imagine. I felt quite inexperienced for the tasks that were assigned to me but there was never a shortage of help. I was lucky.

Already a few months into the project and the client was consistently requesting a lot of changes. Apparently budget was not an issue, so we were instructed to proceed with the change requests.Unfortunately in such complex projects, one fine day you have to come across a critical show stopper. Something was terribly wrong with the shopping cart. Items were mysteriously disappearing and the total chargeable amounts were not making any sense.

Treating it with urgency, I dived head first to try and replicate the problem and discover the series of events that lead to it. I went over the process a hundred times but with no luck.

I knew I had to dig deeper. Then finally, I discovered an anomaly in the process that adds the items to the shopping cart. I was more than sure it was functional as I had fully tested this part quite a while ago. While doing my regression testing I didn’t realize that the problem was under my nose all the time. I was entirely focused on the more obvious problem when in fact the real issue was in front my own eyes.

Admittedly, regression testing is not one of the most enticing adventures. The process ultimately consists in repeating the same test cases and scenarios over and over again. Nevertheless, it must never be overlooked. Every time regression tests are executed, the same level of attention to detail is needed as much as it did for the first ever test.

 

Confessions of a Tester is written by Johnny, a test leader by profession and friend of ReQtest’s. Johnny loves clean code and is suspicious of anything that seems to be completely bug free. Apart from bug tracking at his day job, Johnny plays guitar, watches action and gangster movies and is a great fan of comic books and superheroes. This blog is a chronicle of Johnny’s Software Testing Nightmares.

 

Click here to get a FREE 10 day, full access trial of ReQtest

About the author: Ulf Eriksson

Ulf Eriksson

Ulf is the founder of ReQtest and as the Product Owner, decides what features are added to the product, and makes sure that ReQtest is of a consistently high quality. Ulf has written several books and courses as well as a library of articles on the subjects of testing and requirements management, as well as speaking publicly on a number of subjects related to the world of testing.

2 Comments

  1. TestingWhiz says:

    I do agree with that regression testing is better than re-testing the entire application.So instead of testing again and again its better to keep an isolated database for regression testing.

Leave a Reply

Your email address will not be published. Required fields are marked *