Теоретические сведения

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

Отладка программы - это этап ее разработки, на котором устраняются недостатки только что созданной программы.

Если программа правильно ведет себя для солидного набора тестов, нет оснований, утверждать, что в ней нет ошибок. Просто неизвестно, когда она не работает и можно говорить лишь о некотором уровне ее правильности.

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

Тест - это просчитанный вручную или другим способом пример, промежуточные и конечные результаты которого используются для контроля правильности (живучести) программного изделия. Тест состоит из исходных данных и тех значений, которые дол­жны выдать отладочные печати при работе по этому тесту. Эти знач­ения должны быть записаны в точности в том виде, в котором их должна выдать ЭВМ. Эти значения желательно получить любым путем, но не тем, который реализован в программе, т.к. в последнем случае можно не заметить ошибки в алгоритмизации.

Комплект тестов должен быть таким:

- чтобы проверить все варианты внешнего эффекта программы и ва­рианты ее внутренней работы алгоритма;

- чтобы все ветви алгоритма были пройдены, по крайней мере, по од­ному разу.

- чтобы проконтролировать предельные и вырожденные случаи.

Тестовые данные должны подбираться таким образом, чтобы прог­раммист был в состоянии вычислить правильный результат ещё до на­чала тестирования.

Процесс тестирования программы можно разделить на три этапа:

1. Проверка в нормальных условиях.

2. Проверка в экстремальных условиях.

3. Проверка в исключительных ситуациях.

Каждый из этих трех этапов проверки должен гарантировать по­лучение верных результатов при правильных входных данных и выдачу сообщений об ошибках при неправильных входных данных.

Проверка в нормальных условиях

Случаи, когда программа должна работать со всеми возможными исходными данными, чрезвычайно редки. Обычно имеют место конкрет­ные ограничения на область изменения данных, в которой программа должна сохранять свою работоспособность. Программа должна выда­вать правильные результаты для характерных совокупностей исход­ных данных.

Проверка в экстремальных условиях

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

Проверка в исключительных ситуациях.

Используются исходные данные, значения которых лежат за пре­делами допустимой области их изменения. Наихудшая ситуация когда программа воспринимает неверные данные как правильные и выдаёт неверный, но правдоподобный результат. Программа должна отвергать любые данные, которые она не в состоянии обрабатывать верно.

Пример тестов.

Пусть требуется вычислить длину диагонали параллелепипеда по формуле <!--[if !vml]--> Теоретические сведения - student2.ru <!--[endif]--> Необходимо сформировать тестовые данные для нормальных, экстремальных и исключительных условий.

    Стороны Параллепипеда   Примечание
1 1 1 Хороший нормальный тест d <!--[if !vml]--> Теоретические сведения - student2.ru <!--[endif]--> 1,7320508  
1 2 3 Тест в нормальных условиях d <!--[if !vml]--> Теоретические сведения - student2.ru <!--[endif]--> 3,7416577  
0 0 0 Результат должен быть равен нулю  
0 1 2 Не параллепипед. Что произойдет?  
1 0 3 Неверные данные  
2 1 0 Неверные данные  
1 -6 3 Неверные данные  
A B C Неверные данные  
         

Раздел №9

Наши рекомендации