QA Process

Software testing determines the quality of the product or service delivered. Software testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs (errors or other defects).

Software testing can also be stated as the process of validating and verifying that a software program/application/product:
  • meets the business and technical requirements that guided its design and development;
  • works as expected, and
  • can be implemented with the same characteristics.
Software testing, in cases may be implemented at each of certain phases as in the development process. However, most of the test effort occurs after the requirements have been defined and the coding process has been completed. As such, the methodology of the test is determined by the software development methodology adopted.

Different software development models focus the test effort at different points in the development process. Newer development models, such as Agile, often employ test driven development and place an increased portion of the testing in the hands of the developer before it reaches a formal team of testers. In a more traditional model, most of the test execution occurs after the requirements have been defined and the coding process has been completed.

The Need for Testing

Testing is the process of running a system with the intention of finding errors.

Testing enhances the integrity of a system by detecting deviations in design and errors in the system.

Testing aims at detecting error-prone areas.

This helps in the prevention of errors in a system.

Testing also adds value to the product by conforming to the user requirements.

Software Testing Life Cycle