What are the Different Types of Performance Testing?
Performance Testing:
Performance Testing is an important type of system testing. It is carried out to check whether the system meets the non-functional requirements identified in the SRS document. There are several types of performance testing corresponding to various types of non-functional requirements.
Types of Performance Testing:
Stress testing:
Stress testing is also known as endurance testing. Stress testing evaluates system performance when it is stressed for short periods. Stress tests are black-box tests that are designed to impose a range of abnormal and even illegal input conditions.
Volume testing:
Volume testing checks whether the data structures (buffers, arrays, queues, stacks, etc.) have been designed to successfully handle extraordinary situations.
Configuration testing:
Configuration testing is used to test system behaviour in various hardware and software configurations specified in the requirements. Sometimes systems are built to work in different configurations for different users.
Compatibility testing:
This type of testing is required when the system interfaces with external systems (e.g., databases, servers, etc.). Compatibility aims to check whether the interfaces with the external systems are performing as required.
Regression testing:
This type of testing is required when the software is maintained to fix some bugs or enhance functionality, performance, etc.
Recovery testing:
Recovery testing tests the response of the system to the presence of faults, or loss of power, devices, services, data, etc.
Maintenance testing:
This addresses testing the diagnostic programs, and other procedures that are required to help the maintenance of the system. It is verified that the artefacts exist and they perform properly.
Documentation testing:
It is checked whether the required user manual, maintenance manuals, and technical manuals exist and are consistent. If the requirements specify the types of audience for which a specific manual should be designed, then the manual is checked for compliance with this requirement.
Usability testing:
Usability testing concerns checking the user interface to see if it meets all user requirements concerning the user interface. During usability testing, the display screens, messages, report formats, and other aspects relating to the user interface requirements are tested.
Security testing:
Security testing is essential for software that handles or processes confidential data that is to be guarded against pilfering. It needs to be tested whether the system is fool-proof from security attacks such as intrusion by hackers.
Error Seeding:
Sometimes customers specify the maximum number of residual errors that can be present in the delivered software. These requirements are often expressed in terms of the maximum number of allowable errors per line of source code. The error seeding technique can be used to estimate the number of residual errors in software.