EngX Code Review: начни писать код еще лучше и построй эффективный процесс код-ревью.

«Я делал то, что мне нравится, еще и деньги за это получал»: как перейти из мануального тестирования в автоматическое и не страдать

Стоит ли переходить из manual testing в AQA? С какими челленджами можно столкнуться? Как продолжать развиваться? Рассказывает Senior Test Automation Engineer в EPAM Дмитрий Коваленко.

Senior Test Automation Engineer Dzmitry Kavalenka


«Я работал менеджером на ресепшене в гостинице, где надеялся попрактиковать английский»

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

Я поступил на факультет иностранных языков университета Франциска Скорины г. Гомеля, что, если сейчас смотреть в ретроспективе, было решением верным, хоть во многом и необдуманным. Потому хотя бы, что позже в EPAM я попал во многом благодаря английскому и без реального опыта в IT в принципе, но об этом немного позже.

До EPAM работал менеджером на ресепшене в одной из гостиниц Гомеля, где надеялся — как выяснилось, напрасно — попрактиковать английский. Еще перед тем, как устроиться в гостиницу, я подал заявку на сайте EPAM на курсы тестировщиков — подал и забыл, никто со мной не связывался больше года. В один прекрасный день мне позвонили из HR-отдела гомельского офиса EPAM. На первое интервью я попасть не смог, поэтому меня «отъинтервьюировали» прямо по телефону, где, oh irony, впервые за год работы на ресепшене попрактиковал английский. После этого было второе интервью, последующая «лаба» (образовательные курсы EPAM — прим.) и трудоустройство. 

Я всегда был тем парнем, который ставит «винду» всей родне и знакомым»

— Если задать вопрос, почему я подался в тестировщики, ответ будет банальный и скучный, в отличие от самой работы. Потому что не имел опыта в IT, а в тестеры все-таки порог пониже, чем в среднем по больнице. По той же причине и мануальное тестирование, а не, скажем, автоматизация — я слабо себе представлял, что это такое в принципе. До того, как начал работать я не понимал, насколько эта работа «для меня». Я всегда был тем парнем, который ставит «винду» всей родне и знакомым, копался и пытался модить игры, лазил в конфиг-файликах, чтобы запустить новую игру на своем древнем железе, отключая шейдеры. Но я не знал с какой стороны к этому моему хобби подойти, чтобы его «на хлеб намазать». В EPAM показали.

В «лабе» я пробыл недолго, но продуктивно, познакомился с азами ремесла за пределами «Тестирование дот ком» (из этой книги я вынес, пожалуй, одно непонятное слово «спека» да и все), написал свои первые тест-кейсы, нашел свои первые баги, впервые увидел и узнал, что такое stacktrace. А после лабы попал на небольшой проект, на котором вот уже 7-й год и работаю, где всему научился и продолжаю развиваться.

«А сколько еще поработать, чтобы начать что-то понимать?»

— Первые впечатления от мануального тестирования, наверное, лучше всего характеризуются вопросом, который я на заре своего профессионального пути задал своему ресурсному менеджеру у кофе-машины: «А сколько мне еще нужно поработать, чтобы я хоть что-то начал понимать?» Было сложно и непонятно, но со временем — и в 100% случаев — все кирпичики складывались воедино. В работе больше всего нравилось то, что я гигантскими объемами «впихивал» в себя знания, и то, что я наконец чувствовал, что занимаюсь тем, чем должен заниматься. Я, конечно, не жизни спасал, но был на том месте, где должен был быть. Я делал то, что мне нравится, еще и деньги за это получал!

Мануальным тестированием я занимался и продолжаю заниматься все эти 7 лет. Позиция и ожидаемый от меня уровень и тип экспертизы поменялись с переходом в автоматизацию, но в рабочие процессы я вовлечен в рамках QA-команды, что предполагает полноценный цикл QA: от написания кейсов до их тестирования и в конечном итоге автоматизации (хотя я зачастую сначала пишу тесты и покрываю функционал, а затем пишу тест кейсы). 

«Наш тестовый ромб не был похож на тестовую пирамиду»

— Развитие автоматизации на проекте (и мое вместе с ним) было выстроено по пути, как нам казалось, наименьшего сопротивления — сначала хотелось уменьшить нагрузку на регрессию при релизах мобильных приложений, и мы начали в свободное время (читай не рабочее) писать тесты на Appium для iOS и Android. Затем мы расширили этот Web-UI и Selenium и только после этого дошли до API. И только после я начал оглядываться на тестовую пирамиду и наконец понял, зачем она такая, какая есть, и то что наш тестовый «ромб» на нее особо не походил.

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

«Для тех, кто думает перейти в автоматизацию, у меня нет легких решений»

Конкретным толчком к переходу в автоматизацию было мое желание переехать в США. Позицию мануального тестировщика найти было почти нереально, а вот с автоматизаторами было попроще, и имея уже большой опыт автоматизации за плечами, я буквально за неделю подготовился, сдал ассесмент и получил «промоушен» с Lead Test Engineer на Senior Test Automation Engineer. Опыт мануального тестирования и теоретическая база, накопленная за годы работы мануальщиком, сыграли большую роль в stress-free ассесменте.

Для тех, кто думает перейти в автоматизацию, у меня нет легких решений. Если автоматизация приносит вам удовольствие, и это «ваше» – go for it, не пожалеете! Если мой опыт служит хоть каким-то индикатором для кого-то, кроме меня, то перед вами дни, недели и месяцы набивания шишек и слабого понимания, что вообще происходит. Не позволяйте этому вас демотивировать! Наслаждайтесь каждым новым куском зарефакторенного «кривого кода», который сами же и написали. Ищите удовольствие в первом и всех последующих багах, которые находят ваши плохо написанные тесты. Цените те пару дней, когда вы радуетесь тому, что улучшили архитектуру вашего фреймворка, до тех пор, пока не появится идея, как сделать его еще лучше, и так по кругу. 

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

Материалы по теме
Следи за новостями на любимых платформах