Тестировщик играет ключевую роль на многих этапах разработки ПО. Без тестировщика и обеспечения качества продукта невозможно пройти все этапы разработки:
Жизненный цикл ПО (SDLC) – более широкое понятие, которое охватывает все стадии существования программного продукта от идеи до вывода из эксплуатации: Планирование, Анализ, Дизайн, Разработка и тестирование, Имплементация, Поддержка. Тестировщику достаточно придерживаться знаний этапов разработки ПО.
Ниже расписан полный этап тестирования отдельной PBI (задачи/фичи):
Благодаря детальной работе тестировщика, продукт проходит тщательную проверку, что помогает снизить количество ошибок, повысить надёжность системы и обеспечить удовлетворенность пользователей.
Идея: Стратегия внедрить новый продукт. Есть общее представление или частичное требование "Легковой автомобиль".
Роль тестировщика: конкретной обязанности на данном этапе нет, задача еще не готова для погружения в бизнес и системные требования.
Здесь больше задействован QA Lead, который в свою очередь оценивает трудозатраты на тестирование. В дальнейшем QA Lead распределяет PBI (задачи) между инженерами по тестированию - планирует спринт.
Бизнес анализ: Бизнес проводит исследование конкурентов, чтобы понять, какие функции востребованы у пользователей. Как лучше интегрировать продукт в уже имеющуюся экосистему. Отвечает на вопрос "Как лучше реализовать?"
Роль тестировщика: пишет поверхностный чек-лист по готовым бизнес требованиям, фактически подключается под конец данного этапа.
Бизнес требования выглядят так "Я как водить легкового автомобиля хочу, чтобы в салоне был реализован бар управления системой вентиляции..."
Проверка на данный пункт будет выглядеть примерно так "Проверить, что в салоне есть бар управления системой вентиляции..."
Системный анализ: Системный аналитик пишет точные требования, схему, модель как конкретно реализовать продукт с технической стороны. Отвечает на вопрос "С помощью чего реализовать?"
Роль тестировщика: проектирует точные проверки в формате чек-листа (ЧЛ) или тест-кейсов (ТК), фактически подключается под конец данного этапа.
ТК и ЧЛ основаны на технических спецификациях, благодаря которым тестировщик сможет сравнить их с фактическим результатом.
На данном этапе также идет подготовка тестовых данных, необходимых программ, доступов, устройств и т.п.
Разработка: Разработчик погружается в системные требования и анализирует возможность реализации продукта. Как правило, системные аналитики не ошибаются, но бывают исключения и технически невозможно следовать строго требованиям. Идет активно разработка проекта.
Роль тестировщика: подключается под конец данного этапа. С готовыми проверками (ЧЛ и ТК) начинается этап тестирования (подробно описан ниже).
Тестирование: Тестировщик приступает к тестированию на уже готовых тест-кейсах и чек-листах.
Он изучил требования на этапе "Системного анализа" и написал проверки на этапе "Разработки".
Роль тестировщика: своевременно приступить к сравнению ожидаемого результата с фактическим на ИФТ стенде,
заводить баг-репорты, коммуницировать с разработчиком для уточнения требований
(на этапе разработки требования могут быть изменены). После устранения багов провести проверочное тестирование.
Релиз: После тестирования на ИФТ стенде все продукты готовы перейти на следующий тестовый стенд (контур) ПСИ.
Это как переставить машину с одного гаража в другой и проверить не осталось ли лишнего болтика под машиной. На ПСИ контуре проводится смоук-тестирование: проверяем основные функции продукта. Далее регресс для понимания, что все старые функции/продукты во всей экосистеме не были сломаны. И по итогу проверок, исправлений мы отправляем машину в автосалон (PROD/ПРОМ).
Роль тестировщика: провести смоук (дымовой тест) новых задач по итогу успешного наката на ПСИ, после провести регресс тестирование всех функциональностей ПО. После наката на ПРОМ необходимо также провести смоук тестирование, чтобы убедиться в корректной работе ПО.
Поддержка: После вывода в ПРОМ необходимо поддерживать работоспособность продукта: убедиться что информация о новинке размещена на баннерах, клиенты могут зайти в автосалон и уточнить про все акции и т.д.
Роль тестировщика: конкретной обязанности на данном этапе нет. Параллельно данному этапу происходит сбор метрик: процент выявленных багов на каждом из стендов, кол-во упущенных багов на каждом из стендов и степень покрытия ПО проверками при регресс тестировании.
Глоссарий:
ИФТ стенд - интеграционно-функциональное тестирование. Фокусируется на функциональном взаимодействии модулей после их интеграции. Здесь проверяется, что каждая часть системы выполняет свою задачу и правильно обменивается данными с другими компонентами.
ПСИ стенд - приёмо-сдаточные испытания. Ориентирован на комплексное тестирование всей системы. Здесь учитываются не только функциональные аспекты, но и производительность, безопасность, взаимодействие с внешними системами и другие эксплуатационные характеристики.
PROD/ПРОМ стенд - это окружение (среда), где программное обеспечение работает в «боевом» режиме, то есть используется конечными пользователями в реальных условиях эксплуатации.
Смоук тестирование - выполняется на начальном этапе тестирования после сборки программного продукта. Если основные функции не работают, дальнейшее тестирование становится бессмысленным, и сборку возвращают на доработку.
Регресс тестирование - после внесения изменений, исправлений или добавления нового функционала проводится повторное тестирование системы, чтобы проверить, что старые функции по-прежнему работают корректно.
В совокупности, смоук тестирование помогает быстро выявить критичные дефекты на ранней стадии, а регресс тестирование обеспечивает стабильность и сохранение качества при внесении изменений в продукт.