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.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Software Engineering | Comparison between Regression Testing and Re-Testing
- Software Engineering | Seven Principles of software testing
- Software Engineering | Introduction to Software Engineering
- Beta Testing | Software Testing
- Software Testing | Endurance Testing
- Software Testing | Dynamic Testing
- Software Testing | Accessibility Testing
- Smoke Testing | Software Testing
- Performance Testing | Software Testing
- Software Testing | Non-functional Testing
- Sandwich Testing | Software Testing
- Alpha Testing | Software Testing
- Unit Testing | Software Testing
- Stress Testing | Software Testing
- Sanity Testing | Software Testing
- Gray Box Testing | Software Testing
- Acceptance Testing | Software Testing
- Software Testing | Reliability Testing
- Software Testing | Scalability 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.