БИБЛИОТЕКА НОРМАТИВНЫХ ДОКУМЕНТОВ

ГОСТ Р 56921-2016/ISO/IEC/IEEE 29119-2:2013. Национальный стандарт Российской Федерации. Системная и программная инженерия. Тестирование программного обеспечения. Часть 2. Процессы тестирования

Приложение A

(справочное)

 

ПРИМЕР ИСПОЛЬЗОВАНИЯ ПРОЦЕССА ПРОЕКТИРОВАНИЯ ТЕСТИРОВАНИЯ

 

Ниже приведен пример использования действий от TD2 до TD5 Процесса Разработки и Реализации Тестирования.

Фрагмент Базиса Тестирования

"Система должна принимать страховых заявителей в возрасте от 18 до 80 лет на день заявления на основе ввода данных об их возрасте в целых годах; все остальные страховые заявители должны быть отклонены.

Принятые претенденты в возрасте 70 лет и старше должны получить предупреждение, что в случае возникновения претензии они должны заплатить более 1000 долларов США".

Критерий Завершения Тестирования

"Критерий Завершения Тестирования - это достижение стопроцентного покрытия раздела эквивалентности и успешное выполнение всех контрольных примеров (успех - состояние "тест прошел").

Тестовые Условия (TD2)

На основании критерия завершения тестирования Тестовые Условия - это разделы эквивалентности для описанного поведения системы.

На основе входа получен следующий раздел допустимых значений:

TCOND-1. 18 <= Возраст <= 80

Точно так же на основе входа получены следующие два раздела недопустимых значений:

TCOND-2. Возраст < 18.

TCOND-3. Возраст > 80.

Менее очевидные разделы недопустимого входа могут включать в себя ввод данных других типов, таких, как ввод нецелого числа и нечисловых данных. Так, можно также создать следующие разделы эквивалентности недопустимых входных данных:

TCOND-4. Возраст = буква

TCOND-5. Возраст = специальный символ.

Следует обратить внимание на то, что в зависимости от необходимой строгости, можно создать дополнительные разделы недопустимых входов, таких как нецелые числа (например, 33,67 года). Потенциально множество недопустимых выходных данных бесконечно велико.

Рассматривая действительные (указанные) выходные данные, идентифицированы следующие разделы эквивалентности:

 

TCOND-6. Принять

(Условие: 18 <= Возраст <= 80),

TCOND-7. Отклонить

(Условие: (Возраст < 18) ИЛИ (Возраст > 80)),

TCOND-8. Предупредить

(Условие: 70 <= Возраст <= 80).

Недействительным результатом будет любой результат элемента тестирования, отличный от определенных. Идентифицировать неопределенные результаты может оказаться сложным, однако их нужно рассмотреть, потому что, если мы сможем их получить, то затем определим дефект в элементе тестирования, его базисе тестирования или в том и другом. В этом примере был идентифицирован и показан всего один неопределенный результат. Следует отметить, что другие тестеры могут получить иные, очень отличающиеся недопустимые результаты.

TCOND-9. Сообщить о скидке (Условие: 40 <= Возраст <= 55).

Следует обратить внимание на то, что предлагаемые раздел и сообщение субъективны и могут коренным образом отличаться от предполагаемых другим тестером.

Элементы Тестового Покрытия (TD3)

Используя разбиение эквивалентности (разбиение эквивалентности просто требует проверки каждого раздела), далее получаем семь следующих элементов тестового покрытия:

 

TCI 1.

18 <= Возраст <= 80

(Покрывает TCOND-1/TCOND-6)

TCI 2.

Возраст <= 18

(Покрывает TCOND-2/TCOND-7)

TCI 3.

Возраст > 80

(Покрывает TCOND-3/TCOND-7)

TCI 4.

Возраст = w

(Покрывает TCOND-4)

TCI 5.

Возраст = &

(Покрывает TCOND-5)

TCI 6.

70 <= Возраст <= 80

(Покрывает TCOND-8)

TCI 7.

40 <= Возраст <= 55

(Покрывает TCOND-9)

 

Контрольные примеры (TD4)

Если создать контрольные примеры, которые проверяют каждый из этих семи элементов тестового покрытия, то можно достичь стопроцентного покрытия раздела эквивалентности.

При создании контрольных примеров можно заметить, что отдельный контрольный пример может иногда проверять больше одного элемента тестового покрытия. Преимущества сокращения числа контрольных примеров очевидно, поскольку это уменьшает время выполнения теста; однако этому преимуществу иногда могут противостоять дополнительное время, требуемое для определения минимальной совокупности, и потенциально более сложная отладка, требуемая контрольными примерами для нескольких элементов тестового покрытия.

В этом примере два из контрольных примеров проверяют больше чем один элемент тестового покрытия как показано ниже:

 

ПРИМЕР#1.

Ввод: 'Возраст = 53'

Ожидаемый результат: "Принять".

(Проверяет TCI-1 и TCI-7)

ПРИМЕР#2.

Ввод: 'Возраст = 15'

Ожидаемый результат: "Отклонить".

(Проверяет TCI-2)

ПРИМЕР#3.

Ввод: 'Возраст = 89'

Ожидаемый результат: "Отклонить".

(Проверяет TCI-3)

ПРИМЕР#4.

Ввод: 'Возраст = w'

Ожидаемый результат: "Отклонить".

(Проверяет TCI-4)

ПРИМЕР#5.

Ввод: 'Возраст = &'

Ожидаемый результат: "Отклонить".

(Проверяет TCI-5)

ПРИМЕР#6.

Ввод: 'Возраст = 77'

Ожидаемый результат: "Принять и предупредить".

(Проверяет TCI-6 и TCI-1)

 

Эти шесть контрольных примеров обеспечивают проверку всех элементов тестового покрытия, достигая, таким образом, критерия завершения тестирования.

Набор тестов (TD5)

Если предполагается, что для целочисленных входных данных возможна автоматизация тестирования, а ввод нецелого числа должен обрабатываться вручную, то можно создать два набора тестов: один для ручного тестирования и один для автоматизированного тестирования.

    TS1: Примеры # 4 и 5        - ручное тестирование.

    TS2: Примеры # 1, 2, 3, и 6 - автоматизированное тестирование.

 

 

 

 

TOC