Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Software Inspection Checklist

  • Last Updated : 08 Nov, 2021

Software inspection processes generally call for Checklist simply to provide reviewers with hints and some recommendations for determining and identifying defects during inspection of software product. The inspection process should always need to be driven by checklist of some common programming errors. 

An inspection checklist is simply an assurance that specific software product has been inspected. An inspection checklist should be developed by discussion with some experienced staff and as well as regularly updated as more experience is gained from inspection process. Guidebook generally includes checklist simply for various artifacts such as design documents, requirements, etc. 

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.

 

Different checklist is also prepared for various programming languages i.e. checklist for source code are given separately for different source languages. There are some of the items of checklist that are general and therefore require good deal of human judgement. Some possible checks that can be made during the inspection process are given below: 



 

  1. Data Faults : 
    • Check Are all of the variables of program initialized before their values are used? 
       
    • Has all constant been given name? 
       
    • Is there any chance of buffer overflow? Etc. 
       
  2. Control Faults : 
    • Is the condition correct for each conditional statement? 
       
    • Is each loop certain to terminate? 
       
    • Are compound statements bracketed correctly or not? 
       
  3. Input/Output (I/O) Faults : 
    • Are all of the input variables used or not? 
       
    • Are all of the output variables assigned to a value before they are output? 
       
    • Can input that are unexpected causes of corruption? Etc. 
       
  4. Interface Faults : 
    • Does all method and functions have the correct number of parameters? 
       
    • Do the type of parameters i.e. actual and formal matches? 
       
    • Are the parameters present in the correct order? 
       
    • Do they have the same model of shared memory structure, if all of the components access shared memory? 
       
  5. Storage Management Faults : 
    • Have all links been reassigned correctly, if a linked structure is modified? 
       
    • Has space been correctly allocated, if dynamic storage is used? 
       
    • Does the space get de-allocated explicitly after it is no longer required? Etc. 
       
  6. Exception Management Faults : 
    • Do all possible error conditions been taken into account or consideration? 
       

Example : 
 

  1. Requirement Inspection Checklist : 
    • Do requirements exhibit a clear distinction among functions and data? 
       
    • Do requirements exactly define all the information that is needed to be displayed to users? 
       
    • Do requirements address system and user response to all conditions of error? 
       
    • Is each of the requirements stated clearly, concisely, and unambiguously? 
       
    • Is each of the requirements testable? 
       
    • Are there any ambiguous or implied requirements present? 
       
    • Are there any conflicting requirements? 
       
    • Are there areas that are not addressed in the Software Requirements Specification (SRS) that is needed to be? 
       
    • Are performance requirements like response time, data storage requirements, etc. stated? 
       
  2. Error Handling and Recovery Checklist : 
    • Is there any adequate error condition testing? 
       
    • Are error conditions tested where the probability of an error existing is high or results of an error would be fatal to the system? 
       
    • Are all return codes documented? 
       
    • Are all return messages understandable? 
       
    • Does the program allow for successful error recovery; across module or process failures? across operating system failure? across interrupts? across hardware failures? 
       

 

My Personal Notes arrow_drop_up
Recommended Articles
Page :