Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы зачета / Ответы на вопросы зачета по ТПО.docx
Скачиваний:
75
Добавлен:
29.03.2022
Размер:
1.25 Mб
Скачать
  1. Классы критериев

  • Структурные критерии используют информацию о структуре программы (критерии «белого ящика»);

  • Функциональные критерии формулируются в описании требований к программному изделию (критерии «черного ящика»);

  • Критерии стохастического тестирования формулируются в терминах проверки наличия заданных свойств у приложения средствами проверки некоторой статистической гипотезы;

  • Мутационные критерии ориентированы на проверку свойств программного изделия на основе подхода Монте-Карло.

  1. Структурные критерии

Структурные критерии основываются на основных элементах управляющего графа программы, операторах, ветвях, путях:

  • Критерий тестирования команд (критерий С0) — набор тестов в совокупности должен обеспечить прохождение каждой команды не менее одного раза. Слабый критерий. Используется в больших программных системах, где другие критерии применить невозможно.

  • Критерий тестирования ветвей (критерий С1) — набор тестов в совокупности должен обеспечить прохождение каждой ветви не менее одного раза. Сильный и экономичный критерий, поскольку множество ветвей в тестируемом приложении конечно и не велико, используется в системах автоматизации тестирования.

  • Критерий тестирования путей (критерий С2) — набор тестов в совокупности должен обеспечить прохождение каждого пути не менее одного раза. Если программа содержит цикл, то число итераций ограничивается константой (часто — двум или количеством классов выходных путей).

  1. Функциональные критерии

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

При функциональном тестировании преимущественно используется метод «черного ящика».

Основная трудность функционального тестирования — трудоемкость работы тестировщиков, поскольку документы, фиксирующие требования к программному изделию, как правило, достаточно объемны.

Виды функциональных критериев:

  • Тестирование пунктов спецификации — проверка каждого тестируемого пункта не менее одного раза.

  • Тестирование классов входных данных — проверка представителя каждого класса входных данных не менее одного раза.

  • Тестирование правил — проверка каждого правила, если входные и выходные значения описываются набором правил некоторой грамматики.

  • Тестирование классов выходных данных — проверка представителя каждого класса выходных данных не менее одного раза.

  • Тестирование функций — проверка каждого действия, реализуемого тестируемым модулем, не менее одного раза.

  • Комбинированные критерии для программ и спецификаций —проверка всех комбинаций непротиворечивых условий программ и спецификаций не менее одного раза.

  1. Стохастические критерии

Стохастические критерии применяются при тестировании сложных программных комплексов — когда набор детерминированных тестов имеет очень большую мощность.

Методика применения стохастических критериев:

  1. Разработать программы;

  2. Вычислить независимым способом значения для соответствующих входных сигналов и получить тестовый набор .

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

    • Детерминированный (по случайным входным сигналам, сгенерированным имитатором).

    • Стохастический (по заранее известному закону распределения результатов).

Критерии стохастического тестирования:

  • Статистические методы принятия решений о совпадении гипотез о распределении случайных величин:

    • Метод Стьюдента ( ),

    • Метод Хи-квадрат ( ) и т.п.

  • Метод оценки скорости выявления ошибок; основан на модели, согласно которой тестирование прекращается, если оцененный интервал времени между текущей и следующей ошибкой слишком велик для фазы тестирования приложения.

Рисунок 12.2