Вопросы отладки и тестирования программного изделия
Рефераты >> Программирование и компьютеры >> Вопросы отладки и тестирования программного изделия

3. УРОВНИ ТЕСТИРОВАНИЯ.

ДОКУМЕНТАЦИЯ ТЕСТИРОВАНИЯ

3.1 Комбинирование уровней тестирования

В каждом конкретном проекте должны быть определены задачи, ресурсы и технологии для каждого уровня тестирования таким образом, чтобы каждый из типов дефектов, ожидаемых в системе, был «адресован», то есть в общем наборе тестов должны иметься тесты, направленные на выявление дефектов подобного типа. Табл. 1 суммирует характеристики свойств модульного, интеграционного и системного уровней тестирования. Задача, которая стоит перед тестировщиками и менеджерами, заключается в оптимальном распределении ресурсов между всеми тремя типами тестирования. Например, перенесение усилий на поиск фиксированного типа дефектов из области системного в область модульного тестирования может существенно снизить сложность и стоимость всего процесса тестирования.

Таблица 1. Характеристики модульного, интеграционного и системного тестирования

 

Модульное

Интеграционное

Системное

Типы дефектов

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

Интерфейсные дефекты, такие как неверная трактовка параметров и их формат, неверное использование системных ресурсов и средств коммуникации, и т.п.

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

Необходимость в системе тестирования

Да

Да

Нет (*)

Цена разработки системы тестирования

Низкая

Низкая до умеренной

Умеренная до высокой или неприемлемой

Цена процесса тестирования, то есть разработки, прогона и анализа тестов

Низкая

Низкая

Высокая

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

3.2 Методы тестирования на соответствие стандартам, обеспечивающим переносимость прикладных программ

3.2.1 Цель проведения

Цель проведения тестирования на соответствие состоит в том, чтобы установить удовлетворяет ли проверяемая ПП техническим требованиям, описанным в соответствующем стандарте POSIX.

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

3.2.2. Уровни тестирования

Уровни тестирования включают:

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

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

· Идентифицирующий тест: - обычно проверяет только отличительную особенность рассматриваемого элемента. Тестирование элемента проводится при использовании минимально возможного синтаксиса команд и проверки минимального количества функций.

3.2.3 Уровни сложности элементов тестирования

Уровни сложности элементов тестирования включают:

· Простые элементы: - элементы, полностью определенные в своих описаниях, и должны проверяться с использованием полного теста. Простые элементы обычно содержат небольшое число тестовых утверждений и не зависят от других элементов, определенных в том же стандарте POSIX. Пример - Утилита cat, описанная в стандарте POSIX.1 или функция close ( ), определенная в POSIX.1.

· Элементы промежуточной сложности: - содержат большее число тестовых утверждений, чем простые элементы, и могут зависеть от других элементов, определенных в соответствующем стандарте POSIX. Проведение для таких элементов полного теста в некоторых случаях является невозможным. Пример - Утилиты grep и sed, определенные в стандарте POSIX.2.

· Сложные элементы: - к сложным элементам относятся элементы, которые могут либо поддерживать собственный язык команд (например, утилита bash), либо являются функциями элементов промежуточной сложности, либо работают с аппаратной частью. Для сложных элементов проведение полного тестирования возможно только для их составных частей. Пример - Утилиты sh и awk, определенные в POSIX.2.

3.3 Тестовое покрытие

Тестовое покрытие - набор тестов, покрывающих все линейные участки программы.

Критерии полноты тестового покрытия.

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

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


Страница: