Robustness testing


Robustness testing is any quality assurance methodology focused on testing the robustness of software. Robustness testing has also been used to describe the process of verifying the robustness of test cases in a test process.
ANSI and IEEE have defined robustness as the degree to which a system or component can function correctly in the presence of invalid inputs or stressful environmental conditions.
The term "robustness testing" was first used by the Ballista project at Carnegie Mellon University. They performed testing of operating systems for dependability based on the data types of POSIX API, producing complete system crashes in some systems. The term was also used by OUSPG and VTT researchers taking part in the PROTOS project in the context of software security testing. Eventually the term Fuzzing extended to also cover model-based robustness testing.

Methods

Fault injection

Fault injection is a testing method that can be used for checking robustness of systems. They inject fault into system and observe system's resilient. In the authors worked on an efficient method which aid fault injection to find critical faults that can fail the system.