1. Роль QA Automation и база тестирования
Роль QA Automation и база тестирования
Что делает QA и зачем нужна автоматизация
QA (Quality Assurance) — это системная работа над тем, чтобы продукт был качественным: процессы, требования, проверки, обратная связь. Тестирование — часть QA, сфокусированная на выявлении несоответствий между ожидаемым и фактическим поведением.
QA Automation решает задачу: быстро и воспроизводимо проверять продукт с минимальными ручными усилиями, особенно там, где проверки повторяются или критичны к регрессии.
Важно: автоматизация не заменяет ручное тестирование полностью. Она лучше всего работает для стабильных, повторяемых сценариев и проверок, где ценны скорость и регулярность.
Чем автотесты отличаются от ручных
Ручное тестирование:
Автотесты:
Ключевой критерий: автотесты окупаются, когда экономят время команды чаще, чем требуют времени на поддержку.
Что стоит (и не стоит) автоматизировать
Автоматизировать стоит, когда сценарий:
Не стоит автоматизировать, когда:
Базовые уровни тестирования и “пирамида”
Одна из практичных моделей — распределять проверки по уровням: чем ниже уровень, тем тесты быстрее и дешевле в поддержке.
Для QA Automation важно понимать: UI-тесты не должны быть единственной опорой. Если ими покрыть всё, регресс станет медленным и хрупким.
Типы тестирования, которые часто автоматизируют
База тест-дизайна: как выбирать проверки
Автотест — это не “запись кликов”, а осмысленная проверка. Основные идеи тест-дизайна помогают выбрать минимальный набор сценариев с максимальной пользой.
1) Классы эквивалентности
Если система одинаково обрабатывает целые группы входных данных, достаточно проверить по одному представителю из группы.Пример: поле “Возраст” принимает 1–120.
2) Граничные значения
Ошибки часто прячутся на границах диапазонов.Пример для 1–120: проверяем 1, 120 и рядом с ними (0, 121).
3) Таблицы решений (комбинации условий)
Когда результат зависит от набора условий, полезно явно перечислить комбинации.Пример (упрощённо): скидка зависит от “клиент VIP” и “сумма > 10 000”. Не нужно тестировать случайные комбинации — лучше покрыть все логически значимые.
Что такое “хороший” автотест
Хороший автотест обычно:
Полезная практика: в одном тесте проверять одну основную причину падения. Тогда по отчёту легче понять, что сломалось.
Минимальная тестовая документация, которая помогает автоматизации
Чтобы автотесты были осмысленными, важно иметь хотя бы:
Даже если нет формальных спецификаций, ожидания можно фиксировать как короткие сценарии в формате “Дано–Когда–Тогда” (без привязки к инструментам).
---
Задания для закрепления
1) Объясните разницу между QA и тестированием в одном-двух предложениях.
2) Для сценария “Авторизация пользователя” предложите:
3) Поле “Сумма перевода” принимает значения от 10 до 50 000. Подберите 6 значений для проверки граничных условий и объясните выбор.
4) Назовите по 2 причины, почему UI/E2E-тесты обычно дороже в поддержке, чем API-тесты.
5) Опишите один сценарий, который не стоит автоматизировать на раннем этапе, и почему.
6) Есть правило: “тест должен падать по одной основной причине”. Приведите пример, как нарушение этого правила усложняет диагностику.
<details> <summary> Ответы </summary>
1) QA — это обеспечение качества через процессы и практики в целом; тестирование — часть QA, направленная на проверку продукта и поиск несоответствий.
2) Пример smoke для авторизации: пользователь с валидными учётными данными может войти и увидеть главную страницу/профиль.
Пример регресса: после изменений в системе паролей пользователь по-прежнему может войти, а неверный пароль по-прежнему даёт корректную ошибку и не пускает.
3) Диапазон 10–50 000. Границы и рядом:
4) Причины дороговизны UI/E2E:
Причины, почему API дешевле:
5) Не стоит автоматизировать часто меняющийся прототип интерфейса (например, экран, который каждый день переделывают). Поддержка тестов будет съедать больше времени, чем приносить пользы.
6) Пример нарушения: тест “оформление заказа” в одном сценарии проверяет логин, поиск товара, добавление в корзину, оплату и письмо на почту. Если он упал, непонятно, что именно сломалось (логин? корзина? платёж? нотификации?). Разделение на более точечные проверки ускоряет диагностику.
</details>