There are six different phases used during a full software quality assurance test cycle. The first is the Static Testing Phase which verifies that the requirements and specifications are thorough, complete, and make sense for the goal of the product. This is done before any coding starts and seeks to eliminate defects before they’re even in the system.
Module/Unit Testing Phase begins once developers have completed individual modules. Each module or unit is tested independent of each other to help find potential defects and speed up development. By testing the units in isolation, finding the cause of an issue is expedited, saving both time and energy.
After each unit has been tested, the third phase begins: Integration Testing. This phase ensures that the individually tested units work well together in assemblies. Generally, units are added together one by one and fully tested after each unit is added. This manner of testing validates that the modules play well together and by adding units in sequentially, determining the cause of a possible defect between the units is much easier.
The System Testing Phase begins next and validates the entire system as a whole. As the most involved and time consuming phase, System Testing utilizes many different testing types either consecutively or concurrently. Functional testing, security testing, performance testing, and database testing are examples of the multitude of tests that can be run during this busy phase.
Next, the User Acceptance Phase is used to make sure the system is well liked and useful to actual, prospective, or even simulated end users. By evaluating the user learning curve, navigation, and usefulness of the application, this phase seeks to ensure that existing and future users will want to use the product.
The final phase, Production Verification, occurs when the full tested product is deployed to the production environment. This last step validates the production build and ensures that all of the components were deployed and are working correctly.