Cleanroom Testing was pioneered by IBM. this kind of testing depends heavily on walkthroughs, inspection, and formal verification. The programmers don’t seem to be allowed to check any of their code by corporal punishment the code apart from doing a little syntax testing employing a compiler. The computer code development philosophy relies on avoiding computer code defects by employing a rigorous examination method. the target of this computer code is that the zero-defect computer code.
The name ‘CLEAN ROOM’ was derived from the analogy with semiconductor fabrication units. In these units (clean rooms), defects area unit avoided by producing within the ultra-clean atmosphere. during this reasonable development, inspections to ascertain the consistency of the parts with their specifications has replaced unit-testing.
This technique reportedly produces documentation and code that’s extra reliable and fixable than various development methods relying heavily on code execution-based testing.
The clean room approach to computer code development relies on 5 characteristics:
- Formal specification:
The computer code to be developed is formally given. A state-transition model that shows system responses to stimuli is employed to precise the specification.
- Incremental development:
The computer code is partitioned off into increments that area unit developed and valid on individual basis mistreatment the white room method. These increments area unit given, with client input, at Associate in Nursing early stage within the method.
- Structured programming:
Only a restricted range of management and information abstraction constructs area unit used. The program development method is that the method of stepwise refinement of the specification.
- Static verification:
The developed computer code is statically verified mistreatment rigorous computer code inspections. there’s no unit or module testing method for code parts.
- Statistical testing of the system:
The integrated computer code increment is tested statistically to work out its responsibility. These applied mathematics tests area unit supported the operational profile that is developed in parallel with the system specification.
Note: The main drawback with this approach is that testing effort is augmented as walkthroughs, inspection, and verification area unit time- overwhelming.
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Software Engineering | Comparison between Regression Testing and Re-Testing
- Software Engineering | Statistical Testing
- Software Engineering | Program Testing
- Software Engineering | Automated Testing
- Software Engineering | White box Testing
- Software Engineering | Black box testing
- Software Engineering | Integration Testing
- Software Engineering | Testing Guidelines
- Software Engineering | Regression Testing
- Software Engineering | Differences between Manual and Automation Testing
- Software Engineering | Seven Principles of software testing
- Difference between Software Testing and Embedded Testing
- Software Engineering | Requirements Engineering Process
- Sandwich Testing | Software Testing
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.