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

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

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

Свойства спецификации: полнота, точность и понятность.

Спецификация программы, вычисляющей степень числа:

  • На вход программа принимает два параметра: — число, — степень;

  • Результат вычисления выводится на консоль;

  • Значения числа и степени должны быть целыми;

  • Значения числа, возводимого в степень, должны лежать в диапазоне ;

  • Значения степени должны лежать в диапазоне — ;

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

  1. Разработка тестов

  1. Определение целей: какие части системы будут тестироваться, какие аспекты их работы будут выбраны для проверки и т.п.

  2. Планирование: создание графика разработки тестов для каждой тестируемой подсистемы; оценка необходимых ресурсов и др.

  3. Ручное или автоматизированное тестирование. Если автоматизированное, то ручная разработка тестов или генерация тестов.

  4. Выполнение тестов — реализация тестовых циклов.

  5. Анализ результатов.

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

  • Для (числа, возводимого в степень):

    1. (ошибочное)

    2. (ошибочное)

    3. — не число (ошибочное)

    4. (корректное)

  • Для (степени числа):

    1. (ошибочное)

    2. (ошибочное)

    3. — не число (ошибочное)

    4. (корректное)

  1. Управляющий граф программы

Управляющий граф программы — все возможные варианты путей выполнения кода программы.

Трасса — это «сохраненный путь» на управляющем графе программы (с записями о состояниях переменных в заданных точках).

Рисунок 5.1

  1. Основные проблемы тестирования

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

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

Основное требование к тестам — программа на любом из них не должна зацикливаться. Заранее гарантировать останов на любом тесте нельзя — не существует общего метода решения этого вопроса.

  1. Критерии выбора тестов

Критерий выбора тестов — решающее правило выбора состава и содержания проверок.

Для различных классов ПО в общем случае не существует полного и надежного критерия выбора совокупности тестов.

Целесообразно выполнять приближение к общему («идеальному») критерию через совокупность частных критериев.

  1. Требования к идеальному критерию

  • Критерий должен быть достаточным, т.е. показывать, когда конечное множество тестов достаточно для тестирования программы;

  • Критерий должен быть полным, т.е. в случае ошибки должен существовать тест, который раскрывает ошибку;

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

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