Тестовая стратегия (test strategy) — это документ высокого уровня, который описывает общий подход к тестированию программного обеспечения для всего проекта или организации. Тестовая стратегия определяет методологии, инструменты, критерии и процессы, которые будут использоваться для достижения целей тестирования. Она служит руководством для разработки более детализированных тест-планов и других связанных документов.
Основные элементы тестовой стратегии могут включать:
- Название (Title) — краткое описание тестируемого проекта или системы.
- Введение (Introduction) — общее описание целей и контекста тестирования.
- Объем тестирования (Scope) — что будет и что не будет тестироваться.
- Цели тестирования (Test Objectives) — конкретные цели, которые должны быть достигнуты в процессе тестирования.
- Методологии и типы тестирования (Test Methodologies and Types) — подходы к тестированию и виды тестирования (функциональное, регрессионное, нагрузочное и т.д.).
- Инструменты и среда (Tools and Environment) — программные и аппаратные средства, которые будут использоваться для тестирования.
- Критерии входа и выхода (Entry and Exit Criteria) — условия, при которых тестирование может быть начато и завершено.
- Риски и меры по их снижению (Risks and Mitigation) — потенциальные проблемы и способы их предотвращения или минимизации.
- Роли и обязанности (Roles and Responsibilities) — распределение обязанностей среди членов команды.
- Метрики и отчётность (Metrics and Reporting) — показатели, которые будут использоваться для оценки качества тестирования, и способы их представления.
- Коммуникация (Communication Plan) — как будет осуществляться коммуникация внутри команды и с другими заинтересованными сторонами.
Пример хорошей тестовой стратегии:
Название:
Тестовая стратегия для проекта example.com.
Введение:
Этот документ описывает тестовую стратегию для проекта example.com, включая подходы, методологии и инструменты, которые будут использоваться для обеспечения качества программного обеспечения.
Объем тестирования:
- Будет тестироваться:
функциональность пользовательского интерфейса, производительность системы, безопасность данных, совместимость с различными браузерами и устройствами.
- Не будет тестироваться:
внутренние API, администраторские функции, интеграция с внешними системами.
Цели тестирования:
- Убедиться, что основные функции системы работают корректно и соответствуют требованиям.
- Гарантировать, что система стабильна и производительна под нагрузкой.
- Проверить, что данные пользователей защищены от несанкционированного доступа.
Методологии и типы тестирования:
- Функциональное тестирование:
ручное и автоматизированное тестирование основных функций системы.
- Регрессионное тестирование:
автоматизированное тестирование для проверки, что новые изменения не повлияли на существующую функциональность.
- Нагрузочное тестирование:
использование инструментов для симуляции большого числа пользователей и проверки производительности системы.
- Тестирование безопасности:
проверка уязвимостей и защиты данных пользователей.
Инструменты и среда:
- Инструменты:
Selenium для автоматизации тестов, JIRA для отслеживания багов, JMeter для нагрузочного тестирования.
- Среда:
тестовые серверы, идентичные производственной среде, с различными конфигурациями ОС и браузеров.
Критерии входа и выхода:
- Критерии входа:
Все требования определены и утверждены.
Тестовая среда настроена и готова к использованию.
Все необходимые инструменты установлены и настроены.
- Критерии выхода:
Все тест-кейсы выполнены и пройдены.
Все критические и важные баги исправлены и проверены.
Нет открытых багов уровня критичности "блокирующий" или "критический".
Риски и меры по их снижению:
- Риски:
Задержки в разработке могут сдвинуть сроки тестирования.
Ограниченные ресурсы для тестирования на различных устройствах.
Возможные изменения требований.
- Меры по снижению:
Регулярные встречи с командой разработки для отслеживания прогресса.
Использование облачных сервисов для тестирования на различных устройствах.
Постоянное обновление и пересмотр требований.
Роли и обязанности:
- Тест-лид:
отвечает за координацию тестирования и выполнение плана.
- Тестировщики:
выполняют тест-кейсы и сообщают о найденных дефектах.
- Автоматизаторы тестирования:
разрабатывают и поддерживают автоматические тесты.
- Аналитики:
анализируют результаты тестирования и составляют отчеты.
Метрики и отчётность:
- Метрики:
Количество найденных багов по уровням критичности.
Процент пройденных тестов.
Время на исправление критических багов.
- Отчётность:
Еженедельные отчеты о статусе тестирования.
Финальные отчеты после завершения основных этапов тестирования.
Коммуникация:
- Еженедельные встречи команды для обсуждения прогресса.
- Ежедневные отчеты о статусе тестирования в JIRA.
- Сообщения о критических проблемах — немедленно через Slack.
Хорошо составленная тестовая стратегия обеспечивает ясность и понимание среди всех участников проекта, способствует достижению поставленных целей и помогает в структурировании процесса тестирования.
Не забудьте подписаться на канал, чтобы не пропустить полезную информацию: QA Helper - справочник тестировщика
Пишите в комментариях какой пункт было бы интересно рассмотреть более подробно.
Обязательно прочитайте: Что должен знать и уметь тестировщик
Также будет интересно почитать: Вопросы которые задают на собеседовании тестировщикам