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

Введение

Тестирование – процесс выполнения программы с намерением найти ошибки.

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

На левой границе спектра расположена стратегия “Чёрного ящика”. Основная цель этой стратегии – проверить все возможные комбинации значений входных величин. На правой границе спектра находится стратегия “Белого ящика”. Основная её цель – проверить каждый путь, каждую ветвь алгоритма. Стратегия ”белого ящика” позволяет исследовать внутреннюю структуру программы. Подразумевается, что программа проверена полностью, если с помощью тестов удаётся осуществить выполнение программы по всем возможным маршрутам её потока передач управления.

Ни одна из этих крайностей не является хорошей стратегией. Тестирование – проблема в значительной степени экономическая. Тестирование программы для всех комбинаций значений входных данных по стратегии “Чёрного ящика” (исчерпывающее тестирование) неосуществимо, так как количество тестов исчислялось бы миллиардами. Каждый тест должен давать максимальную отдачу по сравнению с затратами. Затраты измеряются временем и стоимостью подготовки, выполнения и проверки результатов теста. По существу, искусство тестирования представляет собой искусство отбора тестов с максимальной отдачей. Каждый тест должен быть представителем некоторого класса входных значений, так, чтобы его правильное выполнение создавало некоторую убеждённость в том, что для определённого класса входных данных программа будет выполняться правильно. Это требует некоторого знания алгоритма и структуры программы, что смещает тестировщика к правому краю спектра стратегий.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: