An important part of the test process is checking the program for common errors using a list of questions based on error detection. In the proposed list, attention is focused (for example, on the examination of style, and not errors (questions like “Are the comments accurate and informative?” And “Are the characters THEN / ELSE and DO / END aligned under each other?”, but it does seem like the correct approach, however. Also, it is unreasonable to create the list that has uncertainties, as this greatly reduces its usefulness (questions like” Does the text of the program correspond to the requirements specified in the design phase?”). The list given in this article was compiled by various authors. The basis is Myers’ list that was supplemented by the author after years of study of software errors. This list was developed by him and also by other specialists. The list of training packages was taken into consideration as well. Generally, the list is language-independent; this means that most errors occur in any programming language. Any specialist can supplement this list with questions that allow him to identify errors specific to the programming language he uses and errors that he discovered during the test process.
Coming in contact with quality consulting firms you make it possible for yourself to obtain knowledge on how to create better software products and make them appealing to customers.
Data access errors
The consolidated list of questions is as follows:
- Are non-defined variables used?
The presence of such variables is the most common program error, which occurs under different circumstances. For each access to a data unit (for example, to a variable, an array element, a field in the structure, an attribute in the class), you need to try to informally “prove” that it is assigned a value at the point to be checked.
- Do the indices lie outside the given boundaries?
Does not the value of each of the indices go beyond the boundaries defined for the corresponding measurement for all accesses to the array, vector, list, etc.?
- Are there any non-integer indices?
Does each index take integer values for all accesses to the array, vector, list? Non-integer indices are not necessarily associated with an error for all programming languages, but constitute a practical danger.
- Are there “suspended” applications?
Is the object created (memory allocated) for all calls using pointers or reference variables to the object (or memory)? The presence of variable-references is a type of “suspended” error.