Вопросы объединения процессов тестирования и кадрового обеспечения 142 Часть П. Технологии быстрого тестирования и советы 159
Скачать 4.53 Mb.
|
Глава 15. Примеры проектирования и разработки тестов 329 • Определение конфигурации, необходимой для каждого теста • Проведение обзора проектов, что обеспечивает техническую точность, а также полное покрытие тестами всех требований. Все перечисленные этапы подробно рассматриваются в главе 4. По завершении процесса проектирования тестов появляются два рабочих документа: документ по проектам тестов и документ по спецификации тестов. Эти документы можно скомби нировать, как показано в примере, представленном в данной главе. Назначение документа, включающего описание проектов тестов, состоит в охвате абсолютно всей информации, которая получается в результате выполнения действий по проектированию тестов. Этот документ может принимать форму электронной таблицы, таблицы, генерируемой текстовым процессором, или же форму базы дан ных. Он может быть результатом, который генерирует инструментальное средство автоматизации управления требованиями и тестами, причем полученные в таком случае тесты основываются на требованиях. В примере документа, содержащего спе цификации тестовых процедур, который представлен далее в главе, проекты тестов были сгенерированы при помощи Microsoft Excel и затем помещены в документ опи сания спецификаций. > На системные испытания Рис. 15.1. Проектирование и реализация тестов Процесс проектирования тестов в рассматриваемом примере тесно завязан на формат, определенный в главе 4, который для удобства приводится на рис. 15.2. Рассматриваемая в данной главе таблица имеет сходство с матрицей прослежи- ваемости требований (Requirements Traceability Matrix, RTM), которая обсуждалась в 330 Часть III. Процесс быстрого тестирования главе 2 (см. рис. 2.5). Первые два столбца таблицы должны соответствовать записям в RTM-матрице, а остальные столбцы связаны с данными, которые рассматривались в предыдущих трех разделах этой главы. Из-за подобия таблиц разработок и RTM- матрицы пример самой матрицы не приводится. Непосредственно после создания документа с проектами тестов необходимо пе ресмотреть связанные с ним материалы, т.е. документ определения требований, оп ределения входных данных для теста и конфигурации самих тестов. Как упоминалось в главе 4, назначение такого обзора связано с выполнением следующих верификаций: • Верификация на предмет того, что при составлении документа проекта тестов учтены все требования. Если требование не тестируется, в RTM-матрице или в документе по разработке теста должна появиться соответствующая запись, описывающая причину, почему данное требование не тестируется. • Верификация на предмет того, что с каждым тестовым случаем связан соответ ствующий набор входных данных. • Верификация на предмет того, что с каждым тестовым случаем связана подхо дящая конфигурация, а тестовые конфигурации не являются избыточными. Документ с проектами тестов служит основанием для создания детализированных тестовых процедур. Как указано в обзоре, детализированную разработку тестов мож но поручить специалистам команды. Примеры детализованных тестовых процедур содержатся в документе, озаглавленном "Спецификация тестовой процедуры", кото рый можно найти в конце главы. Идентификатор Идентификатор Входные определения системного данные Конфигурация Цель требования тестового случая теста теста теста RD2.2.1 ST2.2.4 TP_lnput1.doc ТС2.0 Т02.2.4 Верифика ция на предмет того, что квалифи цированный поль зователь может выбрать и про смотреть любой созданный и сохра ненный документ с планом тестирова ния. Рис. 15.2. Пример записи в документе с проектами тестов Детализованные тестовые процедуры, рассматриваемые в примере, записаны в виде пар "действие/ожидаемый результат". Это означает, что тестировщик должен выполнять определенные действия, такие, например, как щелчок на элементе меню и сравнение результата этого действия с ожидаемым. Если ожидаемый результат полу чен, тест считается пройденным; в противном случае результат прогона теста рас сматривается как неудачный. С целью экономии пространства тестовые случаи не записываются в формате шаблона тестовых случаев, который рассматривался в главе 4. Тем не менее, дабы Глава 15. Примеры проектирования и разработки тестов 331 подчеркнуть факт сохранения идей, лежащих в основе шаблона тестового случая, последний еще раз приводится на рис. 15.3. Основными элементами шаблона тестового случая являются: • Идентификатор тестового случая — включает номер версии. • Владелец теста — имя и фамилия того, кто поддерживает тест (это не всегда ав тор теста). • Дата создания последней версии — помогает уточнить, является ли версия теста актуальной. • Имя теста — описательное название теста, которое упрощает его поиск и пони мание его содержания. Не рекомендуется использовать имена, не имеющие смысловой нагрузки, наподобие "xxxLLL0123.tst". • Расположение теста — полный путь, включая имя сервера. • Тестируемое требование — должен указываться уникальный идентификатор требования из документа описания требований. • Цель тестирования — краткое и ясное изложение цели, которая достигается данным тестом. Более подробную информацию можно найти в разделе "Опре деление целей теста" главы 4). • Конфигурация теста — спецификации входных и выходных данных, а также описание среды тестирования. • Установка теста — по аналогии с процедурой тестирования, описываются дей ствия, которые должен выполнять тестировщик, и ожидаемые результаты. Ес ли процесс установки автоматизирован, то сама установка может принимать форму единственной команды, например, run setupSC03 . p i . • Процедура тестирования — описание действий, которые должен выполнить тестировщик, и ожидаемый результатов. • Взаимозависимости тестовых случаев — определение тестовых случаев, кото рые необходимо выполнить перед данным тестовым случаем, чтобы достигнуть известных начальных условий. • Очистка теста — если система переводится в нестабильное состояние или же ей передаются преднамеренно запорченные данные, то при помощи очистки можно выполнить откат. 332 Часть Ш. Процесс быстрого тестирования Информация Идентификатор тестового случая Владелец теста Местонахождение теста (путь) Дата последнего пересмотра Тестируемое требование Конфигурация средств тестирования Взаимозависимость тестовых случаев Цель теста о тестовом случае SC03 ver3.0 Джин Дуглас (Jean Douglas) TestServer:D:\TestProject\TestSuite\SC03.doc Месяц/день/год SC101 ST02 Выполнить прогон теста SC01 и его перед прогоном данного теста. настройку Проверить, что допустимые входные значения веса отправляемого груза дают правильные значения стоимости доставки, и что недопустимые входные значения приводят к выдаче сообщений об ошибке. Методика тестирования Настройка на прогон теста Не проводится Шаг Действие 1. Щелкнуть на элементе "Стоимость доставки" в главном меню. 2. Ввести "101" в поле веса доставляемого груза 3. Ввести "0" в поле веса доставляемого груза 4. Ввести "100" в поле веса доставляемого груза 5. Ввести " 1 " в поле веса доставляемого груза Ожидаемый результат Отображается меню "Стоимость доставки" Сообщение об ошибке "Неправильно указан вес доставляемого груза" Сообщение об ошибке "Неправильно указан вес доставляемого груза" Указан вес доставляемого груза "100 унций" Указан вес доставляемого груза "1 унция" Очистка после прогона теста Не производится Результаты теста Тестировщик: JD Дата прогона теста: N/A Отметка (V) (V) (V) X (V) (V) N/A месяц/день/год Результат теста (P/F/B): F Примечания: - Тест потерпел неудачу на шаге 3. - При возникновении неисправности выдается код ошибки BR1011. Рис. 15.3. Пример тестового случая Спецификация тестовой процедуры ТМТ TMT-TPS-10 Идентификатор документа: TMT-TPS-10 Версия: 0.5 Авторы: Крис Браун (Chris Brown) Джеймс Барнс (James Barnes) Набор инструментальных средств управления тестированием Версия 1.0 Спецификация тестовой процедуры Хронология версий Версия Дата Описание 0.1 0.2 0.3 0.4 0.5 08/29/2001 09/03/2001 09/05/2001 09/06/2001 09/10/2001 Джеймс Барнс Крис Браун Крис Браун Крис Браун Джеймс Барнс Проекты тестов Начато создание детализованных тестовых случаев Завершено создание тестовых случаев Основная доводка после пересмотра тестовых случаев Обсуждение тестов графического интерфейса и процесса установки Утверждено Дата утверждения Программирования Маркетинга Тестирования Сюзанна Перл (Suzanna Perl), менеджер отдела программирования Чак Д. Клут (Chuck D. Klout), директор отдела маркетинга Брит Гейтер (Bret Gater), менеджер отдела тестирования 09/11/2001 09/12/2001 09/12/2001 333 Спецификация тестовой процедуры ТМТ TMT-TPS-10 Содержание 1. Введение 335 2. Свойства, которые должны тестироваться 335 3. Проекты тестов 336 3.1. Регрессионное тестирование 338 3.2. Резервное копирование и восстановление 338 3.3. Дополнительные возможности 339 3.4. Установка продукта 340 3.5. Тестирование графического интерфейса пользователя 340 4. Информация о конфигурации тестов 341 5. Тестовые случаи 341 5.1. ТС 3.1.1 Пользовательский интерфейс 341 5.2. ТС 3.1.2 Навигация 341 5.3. ТС 3.1.3 Аутентификация пользователей — клиент 352 5.4. ТС 3.1.4 Аутентификация пользователей — администратор 353 5.5. ТС 3.1.5 Текущие проекты 354 5.6. ТС 3.1.6 Завершенные проекты 354 5.7. ТС 3.1.7 Создание проекта 355 5.8. ТС 3.1.8 Изменение проекта 355 5.9. ТС 3.1.9 Удаление проекта 356 5.10. ТС 3.1.10 Создать тестовый случай или набор 356 5.11. ТС 3.1.11 Изменить тестовый случай или набор 356 5.12. ТС 3.1.12 Удалить тестовый случай или набор 357 5.13. ТС 3.1.13 Показать тест 357 5.14. ТС 3.1.14 Показать тестовый набор 358 5.15. ТС 3.1.15 Прогнать одиночный тест 358 5.16. ТС 3.1.15 Выполнение набора тестов 358 5.17. ТС 3.1.17 Сводный отчет по ошибкам 359 5.18. ТС 3.1.18 Результаты тестирования/Одиночный тест 359 5.19 ТС 3.1.19 Результаты тестирования/Тестовый набор 360 5.20. ТС 3.1.20 Создать матрицу прослеживаемое™ 360 5.21. ТС 3.1.21 Резервное копирование/Тестовые случаи 361 5.22. ТС 3.1.22 Резервное копирование/Тестовые наборы 361 5.23. ТС 3.1.23 Резервное копирование/Результаты прогона тестов 362 5.24. ТС 3.1.24 Восстановление/Тестовые случаи 362 5.25. ТС 3.1.25 Восстановление/Тестовые наборы 363 5.26. ТС 3.1.26 Восстановление/Результаты прогона тестов 363 5.27. ТС 3.1.27 Экспорт/Тестовые случаи 364 5.28. ТС 3.1.28 ЭкспортЯестовые наборы 364 5.29. ТС 3.1.29 Экспорт/Результаты прогона тестов 364 5.30. ТС 3.1.30 Справка 365 5.31. ТС 3.1.31 Многопользовательские функциональные возможности 365 Ссылки 366 Приложение 1 —Список аббревиатур 366 Приложение 2 — Определение терминов 367 Приложение 3 — Сообщения электронной почты от утверждающих лиц 367 От: Чак Д. Клут (Chuck D. Klout) [cdklout@tmtco] 367 От: Сьюзи Перл (Suzie Perl [spent@tmtco.com] 367 От: Брит Гейтер (Bret Gater) [bgater@tmtco.com] 367 334 Спецификация тестовой процедуры ТМТ TMT-TPS-10 1. Введение Целью создания этого документа является подробное описание тестовых процедур, разработанных для аттестации функциональных возможностей программного продукта, именуемого набором инст рументальных средств управления тестированием (Test Management Toolkit, ТМТ). Свойства, на ко торые производятся ссылки в этом документе, находятся в документе определения требований, именуемого "Набор инструментальных средств управления тестированием, Определение требова ний". Документ, определяющий требования, имеет идентификатор TMT-RD-10 и находится под управлением системы контроля документов на Web-сайте: httD//www.tmtcointernal.com/usr/www/docstores/desian/reauirements/TMT-RD-10.doc Разработка тестов основывается на плане тестирования ТМТ, который находится в документе ТМТ- ТР-10, расположенном на Web-сайте: http//www,tm tcointernal.com/usr/www/docstores/desian/reauirements/TMT-TP-10.doc Проекты тестов описаны в разделе 3, а тестовые процедуры представлены в разделе 5. 2. Свойства, которые должны тестироваться Для того чтобы удостовериться в том, что программный продукт ТМТ удовлетворяет требованиям, указанным в спецификации требований ТМТ, необходимо протестировать следующие требования: • Требование 3.1.1. Пользовательский интерфейс • Требование 3.1.2. Навигация • Требование 3.1.3. Аутентификация пользователей — клиент • Требование 3.1.4. Аутентификация пользователей — администратор • Требование 3.1.5. Текущие проекты • Требование 3.1.6. Завершенные проекты • Требование 3.1.7. Создание нового проекта • Требование 3.1.8. Изменение проекта • Требование 3.1.9. Удаление проекта • Требование 3.1.10. Создание тестового случая или набора • Требование 3.1.11. Изменение тестового случая или набора • Требование 3.1.12. Удаление тестового случая или набора • Требование 3.1.13. Отображение теста • Требование 3.1.14. Отображение тестового набора • Требование 3.1.15. Прогон одиночного теста • Требование 3.1.16. Прогон тестового набора • Требование 3.1.17. Создание списка прогона • Требование 3.1.18. Выполнение списка прогона • Требование 3.1.19. Сводный отчет по ошибкам • Требование 3.1.20. Результаты тестирования — одиночный тест • Требование 3.1.21. Результаты тестирования — тестовый набор или список прогона • Требование 3.1.22. Создание матрицы прослеживаемости • Требование 3.1.23. Резервное копирование тестовых случаев • Требование 3.1.24. Резервное копирование тестовых наборов • Требование 3.1.25. Резервное копирование результатов прогона тестов • Требование 3.1.26. Восстановление тестовых случаев 335 Спецификация тестовой процедуры ТМТ TMT-TPS-10 • Требование 3.1.27. Восстановление тестовых наборов • Требование 3.1.28. Восстановление результатов прогона тестов • Требование 3.1.29. Экспорт тестовых случаев • Требование 3.1.30. Экспорт тестовых наборов • Требование 3.1.31. Экспорт результатов прогона тестов • Требование 3.1.32. Получение справки • Требование 3.1.33. Многопользовательские функциональные возможности 3. Проекты тестов Применяемый подход предполагает регрессионное тестирование, а также тестирование функцио нальных возможностей, процесса установки, резервного копирования и восстановления и графиче ского интерфейса пользователя. Каждый тип тестирования подробно рассматривается в данном разделе. Проекты тестов для проверки функциональных возможностей показаны в таблице 3.1. В таблице приведены идентификаторы требований, идентификаторы тестов, входные данные и конфигурация для тестов, а также цели прогона каждого теста. Некоторые функциональные возможности, такие как экспорт данных и экраны справочной системы, вынесены за пределы основной массы тестов функ циональных возможностей, поскольку в первой сборке они не реализованы. Эти возможности рассматриваются в разделе "Дополнительные возможности". Таблица 3.1. Разработка тестов свойств Идентификатор требования RD3.1.1 RD3.1.2 RD3.1.3 RD3.1.4 RD3.1.5 Идентификатор системного тестового случая ТСЗ.1.1 ТСЗ. 1.2 ТСЗ. 1.3 ТСЗ. 1.4 ТСЗ. 1.5 Входные данные теста Нет Нет Учетные записи пользо вателей Учетные записи админи страторов Пример данных по проекту Тестовая конфигурация Тестовая конфигурация #1 Тестовая конфигурация #1 Тестовая конфигурация #1 Тестовая конфигурация #1 Тестовая конфигурация #1 Цель проведения теста Проверка доступности поль зовательского интерфейса ТМТ путем вызова главного меню Проверка доступности поль зовательского интерфейса ТМТ путем навигации в рам ках меню Проверка системы безопас ности доступа пользовате лей для допустимых и недо пустимых пользователей со стороны клиента Проверка системы безопас ности администрирования для допустимых и недопус тимых пользователей со стороны сервера Проверка возможности про смотра проектов зарегист рированными пользовате лями 336 Спецификация тестовой процедуры ТМТ TMT-TPS-10 Продолжение табл. 3.1 Идентификатор требования RD3.1.6 RD3.1.7 RD3.1.8 RD3.1.9 RD3.1.10 RD3.1.11 RD3.1.12 RD3.1.13 RD3.1.14 RD3.1.15 Идентификатор системного тестового случая ТСЗ. 1.6 ТСЗ. 1.7 ТСЗ. 1.8 ТСЗ. 1.9 ТСЗ.1.10 ТСЗ.1.11 ТСЗ.1.12 ТСЗ.1.13 ТСЗ.1.14 ТСЗ.1.15 Входные данные теста Пример данных по проекту Пример данных инфор мации теста Пример данных по проекту Пример данных по проекту Пример данных по проекту Пример данных по проекту Пример данных по проекту Пример данных по проекту Пример данных по проекту Пример данных по проекту Тестовая конфигурация Тестовая конфигурация #1 Тестовая конфигурация #1 Тестовая конфигурация #1 Тестовая конфигурация #1 Тестовая конфигурация #1 Тестовая конфигурация #1 Тестовая конфигурация #1 Тестовая конфигурация #1 Тестовая конфигурация #1 Тестовая конфигурация #1 Цель проведения теста Проверка возможности про смотра завершенных проек тов аутентифицированными пользователями Проверка возможности соз дания новых проектов заре гистрированными пользова телями с выбором сущест вующих тестовых случаев и наборов Проверка возможности из менения проектов зарегист рированными пользовате лями Проверка возможности уда ления проектов зарегистри рованным пользователем Проверка возможности заре гистрированного пользова теля создавать одиночные тестовые случаи либо набо ры Проверка возможности заре гистрированного пользова теля изменять одиночные тестовые случаи либо набо ры Проверка возможности заре гистрированного пользова теля удалять одиночные тестовые случаи либо набо ры Проверка возможности заре гистрированного пользова теля отображать (просмат ривать) тестовые случаи, связанные с проектом Проверка возможности заре гистрированного пользова теля отображать (просмат ривать) тестовые наборы, связанные с проектом Проверка возможности заре гистрированного пользова теля прогонять тестовые случаи, связанные с проек том 337 |