The rigorous testing of software was developed at IBM during the 1970s when it was found that the existing testing methods were not suitable in the pursuit of high-quality software for mass marketing and large applications.
Overview: What is software inspection?
It is the manual analysis technique utilized for the defection of defects in software at the earliest possible stages of development.
4 benefits of software inspection
There are numerous benefits to inspecting software:
1. Catching defects early
The proper inspection of software will help in the early removal of defects.
2. Process improvement
Software inspection leads to the improvement of processes in order to eliminate defects.
3. Increased productivity
Greater productivity will likely occur over time by improving processes and eliminating defects through inspection.
4. Greater quality of product
Quality inspection efforts lead to greater quality of output.
Why is the methodology for inspecting software important to understand?
The method for inspecting software is important to understand for the following reasons:
There is great similarity among methods of inspection
By understanding how the inspection of software works, you will have a greater understanding of how inspections are generally conducted across the board. While there are several variations in formal inspection methods, the similarities far outweigh the differences.
Defect analysis
With a foundation in this type of inspection, you will have a strong knowledge base of the understanding, interpreting, and translation of defects.
Discipline
It takes a great amount of discipline to conduct an inspection of software. With an understanding of how it works, you can carry that discipline over into other aspects of work and life.
An industry example of software inspection
With the OpenSSL cryptographic software library, there is a famous bug known as the Heartbleed Bug. This bug allows for the stealing of protected information by anyone on the Internet. Attackers are able to steal data directly, secretly monitor conversations, and more. This bug could have possibly been avoided with the proper inspection of the early versions of the Open SSL software.
3 best practices when thinking about software inspection
Here are some things to keep in mind when it comes to this type of inspection:
1. The design is not to make corrections
Inspection is undertaken by a separate team from the one that makes corrections.
2. The inspection is divided into two types
There is document inspection and review, which is concerned with the documents produced. The inspection of the documents focuses on the relevance, quality, and overall correctness of the documentation. The other type is the inspection and review of the code.
3. There are defined steps to the process
These are planning, overview, preparation, inspection, reworking, and follow-up.
Frequently Asked Questions (FAQ) about software inspection
Are “walkthroughs” and “code reviews” part of this type of inspection?
These are terms that are part of a more informal type of inspection. Software inspections are much more formal and rigid.
Who was Michael Fagan?
Michael Fagan is considered the father of software inspections and developed what is the most common of these types of inspections, known as the Fagan Style Software Inspection.
What is the formal usability inspection method?
It is a method derived from formal software inspections that focuses on a set of defined activities. These include planning, a kickoff meeting, individual preparation, a group inspection meeting, a rework meeting, and verification. There is a clearly defined process as well as trained inspectors with set roles.
The necessity of inspecting software
The rigorous inspection of software is necessary before it ever makes it into the hands of users. Thankfully, there are some set methods that root out the bulk of bugs in order to make sure that consumers receive a product that is safe, reliable, and of a high standard of quality.