All of us have had, on an occasion or another, a co-worker (or even ourselves) changing a piece of code and reintroducing a bug in the project.
The bug then gets to the production environment and it’s reported.
Team reaction: “Damn! I’ve already corrected that”. “Oh, I just missed an if statement”.
Client reaction: “This shit does not work”. “It gets worse with each update”.
You can imagine the extra costs of an unhappy client, right? A number of emails, calls, time wasted, bad reputation, etc…
And yet the solution is so simple: automated testing!
One of the most important processes of developing a project is the testing phase, because that brings quality, assurance and robustness to it.
According to good practices, tests should be done before or during the development, never in the end!
There is different kinds of tests:
All of them are important and should be automated using CI (Continuous Integration) platforms, which help making sure that the bugs are not reintroduced in the project.
So, if you are leading a project, make sure that you and your team waste the necessary time creating tests.