Тестирование блоков реализуется по отношению к самым маленьким доступным для тестирования элементам (блокам)
программного обеспечения и включает в себя тестирование внутренней структуры, например, логики и потоков данных, а
также функции блоков и наблюдаемые алгоритмы. Разработка и реализация тестов сосредоточены на зависимости внутренней
структуры блоков от знаний о реализации блоков (метод прозрачного ящика). Разработка и реализация тестов для проверки
наблюдаемых алгоритмов работы и функций блоков не зависит от знания реализации и поэтому известны как метод черного
ящика.
Оба метода применяются для разработки и реализации различных типов тестов (см. Методика: Тип
тестов), необходимых для успешного и полного тестирования блоков.
Дополнительная информация о создании вариантов тестирования для тестов блоков приведена в разделе Методика: Вариант тестирования.
Метод прозрачного ящика следует использовать для проверки внутренней структуры блоков. Теоретически, следует
протестировать все возможные пути выполнения кода, однако это возможно только для очень простых блоков. В крайнем
случае, следует протестировать все пути от решения до решения (DD-путь) по крайней мере один раз, поскольку
затем все операторы будут выполняться по крайней мере один раз. Решение обычно представляет собой оператор if, а
DD-путь - это путь между двумя решениями.
Для достижения этого уровня выполнения теста рекомендуется выбирать данные для тестирования таким образом, чтобы каждое
решение оценивалось по всем возможным путям.
Используйте инструменты данных о прогоне кода для обнаружения кода, не протестированного методом прозрачного ящика.
Тесты на достоверность следует выполнять одновременно с тестированием методом прозрачного ящика.
Дополнительная информация приведена в разделе Методика: Вариант
тестирования
Целью тестирования методом черного ящика является проверка указанной функции блока и наблюдаемого алгоритма без знаний
о том, как в блоке реализуется эта функция и алгоритм. Тесты методом черного ящика сосредоточены и опираются на
ввод и вывод блока.
При создании тестов блоков, основанных на методе черного ящика, используются аргументы ввода и вывода операций блока,
и/или конечное состояние для оценки. Например, операция может включать алгоритм (требующий два значения в качестве
ввода и возвращающий третье значение в качестве вывода), либо инициировать изменение состояния объекта или компонента,
например, добавление или удаление записи базы данных. И то, и другое следует протестировать полностью. Для
тестирования операции следует создать достаточно вариантов тестирования для проверки следующего:
-
для каждого допустимого входного значения операцией возвращается соответствующее значение
-
для каждого недопустимого входного значения операцией возвращается соответствующее значение
-
для каждого допустимого входного состояния наблюдается соответствующее конечное состояние
-
для каждого недопустимого входного состояния наблюдается соответствующее конечное состояние
Используйте инструменты данных о прогоне кода для обнаружения кода, не протестированного методом прозрачного ящика.
Тесты на достоверность следует выполнять одновременно с тестированием методом черного ящика.
Дополнительная информация приведена в разделе Методика: Вариант
тестирования
|