«Я робив те, що мені подобається, ще й гроші за це отримував»: як перейти з мануального тестування в автоматичне та не страждати
Чи варто переходити з manual testing в AQA? З якими челенджами можна зіткнутися? Як продовжувати розвиватися? Розповідає Senior Test Automation Engineer в EPAM Дмитро Коваленко.
«Я працював менеджером на ресепшні в готелі, де сподівався попрактикувати англійську»
— Не пригадую, щоб у мене в школі були конкретні мрії кимось стати, окрім стандартних дитячих космонавтів і пожежників. Навчався я, мабуть, вище за середнє, але зірок із неба не хапав: недостатньо було дисципліни завчати необхідний матеріал для того, щоб бути відмінником.
Я вступив на факультет іноземних мов університету Франциска Скорини м. Гомеля, що, якщо зараз дивитися в ретроспективі, було рішенням правильним, хоч багато в чому й необдуманим. Хоча б тому, що пізніше до 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-проєктах далеко не заїдеш, і реальний досвід написання тестів для продакшн-застосунку нічим не заміниш. Тільки в таких умовах ви зможете рости й розвиватися.