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

Многие критерии полноты тестового покрытия, имеющие практическое применение, строятся по следующей схеме: для тестируемой системы критерий определяет множество элементов тестового покрытия . Элементом тестового покрытия можно считать некоторый класс событий, которые могут произойти в ходе работы тестируемой программной системы. По появлению в процессе исполнения программы элементов тестового покрытия и различных их комбинаций можно судить о полноте или качестве проверки, которую выполняет данный тестовый набор. Например, элементами тестового покрытия могут быть исполняемые строки исходного кода (соответствующие событиям их исполнения); рёбра графа потока управления; пути в графе потока управления; логические выражения, встречающиеся в исходном коде и т.п. Кроме того, критерий определяет логическую функцию , которая принимает значение , если элемент тестового покрытия покрывается тестом . Тестовый набор для системы удовлетворяет критерию полноты тестового покрытия , если каждый элемент тестового покрытия из множества покрывается хотя бы одним тестом из тестового набора . Иными словами: .

Примеры часто упоминаемых критериев полноты тестового покрытия:

· каждый оператор в исходном коде выполняется хотя бы один раз;

· каждая ветвь графа потока управления выполняется хотя бы один раз;

· каждый путь графа потока управления исполнение выполняется хотя бы один раз;

· каждое логическое выражение хотя бы один раз вычисляется со значением «истина» и хотя бы один раз - со значением «ложь»;

· тестовый набор убивает всех мутантов из заданного набора.

Все критерии, приведённые в качестве примеров, соответствуют ранее изложенной схеме.

3.4 Тестовая документация

Разработка тестов основана на тех же инженерных принципах, что и разработка ПО.

Хороший проект состоит из нескольких этапов, которые постепенно превращают тесты из первичной высокоуровневой стратегии в детализированные процедуры тестирования. К этим этапам относятся: стратегия тестирования, планирование тестирования, разработка наборов тестовых данных (тест-кейсов) и разработки процедуры тестирования.

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

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

3.4.1. Стратегия тестирования

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

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

3.4.2. Планы тестирования

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

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

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

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

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

· План(ы) тестирования компонент, описывающий планы тестирования отдельных программных компонент.

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

3.4.3. Разработка наборов тестовых данных (тест-кейсов)

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

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

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

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


Страница: