категории | RSS

Автоматизация тестирования: друг или головная боль?


Знали ли вы, что ещё в 2015 году Amazon Web Services выпускала по 50 миллионов релизов в год? 50 миллионов! Это как минимум один релиз в секунду. Как у них это выходило? Продуктивность в Amazon объясняют использованием DevOps и... правильно, автоматизацией тестирования. Но подождите. Всё ли так просто?
Почему автоматизация стала трендом и удерживает позиции?
Компании вроде QASymphony, опрашивая экспертов (например, Энджи Джонс из Twitter), выяснили интересное. Мир со скоростью света движется в сторону автоматизации. Требования к ПО растут, циклы релизов ускоряются, пользователи хотят «всё и сразу». Поэтому всё чаще говорят: "ручное тестирование — в прошлое, будущее за роботами, скоро за всех будет работать ИИ".
Звучит красиво, но эксперты не всегда соглашаются, насколько широко и где именно автоматизацию применять. Почему? Сейчас разберём.
Что хорошо в автоматизации тестирования?
Начнём с плюсов.
Их у автотестов, действительно, хватает.
1. Работают без усталости.
Робот не ест, не спит, не ноет, не уходит на больничный, не устает. Задал ему задачу – он её повторит столько раз, сколько надо. Хочешь ночью запустить, хочешь рано утром? Да пожалуйста.
2. Скорость.
Человек тестирует долго, а робот — быстрее в 99% случаев. В одном проценте, правда, случается, что скрипт тормозит, но это мелочи.
3. Многозадачность.
Автотесты могут работать в разных средах, с разными настройками и разными параметрами. Не просто набор «галочек», а мощный инструмент.
4. Масштабируемость.
Нужно проверить, как приложение работает под нагрузкой? Сотни, тысячи пользователей? Легко. Робот имитирует это за секунды. Найти такое количество живых тестеров за короткий срок – проблематично.
5. Экономия времени тестировщиков.
Рутину на робота — тестировщики займутся творческими задачами. Проверка багов, UX или новые функции — всё это намного интереснее, чем по кругу проверять формы.
6. Экономия денег.
Автотесты, если внедрены с умом, снижают затраты на тестирование.
Минусы автоматизации
И всё же, автоматизация — это не панацея. Поговорим о подводных камнях.
1. Автотесты ломаются.
Код поменялся — тест упал. Бывает так, что от небольшого изменения в логике тестов начинает разваливаться половина сценариев. Исправления требуют времени.

2. Ограниченность.
Робот проверяет только то, что ему сказали. Увидеть неожиданный баг? Заметить странное поведение? Нет, он на это не настроен.

3. Сложность в поддержке.
Чем больше автотестов, тем больше времени уходит на их обновление. Новые тесты писать некогда, пока поддерживаешь старые.

4. Не всё можно автоматизировать.
Есть области, где автотесты бессильны: юзабилити, вёрстка, переводы, инсталляция ПО.

5. Затраты на разработку.
Создание автотеста — это как покупка станка. Сначала вложения, потом поддержка. Окупится он или нет — ещё вопрос.
Спорные моменты
Теперь о нюансах, где всё зависит от контекста.
1. Выгода автоматизации.
Создать автотест почти всегда дольше, чем протестировать руками. Ещё и спец нужен с высокой квалификацией. Но если тесты стабильны и не требуют постоянной доработки, то они работают практически бесплатно
2. Проблемы с анализом.
Отчёты автотестов могут быть сложными. Если логирование сделано плохо, разобраться сможет только их автор. Но если настроить всё правильно, даже новичок поймёт, что пошло не так.
Когда нужно ручное тестирование?
Ручное тестирование выигрывает битву, если:
- Проект только стартовал, функционал постоянно меняется;
- Тестов немного, проходят они быстро;
- Важна проверка UX, вёрстки, переводы;
- Нужно описывать баги и готовить детальные отчёты.
Когда пора автоматизировать?
Есть сигналы, которые подсказывают: "пора подключать роботов".
- Ручных тестов много, команда не успевает прогонять регресс;
- Из-за человеческого фактора часто пропускаются ошибки;
- Долго обнаруживаются баги. Исправляются — ещё дольше;
- Подготовка среды тестирования занимает у ваших специалистов кучу времени, часто больше, чем само тестирование;
- Разрослась команда разработчиков, нужно постоянно проверять, чтобы новый код ничего не сломал.

Автоматизация нужна там, где есть масштаб и повторяемость. Только помните: не всякая автоматизация экономит время и деньги. Считайте ROI! Иначе вместо выгоды получите лишнюю головную боль. Как внедрить автоматизацию и на что следует обратить внимание, мы подробно описываем тут .

DimonVideo
2024-12-03T17:46:42Z

Здесь находятся
всего 0. За сутки здесь было 0 человек
Яндекс.Метрика