Loading

Software Inspection


What is Software Inspection?

Inspection is necessary to review a product. In software development, software or code inspection refers to peer review of any product by experts who try to unravel defects, if any, present in the system using a well defined method. In an inspection process, the objective is to identify defects, and the inspected parts are generally SRS (Software Requirements Specifications)documents and test plans.

The process of inspection begins like this- a team gathers to plan about the inspection process. A moderator is chosen in the team to carry out the meeting. There is an inspector who approves the product, so when the team meeting is done, they carry out a detailed study about the product and noting the defects as well. So the software inspection is a walk through which is conducted in a well planned manner.

Inspection Process:

An inspection process passes through the following stages :

  • Planning -

    inspection planning

    the moderator plans the activities to be performed during inspection.
  • Overview Meeting -

    Overview Meeting

    An overview meeting intends to disseminate information regarding the background of the product under review.
  • Preparation -

    Preparation

    Identify possibility of occurrence of a certain defect.
  • Inspection meeting -

    Inspection Meeting

    During this phase, the reader reads through the product and the inspector tries to point out the defects.
  • Rework -

    Rework

    Based on the inspection meeting, the moderator makes necessary changes to the product.
  • Follow up -

    Follow Up

    The changes made are thus reviewed by the author.

Inspection Roles :

The comprises of the following roles assigned to team members.

  • Author -

    Author

    Author is the person who has created the work product, that is to be inspected.
  • Moderator -

    Moderator

    Moderator is the planner of the inspection. He is basically the coordinator and the leader.
  • Reader –

    Reader

    The person responsible for reading the documents.
  • Reader/Scribe -

    Scribe

    This person is the one who records the defects that are being discovered.
  • Inspector -

    Inspector

    Responsible for examining the product and identify possible defects.
  • Inspection Types:

    • Code Review -The code review can be described as a process of examination/inspection in which a piece or block of code is treated as a defect. The code is a defect if it does not deliver the right functionality, or may be sometimes the code could be improved in terms of its performance.
    • Peer Review -Peer means group, so in this kind of inspection a group of people who have requisite knowledge and skills, review the product. It therefore ensures a structured review process, product check-list and reports.

    Benefits of Inspection:

    • Developing new perspective - The process of finding defects can be really useful for those who haven't indulged in such an activity before. They shall develop a fair idea about such aspects and it's rectification.
    • Knowledge Sharing - A person who has fair share of knowledge can spread it further regarding design specifications and specific software artefacts and also defect detection methods.
    • Early fault finding - Early detection definitely proves to be an advantage always. In this case also prior detection helps in cost reduction. Detection may be during the detailed design phase or requirements phase.

    Features of Inspection:

    • The inspection procedure is carried out by a trained moderator, he is responsible for examining the document.
    • Check-lists and a set of rules define an inspection.
    • Review process comprises of entry and exit criteria.
    • A meeting is conducted to plan the inspection.
    • The report prepared after careful analysis is shared with the author for appropriate actions.
    • Post inspection actions plans are undertaken to ensure corrective actions are taken and in a timely manner.
    • Identification of defects is coupled with process improvement strategies as well.

    Terms Defined:

    Entry Criteria - It can be defined as the fulfilment of minimum set of conditions to begin with the process of testing work. The various conditions may be installation and configuration of hardware and software applications as well.

    Exit Criteria - To close the project, all necessary tasks should have met by now. All test plans have been executed, requirement coverage has been done, and all the risk affected areas have been covered.