Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестирование программного обеспечения.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.06 Mб
Скачать

1.3.3. Методы проектирования тестовых путей.

Процесс построения набора тестов при структурном тестировании принято делить на 3 фазы [2]:

1)конструирование УГП;

2) выбор тестовых путей;

3)генерация тестов, соответствующих тестовым путям.

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

Вторая фаза – выбор тестовых путей. Методы построения тестовых путей делятся на:

  1. Статические методы( эвристические, адаптивные)

  2. Динамические методы

  3. Методы реализуемых путей.

На третьей фазе необходимо по путям тестирования найти подходящие тесты, реализующие прохождение этих путей.

Каждый путь описывается конъюнктивным предикатом:

Pred(i)=C1^C2^…^Сn, где каждый предикат Сi соответствует переходу из вершины – решения и задаётся в этой вершине.

Реальный предикат Pred(i) получается в процессе «обратной подстановки», т.е. в результате должна быть решена система нелинейных равенств и неравенств, реализующих тест.

Статические методы

Эвристические методы позволяют строить тестовый каждый путь по аналогии с выполнением программы путём постепенного удлинения графа за счёт добавления дуг, пока не будет построен УГП.

Адаптивные методы появились последнее время. Суть их состоит в том, что бы каждый раз добавлять только один тестовый путь (входной тест), используя предыдущие пути как руководство для выбора последующих путей в соответствии с некоторой индуктивной стратегией. Чаще всего адаптивные стратегии применяются по отношению к критерию С1. С точки зрения практической реализации для каждой покрытой вершины решения, из которой выходит хотя бы одна непокрытая дуга, необходимо модифицировать тест так, что бы при минимальных затратах (минимальность пути ) достичь указанную вершину. Статические методы трудно реализуемы для больших систем.

Динамические методы.

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

Третья группа методов –методы реализуемых путей.Основная стратегия заключается в выделении из множества всех путей подмножества реализуемых путей и по ним построить покрывающее множество путей. Каждый из перечисленных методов имеет свои достоинства и недостатки. Поэтому их следует использовать совместно.

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

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