Скачиваний:
387
Добавлен:
01.05.2014
Размер:
1.33 Mб
Скачать

3. Категории тестов для различных объектов тестирования

На разных этапах ЖЦ программного обеспечения для каждой категории объектов тестирования ставятся свои задачи тестирования и, соответственно, применяются свои виды тестирования и категории тестов. Каждая категория имеет специфическое, частное назначение для выявления ошибок определенного класса.

Для описанных выше объектов тестирования выделяются следующие категории тестов:

  1. На этапе тестирования спецификаций:

  • полноты и согласованности функций программных компонент;

  • согласованности интерфейса в спецификациях программных компонент.

  1. На этапе тестирования программных модулей:

  • структуры программного модуля;

  • вычислений и преобразований данных программным модулем;

  • полноты функций, выполняемых модулем.

  1. На этапе тестирования функциональных групп программ:

  • структуры группы программ;

  • межмодульного интерфейса в группе программ;

  • выполнения ограничений по использованию памяти и длительности исполнения группы программ;

  • полноты решения функциональных задач группой программ.

  1. На этапе тестирования комплекса программ при отладке:

  • полноты решения функциональных задач комплексом программ для типовых исходных данных;

  • функционирования программ в критических ситуациях по условиям и логике решения задач;

  • корректности использования ресурсов памяти и производительности вычислительной системы;

  • параллельного (одновременного) исполнения различных программ;

  • эффективности защиты от искажения входных данных;

  • определения надежности комплекса программ;

  • оценки эффективности защиты от сбоев аппаратуры и не выявленных ошибок программ.

  1. На этапе тестирования комплекса программ при испытаниях:

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

  • удобства эксплуатации и взаимодействия человека с комплексом программ;

  • удобства установки и подготовки рабочей версии;

  • работы комплекса программ при конфигурациях оборудования;

  • корректности документации;

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

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

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

Одним из общих принципов тестирования ПО является проведение работ по тестированию в течение всего ЖЦ.

Лекция 11. Виды, критерии и методы тестирования. Методы структурного тестирования программ

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

При этом будут рассматриваться следующие виды тестирования:

  • модульное – проверка корректности структуры модулей и их основных конструктивных компонент (циклов, блоков, разветвлений), функций и данных (входных и выходных);

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

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

  • монолитное – все модули одновременно объединяются в программу;

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

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

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

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

  • функциональности программы;

  • работы на предельных объемах;

  • работы на предельных нагрузках;

  • удобства эксплуатации программы;

  • защиты от несанкционированного доступа;

  • производительности;

  • требований к памяти;

  • конфигураций оборудования;

  • совместимости;

  • удобства инсталляции;

  • надежности;

  • восстановления при сбоях;

  • документации на программу.

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

Остановимся более подробно на этих методах тестирования.

Методы структурного тестирование программ

При структурном тестировании учитываются внутренние механизмы работы модуля или группы программ. Тестирование но принципу "белого ящика" характеризуется степенью, в какой тесты выполняют или покрывают логику программы (исходный текст). Элементами, которые должны быть покрыты при прохождении тестов, являются вершины, дуги, маршруты, условия, комбинации условий управляющего графа программы. В настоящее время неплохо себя зарекомендовали критерии структурного тестирования, для которых требуемые элементы определяются на основе потока данных, т. е. информационного графа программы.