Урок 8. Принципы тестирования и STLC
7 принципов ISTQB и жизненный цикл тестирования
Темы урока
7 принципов ISTQB, STLC, отличие SDLC и STLC, Shift Left / Shift Right, когда начинается/заканчивается тестирование
Видео урока
Конспект урока
Главное за урок
QA не доказывает, что багов нет — он снижает риск. Тестирование показывает наличие дефектов, а не их отсутствие. Если мы нашли баг, мы доказали проблему. Если не нашли — это не гарантия идеальной работы.
STLC — это карта работы QA, а не бюрократия. Без него тестирование превращается в хаотичное «покликал и вроде норм». STLC помогает структурировать: что понять, спланировать, подготовить, проверить и закрыть.
Качество начинается раньше кода и продолжается после релиза. Shift Left подключает QA к требованиям и дизайну. Shift Right смотрит на метрики и жалобы пользователей уже после выхода.
7 принципов тестирования ISTQB
1. Тестирование показывает наличие дефектов
Нашли баг — доказали, что проблема есть. Не нашли — не доказали, что продукт идеально работает. QA выдаёт снижение риска, а не «сертификат ошибок нет».
2. Исчерпывающее тестирование невозможно
Даже в небольшом магазине есть товары, категории, промокоды, количества, доставка, checkout и popup. Все комбинации действий пользователя — огромное дерево. QA выбирает проверки по риску, частоте и цене ошибки.
3. Раннее тестирование экономит деньги
Ошибка в требовании стоит дешевле, чем ошибка после релиза. Вопрос «можно ли применять промокод дважды?» лучше задать до разработки, чем фиксить после. Это принцип Shift Left.
4. Дефекты собираются в кластеры
Если в корзине уже нашли несколько багов — там может быть ещё больше. Сложные зоны ломаются чаще: расчёты, состояния, интеграции, граничные условия. QA усиливает проверку там, где уже видно напряжение.
5. Парадокс пестицида
Один и тот же набор тестов со временем перестаёт находить новые баги. Если проверять только «добавить товар и оформить заказ», можно пропустить новые риски. Тесты нужно пересматривать после изменений продукта, багов и требований.
6. Тестирование зависит от контекста
Банковский перевод, игра и учебный магазин тестируются с разной глубиной. Хороший QA не копирует чужой чек-лист вслепую, а адаптирует подход к продукту.
7. Отсутствие найденных багов ≠ полезный продукт
Можно сделать форму без технических ошибок, но неудобную и непонятную пользователю. Если требования неверные — идеально реализованная фича всё равно не решает задачу бизнеса.
SDLC vs STLC: в чём разница
| SDLC | STLC | |
|---|---|---|
| Что описывает | Жизненный цикл продукта от идеи до поддержки | Жизненный цикл тестирования конкретной фичи |
| Кто ведёт | Вся команда | QA |
| Начало | Идея / требования | Анализ требований параллельно с разработкой |
| Конец | Вывод из эксплуатации | Закрытие цикла тестирования (exit criteria) |
Они идут рядом: QA встроен в разработку, а не появляется только в конце.
Этапы STLC
1. Анализ требований
QA читает требования и ищет не только «что проверить», но и неясности. Хороший вопрос на этапе требований экономит часы тестирования и переделок.
Пример: сразу спрашиваем — как работает промокод, что делать с пустой корзиной, когда показывать popup?
2. Планирование тестирования
QA решает, какие зоны входят в проверку, какие риски самые важные и сколько времени есть. План нужен не для бюрократии, а чтобы команда понимала объём и ожидания.
3. Дизайн тестов
Из требования «промокод даёт скидку 10%» получаются позитивные, негативные и граничные сценарии. Проверяем: валидный код, неверный код, пустое поле, повторное применение, заказ после скидки.
4. Подготовка окружения
Нужны стабильная версия продукта, тестовые данные, доступы и способ сбросить состояние. Если окружение нестабильно — QA тратит время на борьбу с шумом, а не на проверку продукта.
5. Выполнение тестов
QA сравнивает фактический результат с ожидаемым и фиксирует отклонения. Даже ручная проверка должна оставлять след: что проверено, что найдено, что осталось рискованным.
6. Закрытие тестирования
В конце QA сообщает: что проверено, какие баги открыты, что заблокировано и какие риски остались. Команда принимает решение о релизе не по ощущению «вроде норм», а по понятной картине качества.
Exit criteria — критерии, по которым можно сказать «тестирование завершено»: X% тест-кейсов выполнены, критичных багов нет, все P1 баги закрыты.
Shift Left и Shift Right
[Идея] → [Требования] → [Дизайн] → [Разработка] → [Тестирование] → [Релиз] → [Продакшн]
←←←←←←←←← Shift Left ←←←←←← Shift Right →→→→→→→→→→→→→
- Shift Left — подключить QA раньше: к требованиям, дизайну, API-контрактам, критериям приёмки. Дефекты дешевле исправлять ближе к источнику.
- Shift Right — смотреть на продукт после релиза: метрики, логи, жалобы пользователей, реальные сценарии. Качество не заканчивается с выходом фичи.
STLC на примере промокода в «Пиццаеде»
| Этап STLC | Что делаем |
|---|---|
| Анализ | Читаем требования: QA60, скидка 10%, можно ли применить дважды, что с пустой корзиной |
| Планирование | Определяем зоны: промокод, сумма, checkout, popup, регресс корзины |
| Дизайн | Позитив: QA60 → скидка. Негатив: TEST → ошибка. Граница: пустое поле |
| Окружение | /base/shop, данные о товарах, возможность сброса корзины |
| Выполнение | Проходим проверки, фиксируем фактические результаты и баги |
| Закрытие | Отчёт: что работает, что сломано, что требует уточнения у аналитика |
Ключевые тезисы для теста
- Тестирование снижает риск, но не доказывает отсутствие багов.
- 7 принципов ISTQB: дефекты есть, исчерпание невозможно, раннее дешевле, кластеры, пестицид, контекст, польза ≠ отсутствие багов.
- SDLC — цикл продукта, STLC — цикл тестирования; они идут параллельно.
- STLC = анализ → планирование → дизайн → окружение → выполнение → закрытие.
- Exit criteria — формальные условия, при которых тестирование можно завершить.
- Shift Left — QA участвует с требований, Shift Right — QA наблюдает за продакшном.
- Парадокс пестицида: один и тот же набор тестов перестаёт находить новые баги — тесты нужно обновлять.
Полезные ссылки
- Эфиры Сергея на YouTube: https://www.youtube.com/@qabigtech/streams
- Чат марафона: https://t.me/+-utD4gcZaG82MTky
- Telegram-канал Сергея: https://t.me/qabigtech
- Учебный магазин «Пиццаед»: /base/shop
- Требования к «Пиццаеду»: /base/shop/requirements
- ISTQB Foundation Syllabus: поиск «ISTQB Foundation Level syllabus»