Importance of Software Testing

As we all are human beings and human beings commit errors in any process, some of the errors do not impact much on our day to day life and can be ignored, however some errors are so severe that they can break the whole system or software. In such kind of situations you need to take care that such errors are caught well in advance before deploying the system/software in production environment.

Lets take some real life examples and see how our errors can cause critical failures or disasters if not caught early.

Examples:

Lets take some ABC banks net banking website, if any net banking customer logs into the website and transfers some amount to other account. After transferring he got the confirmation that amount got transferred successfully and it got deducted from his account. After sometime when he confirmed with other person whom he transferred the amount he got to know that he has not received the amount, now you need to visit your bank to settle this dispute. Also you will get annoyed by the net banking experience of that bank.

This is one situation where testing your software is very important before deploying it. Testing cannot be ignored because it impacts all the end users of software.

If the website would have got tested thoroughly for all the possible user operations this problem would have been found well in advance and got fixed before deploying the website.

Lets take another example.

Lots of software are nowadays used in air traffic control system. Suppose we don’t test air traffic control software and directly deploy them in production environment, there is very much risk involved in this, most probably this software will fail sometime because it has not been tested for all the scenarios in which it should work. If the air traffic software crashes it may lead to very severe disaster.

Now you might have got an idea why testing is such an important process in any kind of product development.

You can think of few more real life examples where testing should be done before deploying the product in production environment.