By definition, "Software Testing is the process
of executing an application with the intent of finding defects in it".
But Software Testing’s contribution is broader than its original definition. An
experienced tester not only finds defects but also adds suggestions to bring
out quality in the system.
In one of my previous
projects, I suggested that the architect added an aggregated table to improve
the performance of a report. When it was implemented, the performance of the
report improved greatly. I personally feel Quality Engineer is a better term
for a tester as he brings in a lot of quality into the system by identifying
areas of failure and improvement.
There has been a greater
awareness in organizations on testing in recent years. Organizations understand
the cost of not testing and implementing for every product they are building.
In brief, testing is
essential as:
1. It identifies defects and hence, gives scope for greater quality
to be built into the application
2. It ensures the functional as well as the nonfunctional
requirements have been properly met in the application
3. It ensures that the product is giving business value to the
customer
4. It ensures that the possible product risks and known issues have
been addressed