Structuring techniques for verifying the correctness of software programs include formal inspections. It is not always possible to develop automatic or at least clearly formalized manual tests for checking functionality of a software system. In some cases, the execution of the code being tested is not possible under conditions created by the test environment. This situation might arise with embedded systems, if the program code is designed to handle exceptions created only for real hardware.
In cases where testing is done not on a program code but on the system design documentation that cannot be “executed”, as well as separate test cases cannot be created for it, forensic analysis is carried out to check the program code or the documentation for correctness or consistency.
This is an expert’s investigation known as inspection or review. There are two types of inspections – formal and informal.
In the case of an informal inspection, the author of some document or part of the software system passes it to the expert, who, having read the document, gives the author a list of comments on errors that he corrects. The very fact that the inspection is carried out and comments, as a rule, are not separately saved somewhere, the corrections made according to the expert’s remarks are also not checked in any way.
Quality assurance company works to help people create marketable software by monitoring its development across the entire life cycle.
Formal inspection, on the contrary, is a clearly controlled process, which structure is usually clearly defined by the relevant project standard. Thus, all formal inspections have the same structure and identical output documents, which are then used for software development.
The starting point in a formal inspection is clearly recorded in the general database of the project. Documents that are subject to inspection, lists of comments are also documented, and changes made to commented defects are tracked. This formal inspection is similar to automated testing – lists of comments have much in common with reports on test case execution.
In the course of a formal inspection, a team of specialists performs an independent verification of the existing documents’ compliance with the original documents. Independence of verification is ensured by the fact that it is carried out by inspectors who did not participate in the development of the document under test. The inputs of the formal inspection process are the documents under test and the source documents, and the outputs are inspection materials that include a list of detected non-conformances and a decision to change the status of the documents under test.
Add Comment