What is system testing?

System testing occurs when a complete and integrated software is tested. The purpose of this test is to evaluate the compliance of the system within the specified requirements. It also helps with approving and checking business requirements. These include functional, technical, and any non-functional requirements of the application that deal with the architecture as a whole.

System testing falls under the scope of black-box testing. The following diagram highlights where system testing lies in the software testing hierarchy:

svg viewer

There are several types of system tests; however, the ones most commonly used by software companies are:

  • Usability Testing: This test mainly focuses on how easy it is for a user to use the application, flexibility in handling controls, and ​ability of the system to meet its objectives.
  • Load Testing: Testing the software under real-life loads.
  • Recovery Testing: This test is done to demonstrate that a software is reliable, trustworthy, and can successfully recover from potential crashes.
  • Regression Testing: This test makes sure that none of the changes made throughout the development process have caused new bugs or the re-appearance of old bugs.
  • Migration Testing: This test is done to ensure that the software can be moved from older system infrastructures to modern system infrastructures without any issues.
  • Hardware/Software Testing: This test ensures that the interaction between hardware and software is smooth and has no issues.
Copyright ©2024 Educative, Inc. All rights reserved