Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Курск -2014






В.Н. ЛОПИН

Методические указания к выполнению контрольной работы

по дисциплине «Программная инженерия»

для студентов, обучающихся по направлению

«Бизнес-информатика»

 

Тема: Тестирование ПО на основе стратегии «Белого ящика»

 

 

Курск -2014

 

Содержание

 

1. Теоретическая часть. Виды тестирования. ……………………………….…. 3

2. Стратегия «белого ящика»………………………………………………….… 6

· Метод покрытия решений ………………………………………….…...6

· Метод комбинаторного покрытия условий ……………………….… 10

3. Структура контрольной работы …………………………………………...…15

4. Пояснения к выполнению контрольной работы ……………………….........15

5. Приложение 1 ………………………………………………………………….17

6. Приложение 2 ………………………………………………………………….18

7. Приложение 3 ………………………………………………………………….19

1. Теоретическая часть. Виды тестирования

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

• постановка задачи для теста;

• проектирование теста;

• написание тестов;

• тестирование тестов;

• выполнение тестов;

• изучение результатов тестирования.

Наиболее важным является проектирование тестов. Сущест­вуют разные подходы к проектированию тестов.

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

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

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

Тестирование методом «белого ящика» также не дает 100%-ной гарантии того, что модуль не содержит ошибок. Даже если предположить, что выполнены тесты для всех ветвей алго­ритма, нельзя с полной уверенностью утверждать, что программа соответствует ее спецификациям. Например, если требовалось написать программу для вычисления кубического корня, а про­грамма фактически вычисляет корень квадратный, то реализация будет совершенно неправильной, даже если проверить все пути. Вторая проблема — отсутствующие пути. Если программа реали­зует спецификации не полностью (например, отсутствует такая специализированная функция, как проверка на отрицательное значение входных данных программы вычисления квадратного корня), никакое тестирование существующих путей не выявит такой ошибки. И наконец, проблема зависимости результатов тестирования от входных данных. Одни данные будут давать пра­вильные результаты, а другие нет. Например, истинность выражения вида A + B+C/3 = A зависит от конкретных значений переменных А, В и С.Если концентрировать внимание только на тестировании путей, нет гарантии, что эта ошибка будет выявлена.

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

В контрольной работе необходимо провести тестирование на основе стратегии «белого ящика». Технология такого тестирования рассматривается на двух конкретных примерах схем алгоритмов, отражающих особенности этой стратегии. В приводимых схемах алгоритмов используется проверка выполнения некоторых условий для определения дальнейшего пути вычислительного процесса. Эти условия записываются с помощью соответствующих логических выражений, использующих операцию логического умножения – and, и операцию логического сложения – or.

Ниже приведены все возможные результаты (1, 0) выполнения этих операций в зависимости от входных значений (Ложь, Истина).

 

(Ложь) and (Ложь) = 0 (Ложь) or (Ложь) = 0

(Ложь) and (Истина) = 0 (Ложь) or (Истина) = 1

(Истина) and (Ложь) = 0 (Истина) or (Ложь) = 1

(Истина) and (Истина) = 1 (Истина) or (Истина) = 1

2. Стратегия «белого ящика»

Можно выделить, прежде всего, следующие методы тестирования в этой стратегии:

• покрытие решений;

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.