Из этой статьи вы узнаете о создании и документировании стратегии тестирования.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Стратегия тестирования определяет подходы к тестированию, цели, которые необходимо достичь и способы, с помощью которых вы собираетесь этого добиться.
Этот документ устраняет все неопределенности или расплывчатые формулировки требований, содержит четкий план с подходами к достижению целей тестирования. Стратегия тестирования – один из самых важных документов для команды обеспечения качества.
Содержание:
- Создание стратегии тестирования
- Что такое стратегия тестирования?
- Стратегия тестирования VS План тестирования
- Процесс разработки документа со стратегией тестирования
- Общие разделы документа со стратегией тестирования
- Шаг 1: Общая информация и обзор проекта
- Шаг 2: Подходы к тестированию
- Шаг 3: Тестовое окружение
- Шаг 4: Инструменты тестирования
- Шаг 5: Контроль релиза
- Шаг 6: Анализ рисков
- Шаг 7: Утверждение стратегии
- Советы по созданию стратегии тестирования
- Заключение
Создание стратегии тестирования
Эффективное написание стратегии тестирования – это навык, необходимый каждому тестировщику для построения успешной карьеры. Этот процесс помогает обнаружить множество недостающих требований. В его ходе также осуществляется планирование тестирования, которое помогает команде определить необходимый объем проверок и тестового покрытия продукта.
Стратегия тестирования помогает QA-менеджерам получить четкое представление о состоянии проекта в любой момент времени. При наличии правильно разработанной стратегии снижается вероятность пропустить какие-либо этапы тестирования.
Выполнение тестов без какого-либо плана редко бывает успешным. Многие команды создают этот стратегический документ, но почти никогда не обращаются к нему в процессе работы. План стратегии тестирования должен обсуждаться со всеми участниками команды, чтобы они действовали согласно документации и четко знали свои обязанности.
В условиях сжатых сроков нельзя просто отказаться от какой-либо деятельности по тестированию из-за нехватки времени. Перед этим необходимо свериться со всеми формальными процессами.
Что такое стратегия тестирования?
Стратегия тестирования отвечает на вопрос “Как вы собираетесь тестировать приложение?”. В ней необходимо описать точные процессы, которым вы собираетесь следовать при тестировании продукта.
Стратегия тестирования VS План тестирования
Эти два документа часто путают друг с другом. Поэтому давайте начнем с основных определений. Стратегия тестирования представляет собой описание общего подхода к тестированию и целей тестирования. В свою очередь, план тестирования описывает, что будет тестироваться, в какие сроки, какими инструментами, какой командой, обязанности и ответственности каждого члена команды.
Каждая организация имеет свои собственные стандарты и процессы для ведения этих документов. Одни организации включают детали стратегии в сам план тестирования. Другие включают стратегию в качестве подраздела в план тестирования, но детали самой стратегии описаны в разных документах, существующих отдельно от плана.
Набор функциональностей проекта и подходы к их тестированию определяются в плане. В основном, в нем рассматривается тестовое покрытие требований, тестируемые функциональности, функциональности, не подлежащие тестированию, оценка, планирование и управление ресурсами.
Стратегия тестирования определяет основные принципы подхода к тестированию, которым необходимо следовать для достижения целей и выполнения тестов, определенных в плане. В ней рассматриваются цели тестирования, подходы, тестовые окружения, инструменты автоматизации, анализ рисков и план действий в непредвиденных обстоятельствах.
Подводя итог, можно сказать, что план тестирования описывает то, чего вы хотите достичь, а стратегия – это план действий, разработанный для достижения ваших целей.
Процесс разработки стратегии тестирования
Не следуйте шаблонам без понимания того, что идеально подходит именно конкретному проекту. У каждого клиента свои требования, и вы должны выбирать только то, что лучше всего сработает в вашей ситуации. Не стоит слепо копировать шаблоны и стандарты. Всегда стоит заранее убедиться, что это поможет вам и вашим процессам.
Ниже приведен образец шаблона стратегии, который описывает, что должно быть в нее включено, а также несколько примеров, показывающих, что будет полезно включить в каждый компонент.
Стратегия тестирования в STLC:
Общие разделы cтратегии тестирования
Шаг 1: Объем и ревью проекта
Здесь содержится полный обзор проекта вместе с информацией о том, кто должен использовать этот документ. Также важно указать, кто будет согласовывать и утверждать этот документ. Определите мероприятия и этапы тестирования, которые должны быть выполнены, с указанием сроков относительно общих сроков проекта, определенных в плане.
Шаг 2: Подходы к тестированию
Определите процесс тестирования, уровни тестирования, роли и обязанности каждого члена команды.
Для каждого типа тестирования, прописанного в плане (например, модульное, интеграционное, системное, регрессионное, установки, юзабилити, нагрузки, производительности и безопасности), укажите причины необходимости его проведения. Не забудьте добавить такие детали, как время начала проверок, ответственный за процесс и его обязанности, подходы к тестированию и инструменты автоматизации, если это применимо к проекту.
В процессе выполнения тестов встречаются различные виды деятельности, такие как добавление новых дефектов и устранение уже существующих, назначение исполнителя для устранения дефектов, повторное тестирование, регрессионное тестирование и, наконец, отчет о результатах. Вы должны определить конкретные шаги, которые необходимо выполнить для каждого из этих видов деятельности. Для надежности можно следовать тем процессам, которые уже показали свою эффективность в предыдущих циклах тестирования.
Презентация со схемами и графиками всех этих видов деятельности, включая количество QA инженеров и информации о том, кто над чем будет работать, может быть очень полезна для быстрого понимания ролей и обязанностей каждого члена команды.
Например, в управлении дефектами стоит упомянуть процесс регистрации нового дефекта – какую баг-трекинговую систему использовать, как сообщать о новых багах, каков должен быть статус бага, кто должен назначать приоритет и т.д.
Шаг 3: Тестовое окружение
В настройке тестовой среды должна быть указана информация о количестве сред и необходимых настройках для каждой из них. Например, одна – для группы функционального тестирования, а другая — для группы UAT.
Определите количество пользователей, поддерживаемых в каждом окружении, уровни доступа для каждого пользователя, требования к программному и аппаратному обеспечению, такие как операционная система, память, свободное пространство на диске и т.д.
Не менее важно определить требования к тестовым данным. Предоставьте четкие инструкции по созданию тестовых данных (либо генерируйте данные, либо используйте реальные данные с продакшена, маскируя поля для обеспечения конфиденциальности).
Определите стратегию резервного копирования и восстановления тестовых данных. В базе данных тестовой среды могут возникнуть проблемы из-за необработанных условий в коде.
Процесс резервного копирования и восстановления должен определять, кто и когда будет делать резервные копии, что в них включать, кто будет восстанавливать базу данных, а также шаги по маскировке данных, которые необходимо выполнить в случае восстановления БД.
Шаг 4: Инструменты тестирования
Определите инструменты управления и автоматизации тестирования, необходимые для выполнения тестов на каждом этапе. Для тестирования производительности, нагрузки и безопасности также опишите подходы и необходимые инструменты. Упомяните, будет ли это продукт с открытым исходным кодом или коммерческий инструмент, сколько пользователей поддерживается на нем, и учитывайте эту информацию в своем плане.
Шаг 5: Контроль релизов
Незапланированные циклы релизов могут привести к появлению разных версий программного обеспечения в тестовых средах и средах UAT. План управления релизами с соответствующей историей версий обеспечит выполнение тестирования всех функциональностей последнего актуального релиза.
Например, утвердите процесс управления сборками, который будет отвечать на вопросы – где должна быть доступна и развернута новая сборка, когда и откуда можно ее получить, кто даст разрешение на релиз или его остановку и т.д.
Шаг 6: Анализ рисков
Перечислите все предполагаемые риски, которые могут возникнуть в ходе тестирования. Составьте четкий план по их снижению, а также план действий в случае непредвиденных обстоятельств и свершения этих рисков.
Шаг 7: Утверждение стратегии
Когда все эти действия определены в стратегии тестирования, они должны быть утверждены и подписаны всеми вовлеченными лицами, включая руководство проекта, команду product-менеджеров, команду разработчиков и команду системного администрирования (управления тестовыми окружениями).
Изменения внесенные в ходе рассмотрения документа, должны быть кратко описаны в начале документа вместе с именем ответственного лица, датой и комментарием. Кроме того, этот документ не является статичным и его следует постоянно пересматривать и обновлять по мере совершенствования процесса тестирования.
Советы по написанию стратегии тестирования
- Включите в документ информацию о продукте. Ответьте в самом начале документа на вопрос “Почему заинтересованные стороны хотят разработать этот проект?” Это поможет быстро понять и расставить приоритеты.
- Перечислите все важные функциональности, которые вы собираетесь тестировать. Если вы считаете, что некоторые из них не входят в релиз, укажите их в разделе «Функции, не подлежащие тестированию».
- Зафиксируйте подходы к тестированию, актуальные для вашего проекта. Четко укажите, какие виды тестирования вы собираетесь проводить. Например, функциональное, тестирование пользовательского интерфейса, интеграционное, нагрузочное/стрессовое, тестирование безопасности и т.д.
- Ответьте в документе на вопросы: Как вы собираетесь проводить функциональное тестирование? Будут использоваться только ручные проверки или автоматизация? Собираетесь ли вы выполнять все тестовые случаи с помощью своего инструмента управления тестированием?
- Какой инструмент отслеживания дефектов вы собираетесь использовать? Какие действия необходимо совершить при обнаружении нового дефекта?
- Каковы критерии входа и выхода для всех этапов тестирования?
- Как вы будете отслеживать ход тестирования? Какие метрики вы будете использовать для отслеживания его завершения?
- Распределите задачи – определите роли и обязанности каждого члена команды.
- Какие еще документы вы будете использовать во время и после каждого этапа тестирования?
- Какие риски могут возникнуть после завершения всех мероприятий?
Заключение
Стратегия тестирования – не просто очередной документ, а отражение всей деятельности QA в жизненном цикле тестирования программного обеспечения. Время от времени обращайтесь к этому документу в процессе работы и следуйте плану до выпуска программного обеспечения в эксплуатацию.
Когда проект приближается к релизу, мероприятия по тестированию часто сокращаются. То, что было запланировано в стратегии, игнорируется. Тем не менее, желательно обсудить с вашей командой, поможет ли сокращение тех или иных видов деятельности выпустить проект без потенциального риска возникновения серьезных проблем после релиза.
Большинство agile-команд сокращают написание документов по стратегии, поскольку команда сосредоточена на выполнении тестов, а не на документации. Однако наличие таких документов всегда помогает четко планировать все этапы и снижать риски, связанные с проектом.
Перевод статьи “How To Write Test Strategy Document (With Sample Test Strategy Template)”