
- •Ю.М. Бородянский
- •Содержание
- •1. Верификация информационных систем
- •1.1. Концепция тестирования
- •1.2. Основная терминология
- •1.3. Организация тестирования
- •1.3.1. Три фазы тестирования
- •1.4. Требования к идеальному критерию тестирования
- •1.5. Классы критериев
- •1.5.1. Структурные критерии (класс I).
- •1.5.2. Функциональные критерии (класс II)
- •1.5.3. Стохастические критерии (класс III)
- •1.5.4. Мутационный критерий (класс IV)
- •1.6. Оценка Покрытия Программы и Проекта
- •1.7. Типы процессов тестирования и верификации и их место в различных моделях жизненного цикла
- •1.7.1. Модульное тестирование
- •1.7.2. Интеграционное тестирование
- •1.7.3. Системное тестирование
- •1.7.4. Нагрузочное тестирование
- •1.7.5. Формальные инспекции
- •1.8. Системное тестирование
- •1.8.1. Задачи и цели системного тестирования
- •1.8.2. Виды системного тестирования
- •1.8.3. Системное тестирование, приемо-сдаточные и сертификационные испытания при разработке сертифицируемого программного обеспечения
- •1.9. Задачи и цели процесса верификации
- •1.10. Тестирование, верификация и валидация – различия в понятиях
- •1.11. Документация, создаваемая на различных этапах жизненного цикла
- •1.12. Документация, сопровождающая процесс верификации и тестирования
- •1.12.1. Технологические процессы верификации и роли в проекте, документация, создаваемая в ходе жизненного цикла проекта, ее назначение
- •1.12.3. Стратегия и планы верификации
- •1.13. Тест-требования
- •1.13.1. Технологические цепочки и роли участников проекта, использующих тест-требования. Связь тест-требований с другими типами проектной документации.
- •1.13.2. Свойства тест-требований
- •1.13.3. Тест-планы
- •1.13.3.1 Технологические цепочки и роли участников проекта, использующих тест-планы. Связь тест-планов с другими типами проектной документации.
- •1.13.4. Возможные формы подготовки тест-планов
- •1.13.5. Сценарии
- •1.14. Формальные инспекции
- •1.14.1. Задачи и цели проведения формальных инспекций
- •1.14.2. Этапы формальной инспекции и роли ее участников
- •1.14.2.1. Инициализация
- •1.14.2.2. Планирование
- •1.14.2.3. Подготовка
- •1.14.2.4. Обсуждение
- •1.14.2.5. Завершение
- •1.14.3. Документирование процесса формальной инспекции
- •1.14.3.1. Бланк инспекции
- •1.14.3.2. Титульный лист
- •1.14.3.3. Список контрольных вопросов
- •1.14.3.4. Список несоответствий
- •1.14.3.5. Колонтитул
- •1.14.4. Жизненный цикл инспектируемого документа
- •1.14.5. Формальные инспекции программного кода
- •1.14.5.1.. Особенности этапа просмотра инспектируемого кода
- •1.14.5.2. Особенности этапа проведения собрания
- •1.14.5.3. Особенности этапа завершения и повторной инспекции
- •1.14.6. Формальные инспекции проектной документации
- •1.14.6.1. Особенности этапа просмотра документации
- •1.14.6.2.. Особенности этапа завершения
- •2. Сопровождение информационных систем
- •2.1. Введение
- •2.2. Организация процесса сопровождения
- •2.3. Методы сопровождения
- •2.3.1. Анализ влияния факторов
- •2.3.2. Обратное проектирование
- •2.3.3. Реинжиниринг
- •2.3.4. Рефакторинг
- •2.3.5. Унаследованные приложения
- •2.3.6. Обновление документации
- •2.4. Стандарт ieee 1219-1992
- •5. Системное тестирование
- •2.5. Управление сопровождением
- •2.6. Качество сопровождения
- •2.6.1. Метрики сопровождения
- •2.6.2. Применение метрик сопровождения
- •2.6.3. Удобство сопровождения
- •2.7. Подведение итогов
1.13.5. Сценарии
Представление сценариев, удобное для ручного тестирования – тест-план в виде текстового документа, в котором каждый тестовый пример представляет один раздел. Для каждого тестового примера в этот документ записывается следующая информация:
• идентификатор;
• описание теста и его цель;
• ссылки на тестируемую часть системы;
• ссылки на используемую проектную документацию, в частности тест-требования;
• перечисление действий сценария;
• ожидаемая реакция системы на каждый пункт сценария.
Подразумевается, что действия сценария должны быть описаны таким образом, чтобы их мог воспроизвести человек с практически любым уровнем подготовки.
Описание ожидаемой реакции системы должно также быть записано таким образом, чтобы можно было однозначно судить о том – соответствует реакция ожидаемой или нет. Так, неудачной ожидаемой реакцией при ручном тестировании была бы запись
Сообщение «Загрузка» пропадает через приемлемое время
Степень приемлемости здесь будет зависеть от терпеливости тестировщика, и обеспечить повторяемость тестирования будет затруднительно. Более удачной формой описания той же самой ожидаемой реакции будет
Сообщение «Загрузка» исчезает с экрана не более, чем через 10 секунд после появления.
Ниже приведен пример описания тестового примера в виде сценария, предназначенного для ручного тестирования:
Группа тестов: Работа с учетными записями
Тестовый пример: 1289-15
Назначение: Проверка того, что учетная запись пользователя проверяется перед началом передачи данных и в случае ввода записи по умолчанию при максимальной защите системы передачи не происходит
Тест-требования: 8.5.8.1, 8.5.8.2
Предусловия для теста: Система должна быть приведена в состояние «Максимальная защита» и сброшена в настройки по умолчанию
Критерий прохождения теста: Все ожидаемые значения совпадают с реальными
Сценарий тестирования:
Как можно видеть, такая форма представления действительно неудобна для автоматизации тестирования и предназначена исключительно для ручного тестирования. Иногда такие тест-планы совмещают с отчетами о проведении тестирования, добавляя в таблицу описания сценария третью и четвертые колонки – «Реальный результат» и «Соответствует», в который заносятся реальная реакция системы и указание на совпадение/несовпадение результатов соответственно. В конце описания каждого тестового примера добавляется графа «Пройден/не пройден», в которую заносится информация о том, пройден ли тестовый пример в целом. В конце всего тест-плана совмещенного с отчетом помещается графа «Тестовых примеров пройдено/всего», в которую заносится число пройденных тестовых примеров и общее их число.
Сценарии тестирования для автоматического тестирования часто описывают на том или ином языке программирования. Например, методы в тестирующих классах Microsoft Visual Studio Team Edition представляют собой именно пошаговые описания действий, которые необходимо выполнить тестовому окружению для проведения тестирования. Возможна и более близкая к естественному языку форма подготовки тестовых примеров. Например, при тестировании логической функции с уровнем покрытия MC/DC и описании тестовых примеров на одном из диалектов Visual Basic Script возможно записать сценарий тест-плана в такой форме: