System testing

System testing is a type of testing where the application as a whole is tested for its compliance to functional and non-functional requirements. It is carried out by the QA team after the completion of integration testing and before the final acceptance testing. Since in system testing the whole system is tested end to end and the knowledge of coding or internal architecture is not required. Hence, system testing comes under Black-box Testing

Why do we need System Testing?

  • The system is tested as a whole in this phase of testing. Even after successful unit and integration testing, many complex scenarios may have issues undiscovered by earlier testing phases. System testing helps in uncovering those defects.
  • Both the functional as well as the non-functional requirements are tested for the whole system are tested for the first time in this phase.
  • The testing is carried on the product and environment that closely matches the final product and production environment. Hence, successful system testing brings a sense of confidence on the final delivered product.

Types of System Testing-


As stated earlier, in system testing both the functional and non-functional requirements of the system are evaluated. Hence, system testing involves different types of testing techniques which evaluates the whole system and its various attributes. The different type of system testing are- Functional testing, Performance testing, Usability testing, Reliability testing, Security testing, Scalability testing, Installation testing etc.