The Purpose of Testing any Software - my view


      As a Software Tester, it is important to know the fundamental and the basic purpose of testing any software. Without knowing this, if the testing is performed it is serving no purpose. I call it as a 'Blind Testing' - with no goal. Testing a software is not 'easy' as many think it is. Its a job of huge responsibility, where we as Quality Inspectors should ensure the Software is usable by the end users with exceptional quality. The end users or customer should feel delighted to use the Software, rather than getting disgusted and frustrated. 

      Fundamental purpose of testing any software is of-course, hunting bugs or uncovering the defects. and need to ensure and establish confidence in software. How? Ensure that the software exhibits all the quality characteristics like Usability, Reliability, Performance, Security, Memory usage. It is very important that what ever the kind of application or software it could be, it should and must possess these characteristics. If it is not, then that is not serving the purpose of testing.

      To serve this purpose better, it is important to thoroughly understand the nature of the software, the end users who are using the software. Learning the application, its functionality and workflow, which helps in knowing its nook and corner. It actually helps to derive more scenarios, specifically from end users perceptive and view point. Which helps the tester to think 'Out of Box' scenarios, and thus helps in avoiding production issues, because of the defects that were identified by the customer, which was missed out by the tester. 

      I feel that in order to meet this purpose along with the "Technical" factor and skills to test the application, we need to understand there is one more skill that is important which is - "Emotional" factor. Feeling for the Customer and testing makes a difference, than just executing your Test Cases and logging defects. Just imagine you have tested the software - the same software is directly or indirectly used by your loved ones or friends or family members, and they started feeling frustrated because it is not usable as they cannot perform the intended operation. why? because of the bug that was missed out during testing. Or imagine that the software is developed to assist the patients, or software developed for helping physically challenged, or any commercial purpose software - that affects customers revenue and business.

      As a tester ensure that the software is developed with quality characteristics that I earlier mentioned - which is the birth right that every software must have :) Test in such a way that it makes your customer happy and satisfied about the quality. Along with all the right methodologies and techniques, the next time when you test ask yourself "Am I feeling for my Customer and testing?" - It really makes a "Difference" - and that is the Real Purpose of Testing !