Как ручному тестировщику подружиться с автотестами и зачем это нужно

113

Автоматизация затронула все вокруг, и ручным тестировщикам уже сложно, да и непростительно оставаться в стороне. Ускорение рутинных задач, снижение влияния человеческого фактора, повышение качества тестирования — всё это требует вовлечения автотестов. Но можно ли пользоваться ими, не умея писать код и не разбираясь в нюансах разработки автоматических сценариев? На этот вопрос отвечает QA-инженер Test IT Дмитрий Самохвалов: можно и нужно!

В этой статье — проблемы и вызовы, с которыми он столкнулся на проекте, и как автотесты помогли их решить. Запасайтесь попкорном и поехали!

Когда ручного тестирования становится слишком много

Рассмотрим случай из практики: вернувшись из отпуска, я увидел, что в трекере задач меня поджидает сюрприз. В тест поступила новая функциональность — автоматический перезапуск упавших автотестов.

👉 О том, как работают рераны автотестов, мы писали в статье по ссылке

Это полезная фича, которая затрагивает многие разделы системы и требует рефакторинга легаси-кода. Как ручной тестировщик я покрыл новую функциональность 15 сценариями проверок и актуализировал 20 связанных тест-кейсов.

Запускается всем знакомый процесс: тест → отправка на доработку → ретест. Этот круг повторился три раза, то есть на этапе фича-тестирования пришлось прогнать 35 х 3 кейсов. 

Все баги исправлены, апрувы получены, фича уходит в основную ветку — можно спокойно ждать релиз. Но на регрессе выясняется, что новая функциональность зацепила много автотестов, и они начали падать. Релиз сдвигается, всё в огне, тестировщик в тильте.

Автотест, упавший на регрессе:


Начинаем выяснять: проблема в баге в новой фиче или в неактуальности автотестов? 

  • Если первое, запускается очередной день сурка: «тест → доработка → ретест», и снова 35 кейсов по кругу.

  • Если второе, ситуация не легче. Значит, автотесты нужно чинить: AQA спешно дорабатывает N сценариев, и делает это не в спокойной обстановке, а под давлением дедлайнов.

Что делать: ждать чуда или менять подход?

Один раз — случайность, два — уже тенденция. Когда ситуация повторилась, пусть и в меньших масштабах, я решил разобраться глубже. Проанализировал причины и стал выстраивать новую стратегию тестирования с упором на тесное взаимодействие с автотестами.

Шаг 1. Готовимся заранее: «сдвиг влево»

Нужен «сдвиг влево» в процессе подготовки к тестированию, то есть заранее находить (а если не выходит — выбивать) время на актуализацию ручных и автотестов, которые затронет новая функциональность. Идеально делать это еще до начала разработки: так можно выявить нюансы, упущенные при анализе постановки, и не тащить их потом в код.

Также на этом этапе стоит постучать в дверь отдела AQA/SDET, взять за руку открывшего специалиста и вместе пройтись по библиотеке автотестов. На основе вводных по новой функциональности и его знаний определить, какие автотесты может затронуть изменение в коде.

После пары таких походов стучаться больше не придется: вы и сами сможете собирать автотесты на актуализацию и приносить автоматизаторам готовые задачи на доработку API- и E2E-тестов. (Осторожно, автоматизаторы могут загрустить, что вы больше им не звоните).

Шаг 2. Точечная автоматизация с умом

Чем больше ручных тест-кейсов преобразуются в Е2Е-автотесты, тем меньше времени уходит на выполнение любимого, а порой и бесконечного процесса «тест → доработка → ретест». Также не забываем про регресс: большую часть тестов по функциональности будет проходить машина, а не ручной тестировщик, уязвленный багами на проде и задержкой релиза. 

Но не стоит автоматизировать все подряд. Если сценарий нужен 1–2 раза при фича-тестировании и не участвует в регрессе, то логичнее сэкономить силы и время коллег-автоматизаторов во благо общей цели — качества продукта.

Шаг 3. Учимся запускать и разбирать автотесты

Третий шаг логично вытекает из второго: самостоятельный запуск автотестов в рамках тест-плана при фича-тестировании и разбор возможных падений. Первое время, конечно, придется снова постучаться в уже знакомую дверь AQA/SDET, и там вас встретят с гостинцами: стек-трейсами, логами и скринкастами.

С помощью этих, на первый взгляд, незнакомых артефактов ручной тестировщик может успешно самостоятельно анализировать причины падений автотестов и обнаруживать баги, которые ускользают от человеческого взгляда. При сложных и непонятных падениях возвращаемся к друзьям-автоматизаторам за помощью. 

Шаг 4. Автотесты против багов с прода

Баги с прода, особенно те, что приходят не в первый раз, стоит обкладывать тест-кейсами и тоже отправлять на автоматизацию. Так дефекты больше не будут поедать нервные клетки команды, а будут спокойно отлавливаться машиной при регулярных прогонах, которые стали проходить еще чаще — ведь теперь их запускаете и вы. 

Чек-лист по работе с автотестами без кода

  • Подключайтесь к обсуждению фич до начала разработки и планируйте актуализацию тестов.

  • Взаимодействуйте с AQA/SDET: определяйте, какие автотесты затронет новая фича.

  • Отправляйте новые ручные тесты на автоматизацию. Особенно те, что часто используются.

  • Запускайте автотесты самостоятельно и учитесь разбирать падения по логам и стек-трейсам.

  • Обкладывайте баги с прода тест-кейсами и передавайте их на автоматизацию.

Даже не разбираясь в коде автотестов, ручной тестировщик может эффективно с ними взаимодействовать и вносить весомый вклад в качество продукта. Для этого нужно четкое планирование, хорошая коммуникация с командой AQA/SDET и понимание, что автоматизация — это не враг, а союзник, помогающий делать работу быстрее и лучше.


Объединяйте работу с ручными и автотестами в едином пространстве с помощью Test IT. Попробуйте возможности платформы на бесплатном тарифе

Была ли статья полезной?