ПРАКТИЧЕСКАЯ РАБОТА № 1
Разработка плана тестирования
Цель работы: проведение подготовительных работ для тестирования программного обеспечения. Подготовительные работы включают планирование тестирования программного обеспечения - создание плана тестирования программного обеспечения (ПО).
Задание: Разработать план тестирования программы.
Пререквизиты (исходные данные)
Студент составляет ТЗ на программу. Разрабатывает ПО, для которого будет создаваться план. Для разработки может быть выбран любой язык программирования.
Предварительные (теоретические) сведения
План тестирования – это документ, который систематизированно писывает, как выбранное ПО будет тестироваться. Существует большое количество шаблонов плана тестирования, в общем они все похожи. Один из них – это шаблон IEEE 829-2008. Доступные шаблоны плана тестирования имеют незначительные различия, но в основном состоят из следующих разделов:
1. Область тестирования - определяется область тестирующей деятельности.
2. Стратегии тестирования - какие стратегии тестирования должны использоваться во время тестирования программы.
3. Начальные условия (пререквизиты) - какие задачи должны решены перед началом тестирования.
4. Приоритеты тестирования – какие тестирущие действия, задачи и программные компоненты имеют более высокий приоритет для тестирования.
5. Методики тестирования - какие методики тестирования будут использоватья в ходе тестирования.
6. Роли и обязанности - определяются члены команды и их обязанности для определенных частей процесса тестирования.
7. Результаты - что является ожидаемыми результатами тестирования, какие задачи должны быть решены, какие документы и отчеты, должны быть подготовлены.
8. Среда тестирования - какая необходима среда тестирования. Определяется необходимая конфигурация программного и аппаратного обеспечения, чтобы начать тестирование.
9. Сценарии тестов - определяются сценарии тестов, какие действия тестировщик должен выполнить, какие тесты должны юыть запрограммированы.
10. Управление испытаниями (тестами) - определяется как управлять созданными тестами, сценариями, управляются, как увидеть выявленные дефекты и записать их. Как выполняется регрессионное тестирование.
11. Графики испытаний - определяется график тестирующих действий.
12. Риски тестирования - что является возможными рисками, которые могли бы помешать выполнению плана тестирования, определяются планы, как избежать их или смягчить последствия риска.
Задания для лабораторной работы:
1. Подготовьте на 1 страницу описание ее архитектуры, функций, особенности, компоненты тестируемой программы.
2. Студент может выбрать шаблон плана тестирования, какой он предпочитает. Один из шаблонов плана представлен в конце описания лабораторной работы.
3. План испытания настраивается путем добавления нужных разделов и удаления ненужных.
4. Документ плана испытаний создается заполнением пустых разделов шаблона плана.
Защита работы:
1. Должен быть представлен плана тестирования в виде документа.
2. Студент должен быть готов ответить на вопросы, касающиеся выполненной работы.
Вопросы студентам для изучения (подготовка к защите):
1. Какова цель создания плана тестирования?
2. Когда предполагается, что тест выполнен?
3. В какое время в ходе разработки программного обеспечения лучше всего выполнять тестирующие действия?
Используемые источники:
1. IEEE 829-2008. IEEE Standard for Software and System Test Documentation.
Пример плана тестирования:
Введение
Этот документ описывает план тестирования для системы обработки заказов ABC. Полная стратегия тестирования программного обеспечения состоит из следующих типов испытаний и выполнеяется в следующем порядке:
1. Тестирование компонентов (модульное тестирование). Тестируются все программные компоненты (при этом проверяется покрытие кода тестами). Параллельно проводится анализ кода.
2. Тестирование интерфейсов пользователя.
2. Тестирование интеграции. Тестируется программное обеспечение, чтобы гарантировать, что компоненты взаимодействуют правильно.
3. Проверка правильности (валидация). Проводится тестирование программного обеспечения в эмулированной среде производства, чтобы проверить ее функциональные возможности.
4. Приемочные испытания. Проводятся приемочные испытания, чтобы гарантировать, что функциональные возможности ПО соответствуют ожиданиям конечного пользователя.
Приемочные испытания состоят из заключительного набора тестов, которые выполняются перед официальным запуском программной системы.
Область тестирования
Премочные испытания состоят из:
1. Веб-системы ABC, версия V1.
2. Моделей вариантов использования для ролей клиента, менеджера, администратора.
Цель этого тестирования состоит в том, чтобы определить, насколько хорошо внедряемое программное обеспечение соответствует функциональным требованиям, также идентифицировать обнаруженные проблемы и обеспечить их фиксацию. Тестирование также позволило бы собрать тестовые данные и тестовые результаты для дальнейшего регрессионного тестирования ПО в течение периода его поддержки.
Пожелания пользователей во время работы могут отличаться от их первоначальных; это не должно приниматься во внимание в течение тестирования ПО.
Стратегии тестирования
Главное в приемочном испытании это продемонстрировать, что программное обеспечение и его инфраструктура устойчивы, и работают надежно. Все другие тестирующие действия должны быть закончены перед стартовой фазой приемочного испытания. Приемочное испытание ориентировано на тестирование программного обеспечения с точки зрения пользователя, чтобы проверить, как программное обеспечение используется день ото дня и как оно соответствует определенным требованиям качества. В течение приемочного испытания должен присутствовать представитель от компании клиента.
Дополнительные действия тестирования должны включать: модульное тестирование, тестирование интеграции, безопасности и производительности.
Начальные условия (пререквизиты)
Задачи, которые должны быть решены перед началом тестирующей деятельности:
- Имеется законченная программная спецификация в виде моделей вариантов использования и сценариев использования;
- Работающее реализованное программное обеспечение,
- Установленная процедура фиксации обнаруженных проблем в течение испытания,
- Набор определенных вариантов использования для приемочного испытания, чтобы проверить все функциональные возможности программы,
- Выбранная среда тестирования,
- Распределенные (сервера) тестовые ресурсы,
- Определенные стандарты приемочных испытаний.
Приоритеты тестирования
Следующие проверки перечислены в порядке уменьшения приоритетного уровня (первое имеет самый высокий приоритет):
1. Функции - все ли заданные функции программы выполняются как ожидалось?
2. Удобство и простота использования - действительно ли программное обеспечение является дружественным по отношению к пользователю?
3. Защита - данные защищены?
4. Выполнение – программное обеспечение соответствует согласованному критерию выполнения? (что в первую очередь проверять?????)
Методы тестирования
Будут использоваться следующие методы тестирования:
1. Тестовые сценарии – сценарии вариантов использования (с предопределенным вводом и ожидаемыми выходными данными).
2. Тестовые сценарии без данных - тестировщики выберут входные данные во время испытания.
3. Тесты на несанкционированное использование – сценарии действий –попыток получить несанкционированный доступ к данным ПО.
4. Проверка на удобство использования ПО - действия, чтобы оценить простоту системы в использовании.
5. Статистика выполнения (статистическое тестирование)- набор характеристик работы и сравнение с заданными параметрами.
6. Стрессовое тестирование.
7. Нагрузочное тестирование (профилирование и производительность)
8. Тестирование БД (SQL-инъекции и тестирование хранимых процедур)
9. Кодированное тестирование интерфейса.
Управление тестами
Определяются следующие роли и обязанности:
1. Лидер проверки качества - человек, ответственный за процесс планирования тестирования и его выполнение.
2. Тестировщик - выполняет действия по тестированию, определенные в плане тестирования.
3. Менеджер по ПО - гарантирует, что тесты выполняются успешно с точки зрения пользователя.
4. Поддержка тестирования - гарантирует, что техническое оборудование на месте и помогает в течение испытаний.
Результаты
После тестирования должны быть в наличие следующие документы:
1. План тестирования- этот документ со всеми изменениями, сделанными в ходе процесса тестирования.
2. Запросы на изменение - документ, описывающий изменения ПО, вызванные изменением требований или обнаруженными дефектами в течение испытания.
3. Еженедельные отчеты о ходе тестирования.
4. Заключительный отчет, подписанный заказчиком, подтверждающий, что система отвечает всем функциональным требованиям и требованиям качества.
Среда тестирования
Следующее программное обеспечение и аппаратная конфигурция должны быть доступны во время тестирования ПО:
1. Сервер: Один компьютер на базе Intel со следующей конфигурацией:
1. Xeon 4GHz, 16GB RAM, 10TB HDD, 1GB SSD,
2. Debian Linux 6.0,
3. Apache Web Server,
4. PHP 4.0,
5. База данных Oracle,
6. Работающая версия программы ABC.
2. Рабочие станции со следующими конфигурациями:
1. AMD 2GHz, 2GB RAM, 512GB HDD
2. Microsoft Windows 7 Professional
3. Microsoft Internet Explorer 9.0
Одна рабочая станция со следующей конфигурацией:
1. AMD 2GHz, 2GB RAM, 512GB HDD
2. Инсталлированная система учета клиентов
3. Microsoft Windows XP Professional
Должно быть дополнительное оборудование:
1. Установленная сеть для тестирования,
2. Сервер и 3 рабочих станции, соединенные в локальную сеть.
Система ABС конфигурируется следующим образом, добавлением следующих пользователей:
1. Системный администратор (Administrator),
2. Клиент 1 (Client 1),
3. Клиент 2 (Client 2),
4. Менеджер 1 (Manager 1),
5. Менеджер 2 (Manager 2).
Сценарии тестирования
Введение
Следующие сценарии тестирования предназначены для проверки каждой программной функции. Часть этих сценариев повторно описывают сценарии вариантов использования.
Каждый сценарий тестов состоит из следующего:
1. Описание - эта часть представляет повторное описание документа по используемому сценарию
2. Начальные данные - обычно это исходная конфигурация базы данных.
3. Шаги тестирования- это действия, которые тестировщик должны выполнить в течение тестирования.
4. Тестовые варианты –исходные данные и ожидаемая реакция ПО для каждого теста.
Тестовый сценарий 01.01.1 Логин
Описание: смотри Тесты на функциональность логина.
Исходные данные: исходная база данных.
Шаги тестирования: смотри используемый сценарий.
Тестовые варианты:
Пользователь | Пароль | Ожидаемый результат | Комментарии |
Administrator | Вход удался | ||
Administrator | Qweasd | Вход не удался | |
Manager1 | Вход удался | ||
Manager1 | Asdasd | Вход не удался | |
Client1 | Вход удался | ||
Client1 | Asdasd | Вход не удался |