Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестирование ПО (лекции).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.27 Mб
Скачать

2.4.5. Тестирование операций сравнения чисел

Разбиение на классы эквивалентности широко используется при тестировании корректности реализации арифметических операций и операций сравнения. Каждую операцию можно рассматривать как блок с входами – значениям и выходом – результатом операции. Для ее тестирования выполняется разбиение диапазона изменения переменных на входах блока на классы эквивалентности и методом анализа граничных значений этих переменных.

В таблице 3 приведены тестовые наборы для блоков реализующих операции сравнения, в случае, когда на один из входов блока подаётся константа.

Таблица 3. Блоки сравнения и определённые для них тестовые наборы

greaterThan блок. Реализует операцию сравнения a>b (b – константа, на входе a может быть переменная числового типа)

greaterEq блок. Реализует операцию сравнения a>=b (b – константа, на входе a может быть переменная числового типа)

набора

1

2

3*

4

5

набора

1

2

3*

4

5

Вход a

b - d

b + d

b

min

max

Вход a

b - d

b + d

b

min

max

Выход

F

T

F

F

T

Выход

F

T

T

F

T

lessThan блок. Реализует операцию сравнения a<b (b – константа, на входе a может быть переменная числового типа)

lessEq блок. Реализует операцию сравнения a<=b (b – константа, на входе a может быть переменная числового типа)

набора

1

2

3*

4

5

набора

1

2

3*

4

5

Вход a

b - d

b + d

b

min

max

Вход a

b - d

b + d

b

min

max

Выход

T

F

F

T

F

Выход

T

F

T

T

F

equalTo блок. Реализует операцию сравнения a=b (b – константа, на входе a может быть переменная числового типа)

notEqualTo блок. Реализует операцию сравнения a≠b (b – константа, на входе a может быть переменная числового типа)

набора

1

2

3

4

набора

1

2

3

4

Вход a

≠ b

b

min

max

Вход a

≠ b

b

min

max

Выход

F

T

F

F

Выход

T

F

T

T

* тестовый набор реализуем только если переменная на входе a – переменная целого типа

В приведённых тестовых наборах используются следующие обозначения:

  • d – шаг изменения (resolution) переменной на входе a. Если переменная на входе a – переменная целого типа, то d равно 1

  • min – минимальное значение переменной на входе a

  • max – максимальное значение переменной на входе a

В таблице 4 приведены тестовые наборы для блоков реализующих операции сравнения, в случае, когда на оба входа блока подаются переменные.

Таблица 4. Блоки сравнения и определённые для них тестовые наборы (продолжение)

greaterThan блок. Реализует операцию сравнения a>b (a, b – переменные числового типа)

greaterEq блок. Реализует операцию сравнения a>=b (a, b – переменные числового типа)

набора

1

2

3*

4

5

набора

1

2

3*

4

5

Вход a

val

val

val

min

max

Вход a

val

val

val

min

max

Вход b

val + d2

val - d2

val

max

min

Вход b

val + d2

val - d2

val

max

min

Выход

F

T

F

F

T

Выход

F

T

T

F

T

lessThan блок. Реализует операцию сравнения a>b (a, b – переменные числового типа)

lessEq блок. Реализует операцию сравнения a>=b (a, b – переменные числового типа)

набора

1

2

3*

4

5

набора

1

2

3*

4

5

Вход a

val

val

val

min

max

Вход a

val

val

val

min

max

Вход b

val + d2

val - d2

val

max

min

Вход b

val + d2

val - d2

val

max

min

Выход

T

F

F

T

F

Выход

T

F

T

T

F

equalTo блок. Реализует операцию сравнения a=b (a, b – переменные любого типа)

notEqualTo блок. Реализует операцию сравнения a≠b (a, b – переменные любого типа)

набора

1

2

3

4

набора

1

2

3

4

Вход a

val1

val

min

max

Вход a

val1

val

min

max

Вход b

val2

val

max

min

Вход b

val2

val

max

min

Выход

F

T

F

F

Выход

T

F

T

T

* тестовый набор реализуем только если переменные на входах блока - переменные целого типа

В приведённых тестовых наборах используются следующие обозначения:

  • d2 – шаг изменения (resolution) переменной на входе b. Если переменная на входе b – переменная целого типа, то d2 равно 1

  • val, val1, val2 – значения взятые из середины диапазона, полученного при пересечении диапазонов переменных на входах a и b

  • min – минимальное значение переменной на входе блока

  • max – максимальное значение переменной на входе блоке