Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_ТП (с рамками)_2013.docx
Скачиваний:
0
Добавлен:
01.01.2020
Размер:
253.1 Кб
Скачать

46. Основы тестирования программного обеспечения методом «чёрный ящик» (функциональное тестирование). Роль прецедентов в функциональном тестировании.

Известны: функции программы. Исследуется: работа каждой функции на всей области определения.

Основное место приложения тестов «черного ящика» -интерфейс ПО.

Эти тесты демонстрируют: как выполняются функции программ; как принимаются исходные данные; как вырабатываются результаты; как сохраняется целостность внешней информации.

При тестировании «черного ящика» рассматриваются системные характеристики программ, игнорируется их внутренняя логическая структура. Исчерпывающее тестирование, как правило, невозможно. Например, если в программе 10 входных величин и каждая принимает по 10 значений, то потребуется 1010 тестовых вари­антов. Тестирование «черного ящика» не реагирует на многие особенности программных ошибок. Данный метод тестирования позволяет получить комбинации входных данных, обеспечивающих полную проверку всех функциональных требований к программе. Программное изделие здесь рассма­тривается как «черный ящик», чье поведение можно определить только иссле­дованием его входов и соответствующих выходов.

Тестирование «черного ящика» обеспечивает поиск следующих категорий ошибок:

  1. некорректных или отсутствующих функций;

  2. ошибок интерфейса;

  3. ошибок во внешних структурах данных или в доступе к внешней базе данных;

  4. ошибок характеристик (необходимая емкость памяти и т. д.);

  5. ошибок инициализации и завершения;

Подобные категории ошибок способами «белого ящика» не выявляются. В отличие от тестирования «белого ящика», которое выполняется на ранней ста­дии процесса тестирования, тестирование «черного ящика» применяют на поздних стадиях тестирования. При тестировании «черного ящика» пренебрегают управ­ляющей структурой программы. Здесь внимание концентрируется на информаци­онной области определения программной системы.

Техника «черного ящика» ориентирована на решение следующих задач:

  • сокращение необходимого количества тестовых вариантов (из-за проверки не статических, а динамических аспектов системы);

  • выявление классов ошибок, а не отдельных ошибок.

Функциональное тестирование проводится для конкретных функций системы, представляемых некоторыми прецедентами. При этом относительно каждого прецедента имеется описания сценариев удачного выполнения. Т.е. имеется документированное описание поведения системы в той или иной ситуации для различного набора данных. А, следовательно, может быть проведено тестирование прецедентов на выявление несоответствий/соответствий в поведении системы относительно описаний успешного поведения по сценарию.

47. Основы тестирования программного обеспечения методом «белый ящик» (структурное тестирование).

Тестирование «белого ящика» основано на анализе управляющей структуры программы.

Известна: внутренняя структура программы. Исследуются: внутренние элементы программы и связи между ними.

Объектом тестирования здесь является не внешнее, а внутреннее поведение программы. Проверяется корректность построения всех элементов программы и правильность их взаимодействия друг с другом. Тестирование по принципу «белого ящика» характеризуется степенью, в какой тесты выполняют или покрывают логику (исходный текст) программы. Программа считается полностью проверенной, если проведено исчерпывающее тестирование маршрутов (путей) ее графа управления.

В этом случае формируются тестовые варианты, в которых:

  • гарантируется проверка всех независимых маршрутов программы;

  • проходятся ветви True, False для всех логических решений;

  • выполняются все циклы (в пределах их границ и диапазонов);

  • анализируется правильность внутренних структур данных.

(+) учесть особенности программных ошибок: 1) Количество ошибок минимально в «центре» и максимально на «периферии» программы. 2) Предварительные предположения о вероятности потока управления или данных в программе часто бывают некорректны. В результате типовым может стать маршрут, модель вычислений по которому проработана слабо. 3) При записи алгоритма ПО в виде текста на языке программирования возможно внесение типовых ошибок трансляции (синтаксических и семантических). 4) Некоторые результаты в программе зависят не от исходных данных, а от внутренних состояний программы.

(–): 1). Количество независимых маршрутов может быть очень велико. 2). Исчерпывающее тестирование маршрутов не гарантирует соответствия программы исходным требованиям к ней. 3). В программе могут быть пропущены некоторые маршруты. 4). Нельзя обнаружить ошибки, появление которых зависит от обрабатываемых данных.