Have you ever decided not to call a doctor when you feel sick just to save money and time? Probably you even had gone to work because feeling sick didn’t seem to be a big deal. The day after that, you had ended up in a bed unable to stand and waiting for the doctor to come and prescribe an expensive treatment.
Software development agencies also sometimes act recklessly to meet customers’ requests to cut on time and money. JatApp was no exception: we agreed to skip a regression testing before a release of the product’s update.
Regression testing is one of the holy cows in the Agile development, so it’s no wonder we had to cope with numerous problems afterwards. But we learned the lesson, and today we would like to share this story with you, so you’ll be able to avoid the same mistake with your software development project.
Why skipping regression testing can backfire
When some silly mistakes play havoc with a product development project, they happen due to causes that could be easily avoided. Our team was working with a SaaS facility management platform company on their application’s update. The client was in a rush to present a new scope of features to the users and did not want to spend extra time and money on the regression testing — the red flag we neglected.
The client was convinced that nothing bad could happen to the product after the update as the previous versions worked well. And though we knew that the Agile development requires a thorough testing of how new features work with the old ones, we still agreed to release the update without regression testing. And the vilest pandemonium unleashed itself…
Dozens of bugs popped up on the production stage and the entire platform was barely working. The users didn’t even know how to react, as they expected the update would make the application even more useful and convenient than it was before, but got quite the opposite.
Luckily enough, our development and operations (DevOps) engineer reacted fast and rolled the update back, while the quality assurance team started immediate bug fixing. Resolving all the problems took more time and money than the client wanted to save by ignoring the regression testing. Had the regression testing been done, our team would have been able to prevent many defects and bugs that appeared with the product’s update.
But there’s no need to cry over spilled milk, here is what this case taught us.
Lesson learned: regression testing is a must even when the customer disagrees
When the dust from the bugs slamming the app settled, our team was staring at one spot for several hours. And Zen came all of a sudden — we would never EVER agree to release the update without having regression testing done. To explain our clients why regression testing is so vital, we now describe its major benefits:
- Code maintainability. Checking whether the new scope of features works well with the code that was deployed before is the whole point of regression testing. By running a regression test, you ensure that the new code is compatible with the rest of the system. In case it is not, your team can tweak the code to avoid any conflicts. Note that fixing potential features conflicts at the testing stage is much easier than after the update’s release.
- Defects reduction. Regression testing is one more attempt to detect bugs and defects your team might have missed during running various narrow-specific test cases. When you have an extra opportunity to repel the bugs out of your software, time and money shouldn’t be a precious asset to save the resources on.
- Product robustness. The primary law of software quality assurance says that it’s impossible to get rid of bugs entirely, which means that some app features may crash at some point anyway. To ensure that this crash doesn’t make the whole product halt, you need to identify critical dependencies within the system. Regression testing will help you detect and reduce these dependencies, so your software engineers will know how they need to amend the code.
- Long-term time and money savings. As we’ve learned from our story, investing time and money in regression testing saves more of them in the long run. Falling short of budget and having the deadline running hot on your heels are indeed stressful factors to consider, but you’ll doom yourself to greater suffering by neglecting regression testing. We know what we are talking about.
JatApp is still a collaborative tech partner, but a faithful regression testing advocate as well
Since this story happened, the JatApp team has never been underestimating the power of regression testing. And we encourage you to do the same as messing with one of the Agile’s development holy cows is indeed a risky move.
You can delegate your software development project to the JatApp team, but be ready that we’ll express our tech expert opinions that you may not like. However, our company has been helping businesses to overcome digital transformation challenges since 2015, and judging by the reviews we get, this approach helped 99% of them.
Tell us about your software development project. We will get in touch with you as soon as possible.