Software Inspections and Software Testings are two essential and important techniques or methods that are required to identify and discover defects and errors in software product. Both of these methods generally identify defects that can be removed and fixed to increase and improve quality of software products. But inspections are much more convenient and cover greater range of development phases. Software inspection also plays very important role in software quality assurance.
- Software Development Life Cycle (SDLC) without Inspection :
The below diagram shows defect origins and defect discovery stages when the inspection is not performed and is not incorporated in SDLC. But software testing activity is generally performed that usually identifies and discover only coding defects. No other defects are identified by software testing. The defects that are present in requirements, design, documentation, maintenance, and testing are usually discovered and identified at maintenance stage. Due to this, chaos will get created at the time of delivery. There will also be lot of suffering in software quality due to this chaos zone. Cost of repair or fixing of defects will also get increased.
- Software Development Life Cycle (SDLC) with Inspection :
Below diagram shows that software inspection not only saves us but also saves our product from all of problems. When inspections are incorporated and applied, defects of stare are identified at the same stage and then defects are further removed and fixed by end of the same stage. This will basically save us from chaos zone and will also minimize cost of solving defects to great extent.Software Inspection also plays very effective and important role in identifying various types of bugs rather than that of software testing does. This is shown in the below table :
Type of Errors | Software Inspection | Software Testing |
---|---|---|
Interface defects at the module level | Yes | No |
Code Complexity | Yes | No |
Additional Features | Yes | No |
Product usability defects | No | Yes |
Errors of performance | Yes | Yes |
Poor code structure | Yes | No |
Missing or wrong features | Yes | Yes |
Defects at boundary test | Yes | Yes |
In this table, in error type column, different types of errors that might exist in the software product are shown. Other two columns i.e. Inspection and Testing simply show which error type will be identified by Inspection, Testing, or both of them. From the above table, we can say that Software Inspection are more effective and important rather than Software Testing in determining errors and defects.