Если открыть вакансии QA, можно увидеть огромный разброс открытых позиций — от младшего тестировщика до ведущего, а иной раз и до главного. Часто слышу вопрос, чем должен обладать тестировщик уровня сеньор по сравнению с джуном или мидлом. Сейчас попробую на него ответить.
За 9 лет работы в роли Head of QA, я для себя сформулировал набор качеств и модель поведения, которым должен соответствовать настоящий сеньор QA. Своими наблюдениями поделился под катом.
1. Нести ответственность
Есть цель, к которой надо прийти. Например, выпуск нового микросервиса или перемещение UI-кнопки с одного места на другое. Сеньор QA возьмёт ответственность за результат, пообщается со специалистами, найдёт тех, кто поможет, по пути решит возникшие проблемы и многое другое. Словом, сделает всё для выполнения задачи. И ему не надо ничего разжёвывать.
2. Разбираться до конца
Иногда в разборе проблемы доходишь до момента, когда не хватает собственных знаний — например, непонятно, почему новый сервис не создает очередь в Kafka, или почему крашится приложение при переходе с главного экрана.
На мой взгляд, опытный сеньор не станет перекидывать ответственность на специалистов, у которых этих знаний достаточно — «пусть дальше разбираются разработчики/девопсы/продакты». А сам продолжит нести ответственность и копать, привлекая помощь других людей при необходимости.
3. Выбирать подходящие инструменты
Часто звучат такие высказывания: «не буду писать на Java», «мне больше Python нравится», «я только Cypress буду использовать», «только Appium» и так далее. Сеньор изучит и применит самый эффективный инструмент для решения конкретной задачи.
У него нет универсальных «серебряных пуль», он выбирает инструменты по входным требованиям. К примеру, если нужно организовать автоматизацию тестирования, то выберет технологии и языки, которые:
подойдут для автоматизации конкретного продукта;
легко поддерживаются;
имеют рынок кандидатов;
уже используются в компании, чтобы было с кем посоветоваться;
имеют невысокий порог входа.
4. Не бояться рассказать о своей ошибке
Виноваты разработчики, окружение, звёзды или что-то ещё. Сеньор не обвинит внешние факторы и не станет скрывать, если допустил ошибку. Он расскажет о ней коллегам и вместе с ними попытается найти решение. Все ошибаются рано или поздно, но растёт тот, кто анализирует неудачи и учится.
5. Уметь находить время на самообразование
Если тестировщик говорит, что у него нет времени на развитие собственных скиллов, то проблема с объёмами тестирования, тайм-менеджментом человека или организацией рабочих процессов. В любом из случаев будет не лишним научиться переключать контекст, правильно декомпозировать задачи и процесс обучения.
6. Быть про продукт/бизнес
Мало смысла строить стену, которая не пропустит и мельчайшего бага в релиз. Куда важнее — доставлять продукт с хорошим качеством.
Сеньор понимает, что бизнесу нужно выпускать новые фичи, поэтому всегда будет искать баланс между качеством продукта и скоростью релизов. Стоит хорошо подумать, прежде чем задерживать апдейт только из-за того, что не все минорные баги исправили.
7. Понимать риски
Не стоит пытаться протестировать всё. Важно понимать, где есть риски. И оценивать задачу перед работой не только с точки зрения «как» тестировать, но и «зачем». Нужно узнавать у заказчика, что именно важно, и на основе этого планировать тестирование. А следом доносить риски и оптимизировать время.
8. Не ставить себе рамки
Только автоматизация, только ручное, только бэкенд… Бывает, что специалист по тестированию хочет заниматься только автоматизацией и не хочет проверять что-либо вручную (даже если это требуется для лучшего понимания продукта). Или не хочет даже пытаться разобраться в результатах и коде автотестов. Хороший же сеньор сделает все необходимые действия, чтобы сделать задачу лучше, качественнее и быстрее.
9. Уметь провести анализ проблемы
Два момента.
Первый — грамотно локализовать проблему, выяснить истинную причину, разобраться, предоставить всю информацию в максимально подробном виде. При этом не отходить от сути, не терять фокус и понимать, до какого уровня нужно закопаться при анализе.
Второй момент — как не допустить проблему в будущем. Если она решена, сеньор предложит варианты, чтобы её избежать в будущем, или обсудит этот вопрос с коллегами.
10. Следить за качеством на всех этапах
Сеньор не ограничивается одним лишь тестированием задачи, когда она приходит к нему от разработки. Он спрашивает в начале процесса, что именно сделал разработчик, наблюдает за проведением релиза, смотрит за связанным мониторингом и анализирует отзывы пользователей. То есть следит за качеством на всех этапах производства продукта.
Например, если на проде обнаружили критический баг, то сеньор не остановится только на том, чтобы помочь быстрее выпустить хотфикс. Он проанализирует причины произошедшего, добавит дополнительные тест-кейсы или автотесты, попросит, чтобы доделали алерты в мониторинге, или добавит шаг проверки деплоя сервиса в тестировании.
11. Знать технологии
Самый скромный вариант: сеньор в курсе технологий, которые используются в разработке, тестировании и деплое в той компании, где работает.
Лучший вариант: сеньор знает, что используется в других компаниях (какие технологии, инструменты и процессы). И активно занимается саморазвитием, интересуется новыми трендами в области IT. К слову, для QA есть множество полезных ресурсов — из старого, но до сих пор актуального, могу посоветовать блог Майкла Болтона.
Как работает настоящий Senior QA
Никто не говорит, что это должен быть человек-оркестр. Но хороший сеньор сумеет довести проект/задачу до конца, чтобы она не споткнулась (хотя бы на своем этапе работы).
Уровень сеньор означает, что ты дал специалисту цель или верхнеуровневую задачу, а он:
нашёл способ к ней приступить;
проработал риски;
пообщался со всеми, с кем нужно;
декомпозировал;
понял, где сэкономить время, согласовал это;
если есть возможность, то привлёк помощников;
озвучил сроки;
начал делать;
если возникли проблемы и блокеры, то озвучил их заинтересованным людям;
если задача большая, сообщил о промежуточных результатах;
доделал;
рассказал, что получилось;
проверил, что все работает так, как должно.
замониторил, при необходимости задокументировал;
спустя время вернулся и посмотрел, как оно работает;
если нужно, собрал метрики.
В его работе нет «расскажите, как делать», «так не получится», «это не будет работать», «надо всё рефакторить» и тому подобного. На мой взгляд, именно так и действует настоящий сеньор. Причём это не привязано к количеству нулей в з/п — уровни вознаграждения везде разные, как и названия должностей.
Вместо заключения
Развивать ответственность и быть предпринимателем в своём проекте — это взрослое мышление сильного и опытного специалиста. Опытный сеньор QA понимает и обосновывает, что нужно и не нужно тестировать в каждом конкретном случае, принимает решения, понимает риски и не боится ответственности. Как вырастить таких специалистов у себя в команде — отдельный разговор.