It will be good to know the reasons for learning software testing before start learning it.
In Internet, We can see lot of articles explaining/listing loss made by poor low-quality software products.
How will you feel if a bug in bank software shows your bank balance as ‘0’(zero) instead of some thousands?
And if you are a student, what will be your state if your mark-sheet shows your score as ‘0’(zero) instead of some good score?
Here, we will be feeling good if we see some notification or message instead of seeing wrong data.
For example, a message such as “Not able to show your balance due to some unexpected error “ will do more goodness than showing balance as 0 in our first example.
Similarly, a message such as “Couldn’t print your mark-sheet because of unexpected issue” will be useful than showing score as 0 in our second example.
Testing plays an important role to avoid these situations.
So, we can say that testing is necessary or important even when it couldn’t guarantee 100% error free software application.
i-e Testing may not fix the issues, but definitely will help to provide improved user-friendliness.
– Cost of fixing the bug will be more if it is found in later stage than it is found earlier.
– Quality can be ensured by testing only. In the competitive market, only Quality product can exist for long time.
Testing will be necessary even if it is not possible to do 100% testing for an application.
One more important reason for doing testing is user/production environment will be completely different from development environment.
For example, a webpage developer may be using FireFox as browser for doing his webpage development. But the user may be using different browser such as Internet Explorer, Safari, Chrome and Opera.
The web page which is appearing good in FireFox may not appear good in other browsers (particularly IE). So ultimately, user will not be happy even if the developer puts more efforts to develop the webpage. User’s satisfaction is more important for growth of any business, so testing becomes more important.
And, we can assume/treat the Testers as the representatives of the Users.