Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП.docx
Скачиваний:
2
Добавлен:
21.11.2019
Размер:
26.73 Кб
Скачать

Путь борьбы с ошибками

  1. Минимизировать сложность

  2. Выполнять технологию

  3. Немедленное устранение ошибок

  4. Организовать проверку входных данных на известные ограничения

  5. Полнота проверки

  6. Принцип взаимного подозрения

Pascal –Debuger

  • Breakpoints – прерывают программу в определенном месте для отладки отдельных ее частей.

  • Call stack – просмотр оперативной памяти

  • Register – просмотр значений регистров процессора

  • Watch – просмотр значения переменных

  • Output – просмотр экрана вывода

  • User screen – экран пользователя

  • Evaluateodify – выводит текущее значение переменной, возможно изменение значения

  • Add watch – добавление переменной для watch

  • Add breakpoints – добавления точек прерывания программы

Тестирование

Тестирование – процесс выполнения программы с целью обнаружения ошибок. Шаги процесса задаются тестами. Каждый тест содержит набор исходных данных и условий для запуска программы и набор соответствующих ожидаемых результатов программы. Чтобы полностью проверить программу, необходимо проверить все наборы исходных данных, все варианты их обработки. Таки образом необходимо составлять полный набор тестов.

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

Существуют 2 принципа тестирования программы:

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

  2. Структурное тестирование

Структурное тестирование

При структурном тестировании исследуются внутренние элементы программы и связи между ними, внутреннее поведение программы. Тесты должны:

  • Гарантировать проверку всех независимых маршрутов программы

  • Пройти все ветви да/нет

  • Выполнить все циклы в пределах их границ и диапазонов

  • Анализировать правильность структур данных

Разновидности тестирования:

  • Способ тестирования базового пути

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

  • Тестирование области определения.

  • Тестирование ветвей и операторов отношений – этот способ.

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

  • Прогон всего цикла

  • Один прогон цикла

  • Два прогона цикла

  • М- прогонов цикла

Тестирование элементов

Принцип тестирования – белый ящик

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

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

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

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

Тестирование интеграции

Тестирование интеграции поддерживает сборку цельной программной системы. Цель сборки – построить программную структуру требуемым проектом из приготовленных модулей. Существуют 2 варианта тестирования, поддерживающих процесс интеграции - восходящее и нисходящее. В данном подходе движения объединяются движением сверху-вниз по управляющей. Подчиненные модули добавляются в структуру в результате маршрута в глубину (по вертикали). Или в результате движения в ширину.

Главный управляющий модуль используется как тестовый драйвер.

Все непосредственно подчиненные модули временно замещаются заглушками.

Одна из заглушек заменяется реальным модулем.

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

Восходящее тестирование

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

  1. Модули нижнего уровня объединяются в кластеры, выполняющие определенную программную подфункцию

  2. Для координации вводов-выводов пишется драйвер, управляющий тестированием драйверов

  3. Тестируется кластер

  4. Драйверы удаляются, а кластеры объединяются в структуру движения вверх

Тестирование правильности

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

П

Директор компании

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

Менеджер сферы разработок

Менеджер сферы разработок

Менеджер по качеству

Менеджер проекта

Менеджер проекта

Бригада по контролю качества

Бригада по контролю качества