The IEEE 1044-93 Standard Classifies Possible Software Anomalies
Fault Density
A program can be executed with the intent to discover defects and verify that this product is fit for use. Then defects found are classified according their severity and priority. For each class of defects, you can define defect density – the ratio of the number of corresponding defects per size of the program (in the terms of chosen metrics for the product size estimation).
Life test, reliability evaluation
Statistical expectations regarding the reliability of a software system can be used to decide whether to continue or stop (end) testing, based on specified parameters for indicating acceptable quality (for example, the defect density of a given class).
Reliability growth models
These models provide the ability to predict the reliability of the system, based on the observed failures. These models are divided into two groups – the number of failures and time-between-failure.
Evaluation of the tests performed
- Coverage / thoroughness metrics
In some cases, test adequacy criteria require that tests be systematically executed on a certain set of the program’s components defined by its architecture or specification. The corresponding metrics allow us to estimate the degree of coverage of the system characteristics (for example, the percentage of various performance parameters under test) and the level of detail for each of them (for example, random testing or boundary value analysis of performance parameters, etc.). Such metrics help to predict the probability of achieving the quality parameters for a given system.
- Fault seeding
“With your own hands ?! Never! … “- this is usually the first reaction to the idea of artificial defects, for example, in the program code. When applied, this approach helps to classify possible errors and the following failures, applying further the results obtained for modeling (albeit often, intuitive) possible causes of real failures found during testing.
Undoubtedly, this technique should be used with the utmost care by experienced specialists who are well aware of the overall architecture of the software system being tested and are familiar with its internal workings.
You might want to ask questions about this topic, please, do not hesitate to use software qa consulting services. These are provided by a reputed quality assurance company TestMatick on a regular basis.