Mutation Testing, System Testing, and Performance Testing

In this tutorial, we will learn about the mutation testing, system testing, and performance testing in software engineering. By Monika Sharma, Last updated : April 07, 2023

1) Mutation Testing

Whenever a module is tested for the first time, it is most probably encountered with some errors and to resolve them, the developer makes some changes in the program code of the software and again tests it. After making some changes in the software, the program becomes a mutated program and the changes effected in the program are called the mutant, and thus the testing performed after this is called as mutation testing.

In this type of testing strategy, the test cases are designed to kill the mutant. First, the mutant is checked for simple test cases and if the mutant survives them, the test cases are enhanced to kill the mutant.

However, this process takes a lot of time is too expensive because sometimes the mutant gets killed for very complex test cases which are tested after testing for so many low-level test cases, and after being killed, changes are to be made in the program and again the same process is performed from the very initial stage.

It is advised not to use this testing strategy when testing the software manually. However, it is a good way to produce an error-free software if automated software testing is being performed.

2) System Testing

System testing is performed after the whole software is completely developed and is ready to deliver to the customer. Here, the aim of the testing is not to check the software for errors but the main emphasis is to check whether the software is meeting the user’s needs. In the system testing, there are basically three levels of testing,

2.1) Alpha testing

The alpha testing is performed by a selected group f members form the developing organization itself. This means that the software producers itself act as the customers in order to check for its performance.

2.2) Beta testing

Here, the system testing is done with a selected group of friendly customers and their feedback is noted for every single user among this group.

2.3) Acceptance testing

In this type of testing, the software is made available to the actual customers and they are the one to then decide whether the software is acceptable or not.

3) Performance Testing

Performance testing is basically to check the system on some non-functional requirements. The main aim of the performance testing is to test the software for nun-functional requirements mentioned in the SRS document. The performance testing is considered to be a part of the black box testing. There are several types of performance testing that are performed on the software and among them, some are listed below,

  • Stress testing
  • Configuration testing
  • Smoke testing
  • Security testing
  • Volume testing
  • Compatibility testing
  • Regression testing
  • Recovery testing
  • Maintenance testing
  • Documentation testing
  • Usability testing

Comments and Discussions!

Load comments ↻

Copyright © 2024 All rights reserved.