System Testing and Their Different Types

System Testing

System testing is the type of testing to check the behavior of a complete and fully integrated software product based on the software requirements specification (SRS) document. The main focus of this testing is to evaluate Business / Functional / End-user requirements.

  • This is black box type of testing where external working of the software is evaluated with the help of requirement documents & it is totally based on Users point of view.
  • For this type of testing do not required knowledge of internal design or structure or code.
  • This testing is to be carried out only after System Integration Testing is completed where both Functional & Non-Functional requirements are verified.
  • In the integration testing testers are concentrated on finding bugs/defects on integrated modules.
  • But in the Software System Testing testers are concentrated on finding bugs/defects based on software application behavior, software design and expectation of end user.
  • System testing is the testing of a complete and fully integrated software product.


What do you verify in System Testing ?

System testing involves testing the software code for following:

  • Testing the fully integrated applications including external peripherals in order to check how components interact with one another and with the system as a whole. This is also called End to End testing scenario.
  • Verify thorough testing of every input in the application to check for desired outputs.
  • Testing of the user’s experience with the application. .

That is a very basic description of what is involved in system testing. You need to build detailed test cases and test suites that test each aspect of the application as seen from the outside without looking at the actual source code.

Different Types of System Testing

  1. Usability Testing:

    Usability Testing mainly focuses on the user’s ease to use the application, flexibility in handling controls and ability of the system to meet its objectives.

  2. Load Testing:

    Load Testing is necessary to know that a software solution will perform under real-life loads.

  3. Regression Testing:

    Regression Testing involves testing done to make sure none of the changes made over the course of the development process have caused new bugs. It also makes sure no old bugs appear from the addition of new software modules over time.

  4. Recovery Testing:

    Recovery testing is done to demonstrate a software solution is reliable, trustworthy and can successfully recoup from possible crashes.

  5. Migration Testing:

    Migration testing is done to ensure that the software can be moved from older system infrastructures to current system infrastructures without any issues.

  6. Functional Testing:

    Also known as functional completeness testing,Functional Testing involves trying to think of any possible missing functions. Testers might make a list of additional functionalities that a product could have to improve it during functional testing.

  7. Hardware/Software Testing:

    This is when the tester focuses his/her attention on the interactions between the hardware and software during system testing.

check out the difference between System Testing and Integration Testing in the tabular form here .


299 total views, 2 views today

A Soon-to-be Computer Engineer by profession, he has profound devotion to add Data Scientist as a prefix to his name. He’s been to the nooks of the web (at least of the surface web) and planning to add some real figures in his pocket!

Leave a Reply