Verification Methods in Software Verification
What is software verification?
Reviewing of any software for the purpose of finding faults is known as software verification. Verification is the process of checking that a software achieves its goal without any bugs. It is the process to ensure whether the product that is developed is right or not. The reviewing of a document can be done from the first phase of software development i.e. software requirement and analysis phase where the end product is the SRS document. There are many methods for practicing the verification of the software like peer reviews, walkthroughs, inspections, etc that can help us in the prevention of potential faults otherwise, it may lead to the failure of software.
Methods of Verification :
1. Peer Reviews –
The very easiest method and informal way of reviewing the documents or the programs/software for the purpose of finding out the faults during the verification process is the peer-review method. In this method, we give the document or software programs to others and ask them to review those documents or software programs where we expect their views about the quality of our product and also expect them to find the faults in the program/document. The activities that are involved in this method may include SRS document verification, SDD verification, and program verification. In this method, the reviewers may also prepare a short report on their observations or findings, etc.
- You can expect some good results without spending any significant resources.
- It is very efficient and significant in its nature.
- Lead to bad results if the reviewer doesn’t have sufficient knowledge.
2. Walk-through –
Walk-throughs are the formal and very systematic type of verification method as compared to peer-review. In a walkthrough, the author of the software document presents the document to other persons which can range from 2 to 7. Participants are not expected to prepare anything. The presenter is responsible for preparing the meeting. The document(s) is/are distributed to all participants. At the time of the meeting of the walk-through, the author introduces the content in order to make them familiar with it and all the participants are free to ask their doubts.
- It may help us to find potential faults.
- It may also be used for sharing documents with others.
- The author may hide some critical areas and unnecessarily emphasize some specific areas of his / her interest.
3. Inspections –
Inspections are the most structured and most formal type of verification method and are commonly known as inspections. A team of three to six participants is constituted which is led by an impartial moderator. Every person in the group participates openly, actively, and follows the rules about how such a review is to be conducted. Everyone may get time to express their views, potential faults, and critical areas. After the meeting, a final report is prepared after incorporating necessary suggestions by the moderator.
- It can be very effective for finding potential faults or problems in the documents like SRS, SDD, etc.
- The critical inspections may also help in finding faults and improve these documents which can in preventing the propagation of a fault in the software development life cycle process.
- They take time and require discipline.
- It requires more cost and also needs skilled testers.
Applications of verification methods :
The above three verification methods are very popular and have their own strengths and weaknesses. We can compare these methods on various specific issues as given below:
|S.no||Method||Presenter||No. of Members||Pre-requisites||Report||Strength||Weakness|
|1.||Peer reviews||0||1 or 2||No prerequisite||Not Required||Less-Expensive||Output is dependent on the ability of the reviewer|
|2.||Walkthrough||Author||2 to 7 members||The only presenter is required to be prepared||The report is prepared by the presenter||Knowledge sharing||Find few faults and not very expensive|
|3.||Inspection||Author and other members||3 to 6 members||All participants are required to be prepared||The report is prepared by the moderator||Effective but may get faults||Expensive and requires very skilled members|
Hence, Verification is likely more effective than validation but it may find some faults that are somewhat impossible to find during the validation process. But at the same time, it allows us to find faults at the earliest possible phase/time of software development.