What is Software Testing?

Software testing is more than just error detection;  
Testing software is operating the software under controlled conditions, to

(1) verify that it behaves “as specified”; 
(2) to detect errors, and 
(3) to validate that what has been specified is what the user actually wanted.

  1. Verification is the checking or testing of items, including software, for conformance and consistency by evaluating the results against pre-specified requirements.
Software Testing
Software Testing

  1. Error Detection: Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn’t or things don’t happen when they should.
  1. Validation looks at the system correctness – i.e. is the process of checking that what has been specified is what the user actually wanted. 
validation in testing

In other words, validation checks to see if we are building what the customer wants/needs, and verification checks to see if we are building that system correctly.  Both verification and validation are necessary, but different components of any testing activity.
The definition of testing according to the ANSI/IEEE 1059 standard is that testing is the process of analysing a software item to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item.
Remember: The purpose of testing is verification, validation and error detection in order to find problems – and the purpose of finding those problems is to get them fixed.

If you find the above content useful, give your comment box: