- •Неисправности (Ошибки) ПО
- •Неисправности (Ошибки) ПО
- •Неисправности (Ошибки) ПО
- •Неисправности (Ошибки) ПО
- •Неисправности (Ошибки) ПО
- •Неисправности (Ошибки) ПО
- •Неисправности (Ошибки) ПО
- •Неисправности (Ошибки) ПО
- •Неисправности (Ошибки) ПО
- •Неисправности (Ошибки) ПО
- •Неисправности (Ошибки) ПО
- •Неисправности (Ошибки) ПО
- •Black Box тестирование ПО
- •Black Box тестирование ПО
- •Вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное. тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
- •Управляемое вероятностное тестирование ПО
Неисправности (Ошибки) ПО
VICTOR R. BASILI and BARRY T. PERRICONE SOFTWARE ERRORS AND COMPLEXITY: AN EMPIRICAL INVESTIGATION Communications of the ACM January 1984 Volume 27 Number 1ПО
Error: An error is something detected within the executable code that caused the module in which it occurred to perform incorrectly (i.e., contrary to its expectedfunction).
The error classification used throughout the Software Engineering Laboratory is as follows.
A:Requirements incorrect or misinterpreted.
B:Functional specification incorrect or misinterpreted.
C:Design error involving several components.
1.Mistaken assumption about value or structure of
data.
2.Mistake in control logic or computation of an expression.
Неисправности (Ошибки) ПО
D:Error in design or implementation of single component.
1.Mistaken assumption about value or structure of
data.
2.Mistake in control logic or computation of an expression.
E:Misunderstanding of external environment.
F:Error in the use of programming language/compiler.
G:Clerical error.
H:Error due to previous miscorrection of an error.
Неисправности (Ошибки) ПО
Mistake – a human action that produces an incorrect result.
Fault (Defect) – an incorrect step, process, or data definition in a program.
Failure – the inability of a system or component to perform its required function within the specified performance requirement.
Error – the difference between a compute d, observed, or measured value or condition and the true, specified, or theoretically correct value or condition.
Неисправности (Ошибки) ПО
Определение 1. Неисправностью (Fault) вычислительной системы является такая ее функциональность, которая может приводить к новым выходным значениям (наблюдаемому поведению) и/или к новому состоянию системы, несоответствующим спецификации системы и требованиям, предъявляемым к ней.
Определение 2. Ошибкой (Error) вычислительной системы, из- за наличия в ней неисправности, является формирование для некоторого множества входных значений системы вычислительно или путем выборки одного или более неверных результатов, отличающихся от ожидаемых значений.
Определение 3. Неисправным поведением (Failure) вычислительной системы (сбоем вычислительной системы) называется формирование наблюдаемых выходных значений системы, отличных от ожидаемых, для некоторого множества входных значений.
Неисправности (Ошибки) ПО
Спецификация
системы
Ошибки
реализации
Внешние
факторы
Физические
дефекты
Неисправности |
|
|
Ошибки |
|
|
||
программного |
|
|
вычислительной |
обеспечения |
|
|
системы |
Неисправности |
|
Неисправное поведение |
аппаратной |
|
вычислительной |
части системы |
|
системы |
|
|
|
Причинно-следственная связь между неисправностями, ошибками и неисправным поведением вычислительной системы
Неисправности (Ошибки) ПО
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . .
а) |
б) |
в) |
Типовые входные тестовые воздействия
а) точечные тестовые наборы (point failure patterns); б) узкополосные тестовые наборы (strip failure patterns);
в) блочные тестовые наборы (block failure patterns)
Неисправности (Ошибки) ПО
Example. Point failure-causing pattern int X, Y, Z;
do{
scanf(“Enter X, Y: %d, %d”, X, Y); } while (X <=0 || Y <= 0);
if (((X % 4) == 0) && ((Y % 6) ==0)) Z = X / (2 * Y);
/* the correct statement should be “ Z = X / 2 * Y;”*/ else
Z = X * Y; printf(“%d”, Z);
In Example, the program’s output will be incorrect when X and Y are divisible by 4 and 6, respectively.
Неисправности (Ошибки) ПО
Example . Strip failure-causing pattern int X, Y, Z;
do{
scanf(“Enter X, Y: %d, %d”, X, Y); } while (X <=0 || Y <=0);
if ( 2 * X - Y > 10)
/* the correct statement should be “ if (2 * X -Y > 18)” */ Z = X / 2 * Y;
else
Z = X * Y; printf(“%d”, Z);
In Example, the program will return incorrect outputs when X and Y satisfy the condition that 18 2*X –Y > 10. In other words, failure- causing inputs lie between the lines 2*X –Y = 18 and 2*X –Y = 10.
Неисправности (Ошибки) ПО
Example. Block failure-causing pattern int X, Y, Z;
do{
scanf(“Enter X, Y: %d, %d”, X, Y); } while (X <= 0 || Y <= 0);
if (( X >= 10 && X <= 11) && (Y >= 10 && Y <= 12)) Z = X / (2 * Y);
/*the correct statement should be “Z = X / 2* Y;”*/ else
Z = X * Y; printf(“%d”, Z);
In Example, the program’s output will be incorrect when X and Y satisfy the conditions that 11 X 10 and 12 Y 10, respectively. Thus, failure-causing inputs fall into the region with boundaries, X = 11, X =10, Y = 12 and Y = 10.
Неисправности (Ошибки) ПО
.
а) б) в) г)
Типовые входные тестовые воздействия запоминающих устройств
