The Quality Assurance (QA) role is the role responsible for guaranteeing a level of quality for the end client, and to help the software development team to identify problems early in the process. It is not surprising that people in this role are often known as “testers”. Of course, the role is more than just testing. It’s about contributing to the quality of the final product. In other words, it is the responsibility of the QA role to make sure that the software development process doesn’t sacrifice quality in the name of completed objectives.
If there is no QA procedure in place then the outcome can easily become diverse to the customer’s requirements. Another common problem when a project is lacking in QA is that the system is released with faults, or bugs included which can lead to the system being unusable by the customer.
No QA = Dissatisfied Customer
One way to ensure that customer requirements are achieved is to convert the requirements and design documents into a set of testing cases and scripts, which can be used to verify that the system meets the client needs. This collection of test cases and scripts are collectively referred to as a test plan. The test plan document itself is often simple providing an overview of each of the test cases. The testing cases and scripts are also used to validate that there are no unexplained errors in the system.