![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Часть I. Процесс быстрого тестирования. Планирование испытаний
Планирование испытаний
Под планированием испытаний понимается определение объемов испытаний, под ходов, ресурсов и расписания выполнения намеченных действий. Для того чтобы тестирование было эффективным, необходимо потратить значительные средства и усилия па планирование, а также быть готовым пересматривать этот план в динами ке, соответственно изменениям в требованиях, расчетах или программных кодах по мере выявления дефектов. Очень важно, чтобы все требования подверглись тестиро ванию, либо же, если требования выстроены по некоторой системе приоритетов, по крайней мере, должны быть проверены требования с максимальными приоритетами. Матрица прослеживаемости требований является полезным инструментальным средством на стадии планирования испытаний, поскольку она может использоваться при расчете объемов тестирования, необходимого для охвата важнейших тре бований.
В идеальном случае планирование испытаний должно принимать в расчет как ста тическое, так и динамическое тестирование, но поскольку процесс тестирования, отраженный на рис. 1.3 и в таблице 1.1, отдает предпочтение динамическому тести рованию, временно оставим статическое тестирование в покое. Действия, выпол няемые на стадии планирования испытаний, представляют собой подготовительные этапы для этапов системных и приемочных испытаний, которые расположены ближе
к концу каскада, и должны включать:
• Определение того, что подлежит тестированию, и подхода, который при этом будет использоваться.
• Отображение тестов на требования.
• Определение критериев входа и выхода для каждой стадии процесса тестиро вания.
• Оценка персонала, необходимого для выполнения тестовых работ, по квали фикации и степени занятости.
• Оценка времени, необходимого для выполнения работ по тестированию.
• Планирование основных этапов работ.
• Определение тестовой системы (аппаратных и программных средства), необ ходимой для проведения тестирования.
• Определение рабочих продуктов для каждой фазы тестирования.
• Оценка рисков, связанных с тестированием, и план по их уменьшению.
Промежуточные результаты или выходы, являющиеся результатами этих дейст вий, могут быть включены в план проведения испытаний, который, как правило, со стоит из одного или большего числа документов. Более подробно планирование ис пытаний будет рассматриваться в главе 3, а с примером плана проведения испытаний можно ознакомиться в третьей части книги.
Проектирование тестов, реализации и отладка
Динамическое тестирование основано на выполнении заданного набора операций на конкретном модуле программного продукта и сравнении фактически полученных результатов с ожидаемыми. Если после прогона получен ожидаемый результат, счи-
тается, что модуль прошел тест. Если зафиксировано аномальное поведение, тест считается неудачным, однако он может оказаться успешным в смысле обнаружения дефекта. Заданный набор выполняемых операций образует тестовый случай. Следует подчеркнуть, что тестовые случаи должны быть спроектированы, закодированы и отлажены до того, как их можно будет использовать.
Проектирование тестов состоит из двух компонентов: архитектуры тестов и под робных планов тестов. Архитектура тестов упорядочивает тесты по группам, таким как функциональные тесты, испытания для определения рабочих характеристик, проверка безопасности и т.д. Она также описывает структуру и соглашения по име нованию хранилища тестов. Подробные планы тестов описывают назначение каждо го теста, технические средства и данные, необходимые для выполнения теста, ожи даемые результаты каждого теста, а также указывают на требование, на подтвержде ние выполнения которого ориентируется данных тест. Между требованиями и пла нами тестов должно существовать, по меньшей мере, отношение один к одному.
На основе планов тестов могут быть разработаны подробные методики проверки. Уровень детализации, необходимый для представления методики проверки в виде письменного документа, зависит от квалификации и уровня знаний персонала, вы полняющего прогон тестов. Следует найти компромисс между временем, необходи мым для написания подробной, последовательной методики, и временем, которое заинтересованное лицо тратит на обучение правильному выполнению тестов. Даже если тест должен быть автоматизирован, в общем случае затраты времени на заблаго временное подробное описание методики проверки оправдываются, поскольку перед специалистом по автоматизации ставится четкая и однозначная задача автоматиза ции теста.
Как только методика тестирования будет описана, ее потребуется проверить на каком-либо модуле программного продукта. Поскольку, скорее всего, этот тест будет проверяться на " изобилующей ошибками" программе, особо внимательно следует анализировать случаи, когда тест не проходит, что позволит определить, где нахо дится причина неудачи — в тестируемом коде или в самом тесте.
Системное тестирование
Набор завершенных, отлаженных тестов может использоваться и на следующей ста дии каскадного процесса тестирования, т.е. на этапе системных испытаний. Систем ное тестирование проводится для удостоверения того, что программное обеспечение делает именно то, что от него ожидает пользователь. Существуют два основных типа системных испытаний: функциональная проверка и испытания для определения ра бочих характеристик.
Функциональная проверка (functional testing) не требует от тестировщика знанийпринципов работы программного продукта, в то же время она требует знаний функ циональных требований, предъявляемых к системе. Она использует набор тестов, которые определяют, выполняет ли система все то, что она должна делать с точки зрения пользователя.
После того, как тестирование подтвердило адекватность базовой функционально сти системы, задачей тестирования становится проверка, насколько хорошо система выполняет свои функции. В рамках испытаний для определения рабочих характеристик (performance testing) выполняются такие проверки, как тестирование в предельных ре-
|