Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТП-модуль№3__шп__need.doc
Скачиваний:
20
Добавлен:
21.03.2015
Размер:
135.68 Кб
Скачать
  1. Тестирование по

ТЕСТИРОВАНИЕ- процесс выполнения программы с целью обнаружения ошибки.

Один из наиболее трудоемких этапов(до 60% общей трудоемкости) создания прогр продукта является тестирование. Причем доля стоимости тестирования в общей стоимости разработки имеет тенденцию возрастать при увеличении сложности комплексов программ и повышени требований к их качеству.

Различают тестиров-е и отладку.

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

Отладка – процесс выяв-я ош-к и внесение исправлений в прогу.

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

Никакое тестирование не может доказать отсутствие ошибок в программе.

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

Для полной проверки проги необходимо выполнить исчерпывающее тестирование. Оно требует проверить все возможные наборы входных данных и все варианты их обработки. В больш-ве случаев это невозможно.

При тестировании рекомендуется соблюдать основные принципы:

1 Нельзя планировать тестиров-е, предполагая, что ошибки не будут обнаружены.

2 Хорошим считается тест, который имеет высокую вероятность обнаружения еще не выявленной ошибки. Удачным считается тест, обнаруживающий хотя бы одну еще не выявленную ошибку.

3 Предполагаемые результаты должны быть известны до тестирования. Нарушение этого принципа – одна из наиболее распространенных ошибок. Ошибочные, но правдоподобные рез-ты могутбыть признаны провильными, if рез-ты теста не были заранее определены. Поэтому тест должен включать 2 компонента: 1) опис-е вх-х данных; 2) опис-е точного и корректного рез-та, соотвующего набору вх-х данных.

3 Следует избегать тестирования программы ее автором

4 Необходимо досконально изучить результаты каждого теста

5 Необходимо проверить действие программы на неверных данных.

6 Необходимо проверить программу на неожиданные побочные эффекты – проверить не тольго выполнение прогой того, для чего онна предназначена, но и того, не делает ли она лишнего.

7 Вероятность наличия ошибки в части программы пропорциональна количеству ошибок, уже обнаруженных в этой части. Ошибки могут группироваться в тех частях проги, кот-е разрабатывались программистами низкой квалификации или были слабо проработыны идеалогически = > ifв какой-то части проги найдено много ошибок, то на тестиров-е этой части необходимо направить дополнит-е силы.

  1. Тестирование по принципу белого ящика (структурное).

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

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

Прога считается полностью проверенной, если с пом-ю тестов удается выполнить эту прогу по всем возможным маршрутам ее исполнения. Для этого формир-ся тесты (или тестовые варианты), в которых:

  1. Гарантируется проверка всех независимых маршрутов проги

  2. Проходятся ветви ИСТИНА и ЛОЖЬ для всех логических решений

  3. Выполняются все циклы в пределах их границ и диапазонов

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

Недостатки:

1. Количество независимых маршрутов может быть очень велико. Например, если цикл в программе выполняется k раз, а внутри цикла имеется п ветвлений, то количество маршрутов вычисляется по формуле.

При п = 5 и k = 20 количество маршрутов т = 1014. Примем, что на разработку, выполнение и оценку теста по одному маршруту расходуется 1 мс. Тогда при работе 24 часа в сутки 365 дней в году на тестирование уйдет 3170 лет. Поэтому исчерп. Тест-е в больш-ве случаев невозможно.

2. Исчерпывающее тестирование маршрутов не гарантирует соответствия прогри исходным треб-ям к ней.

3. В проге могут быть пропущены некоторые маршруты.

4. Нельзя обнаружить ошибки, появление которых зависит от обрабатываемых данных.

Достоинства

Принцип «белого ящика» позволяет учесть особенности программных ошибок:

1. При кодировании возможны синтаксические и семантические ош-ки.

2. Количество ошибок минимально в «центре» и максимально на «периферии» программы.

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

4. Некоторые результаты в программе зависят не от исходных данных, а от внутренних состояний программы.

Каждая из этих причин является аргументом для проведения тестирования по принципу «белого ящика». Тесты «черного ящика» не смогут реагировать на ошибки таких типов.

Стратегия «белого ящика» включает в себя следующие методы тестирования:

  1. покрытие операторов.

  2. Покрытие решений.

  3. Покрытие условий.

  4. Покрытие решений/ условий.

  5. Комбинаторное покрытие условий.