Любовь Вьялкина

Любовь Вьялкина

Руководитель гильдии тестирования

Тестировщик — это представитель профессии, с которой, как считается, можно легко начать свой путь в ИТ и быстро освоиться в этой сфере. На самом деле все не совсем так. Новички не учитывают, сколько различных задач может включать работа тестировщика. Каких именно — рассказывает Любовь Вьялкина, руководитель гильдии тестирования МоегоСклада.

— Какие задачи выполняет тестировщик в МоемСкладе?

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

Для нас это очень важно, потому что благодаря этому мы имеем возможность подумать про обеспечение качества еще на этапе идеи. Ошибки, которые будут обнаружены в этот момент, то есть ошибки на уровне постановки задачи, исправлять намного проще и дешевле, чем на этапе конечной реализации.

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

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

— То есть тестировщик не просто проверяет новую фичу, но и все процессы, связанные с ней?

— Да, и для нас это принципиальный момент. Более того, в МоемСкладе так выстроен процесс, что в обеспечении качества на всех этапах работы принимают участие представители самых разных гильдий — аналитики, разработчики, дизайнеры, инфраструктура.

Например, тестирование требований и планирование будущего тестирования мы делаем не сами по себе, а совместно с аналитиками и разработчиками. Мы задаем уточняющие вопросы, обсуждаем спорные моменты, согласовываем тестовое покрытие.

В конечном итоге для нас важно не только проверить соответствие реализации требованиям, но и продумать влияние вносимых изменений на всю систему и ее пользователей, потому что внесение изменений в код при обновлении продукта может привести к сбоям во всем продукте (даже там, где, казалось бы, никаких изменений и не было).

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

В общем, стремимся, чтобы с каждым релизом продукт становился только лучше.

— Подход МоегоСклада к тестированию продукта чем-то отличается от того, что практикуют в других компаниях?

— Мы очень ценим такой подход, как исследовательское тестирование, но достаточно строго относимся к тому, что под ним понимают. Среди тестировщиков есть очень разные представления о том, что это такое.

Например, мы слышали такие варианты от наших соискателей: «Исследовательское тестирование — это метод тестирования ПО, который базируется на использовании интеллекта».

Или такой: «Брать проекты конкурентов и пытаться определить ожидаемый результат в своем проекте». Или вот еще: «Исследовательское тестирование — это метод, при котором тестировщик сам определяет, какие тесты должны быть проведены, какие данные использовать». И еще множество различных довольно странных формулировок: «Тестирование в форме исследования», «Тестирование без документации». Или, к примеру: «Исследовательское тестирование — это вид тестирования, когда мы „берем факел“ и идем тыкать приложение».

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

Если подумать, исследовательское тестирование по своей сути довольно близко к научному методу: мы формулируем гипотезы, проводим эксперименты и на основании результатов этих экспериментов выдвигаем новые гипотезы.

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

— А должен ли тестировщик уметь программировать?

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

— Какими качествами должен обладать сотрудник гильдии тестирования?

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

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

Мы не требуем знания конкретных инструментов, этому можно легко научиться по готовым инструкциям.

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

У нас сформировалась сильная команда, которая уверенно справляется с самыми разными задачами: мы умеем тестировать web, API, интеграции с самыми разными системами и сервисами, десктопные и мобильные приложения и глобальные изменения по всей системе.

Экспертиза каждого тестировщика постоянно растет, и мы стараемся создать условия для гармоничного профессионального развития и карьерного роста. Думаю, что все это достаточно интересно для того, чтобы ребята продолжали у нас работать.

— Есть ли в МоемСкладе такая специфика, с которой вряд ли потенциальный сотрудник сталкивался где-нибудь ранее?

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

Все это помогает как в ежедневной работе, так и в обучении новых сотрудников. Такое принято не везде, и с этим могут возникнуть сложности у тестировщика с опытом, если он ранее не занимался подобным. Ничего критичного в этом нет, но нужно быть готовым учиться.

Уточню, что в первую очередь задачей документирования у нас занимаются аналитики, однако команда разработки в лице разработчиков и тестировщиков тоже вносит свой вклад в формирование базы знаний по продукту.

— Как происходит адаптация и онбординг новых сотрудников?

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

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

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

Тактику «бросить в воду и ждать, что сам поплывет» мы не практикуем. Наш способ обучения более затратный, но эффективный. Многим нужно помочь на старте, чтобы они быстрее освоились. Поэтому мы выбрали для себя достаточно заботливый и структурированный метод онбординга.

— Люба, расскажи, каким был твой путь в тестирование и как ты попала в МойСклад?

— До МоегоСклада моя работа не была связана ни с разработкой, ни с тестированием. Я работала в логистике, занималась организацией закупок и перевозок. Принимала участие во внедрении и отладке одного из инструментов работы, писала техническое задание для другого, и в результате поняла для себя, что мне это действительно интересно. Причем мне нравилась именно та часть, которая была связана с проработкой требований и поиском ошибок в реализации.

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

Для погружения в профессию читала книжки и сходила на курсы по тестированию, в сумме это заняло у меня полгода. Собеседование в МоемСкладе было для меня вторым по счету, но почти сразу я поняла, что хотела бы тут работать — мне понравился и продукт, и люди, с которыми я разговаривала.

Должна признаться, когда ты новичок, выбора у тебя не очень много. Как 10 лет назад, так и сейчас — поиск новой работы в тестировании — это сложная и трудновыполнимая задача. Но я и до собеседования, и во время него понимала, что мне было бы интересно работать в МоемСкладе — учетная система казалась сложным, амбициозным и перспективным с точки зрения развития продуктом.

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

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

Отдел рос пропорционально росту команды МоегоСклада. Когда я стала лидом тестирования, а это было через 2 года после того как я пришла в компанию, нас стало четверо. Сейчас я работаю уже более 9 лет и нас, тестировщиков, уже 30.

Важно понимать, что гильдия тестирования не растет сама по себе. Новые тестировщики появляются, когда растет разработка: появляется больше работы, соответственно, растет объем и количество задач для тестирования, то есть набор новых людей всегда мотивирован потребностью компании.