Хто такий QA Automation Engineer і як ним стати?
Яку мову програмування обрати тестувальнику-автоматизатору? Чому варто частіше змінювати проєкти? І як навчитися професії на співбесідах? Андрій Воловик QA Automation Engineer із 10-річним досвідом у тестуванні ділиться із читачами Anywhere Club інформацією про те, які знання і навички необхідні, щоби стати QA Automation Engineer і побудувати кар’єру в IT.
— Я закінчив політехнічний інститут за спеціальністю радіотехніка. До ІТ працював у сфері телекомунікацій, в продажах та інженером-конструктором. Бажання покращити фінансове становище стимулювало мене змінити сферу діяльності. Помоніторивши ринок вакансій, мене зацікавило тестування, тому що через нього можна швидко залетіти в ІТ. Почав вчити, ходити на курси англійської і готуватися до співбесід. Технічні курси я не відвідував, проте у мене було декілька менторів з досвідом, які допомагали. Моя порада — шукайте собі ментора, — зауважує Андрій, — Через пів року отримав свою першу роботу мануальним тестувальником.
Хто такий QA Automation Engineer?
— QA Automation Engineer (Quality Assurance Automation Engineer) — це спеціаліст, який займається автоматизацією тестування програмного забезпечення. Він використовує різноманітні програмні інструменти та технології для розробки тестових скриптів, виконання автоматизованих тестів та аналізу їхніх результатів.
Обов'язки QA Automation Engineer
— Завдання QA Automation Engineer залежать від проєкту, на якому ти працюєш. В більшості випадків — це робота з web/mobile UI (User Interface), API та базою даних. Зазвичай замовник хоче, щоб UI був покритий автотестами. Це можуть бути end-to-end сценарії, найбільш критичні для бізнесу фічі, або ті сценарії, з якими стикаються юзери кінцевого продукту (наприклад створюють якісь айтеми, щось купують, додають в корзину).
Найчастіше автоматизаторів наймають для:
- Створення автотестів, базуючись на мануальних тест-кейсах чи вимогах;
- Налаштування CI/CD, щоб автотести запускались автоматично чи за необхідністю. Кожен член команди повинен мати змогу запускати тести та переглядати результати (наприклад використовуючи Jenkins чи GitLab);
- Постійного аналізу результатів виконання;
- Аналізу продукту, що тестується та аналізу тестового покриття.
Навіщо загалом потрібні автотести:
Як стати QA Automation Engineer
— Я почав розглядати можливість займатися автоматизацією через два роки роботи мануальним тестувальником. Постійно писати тест-кейси і робити монотонну роботу — це набридає, — зізнається Андрій. В автоматизації більше опцій: сьогодні ти автоматизуєш UI, завтра — API. Загалом цікавіші завдання, на мою скромну думку.
Почав дивитися відеоуроки з автоматизації, самостійно писати. Часто міняв роботи в перший час. Не тому, що не влаштовувало, а щоб здобути досвід. Загалом, що більше у тебе досвіду на різних проєктах, то краще. З часом є можливість бачити проєкт не як сукупність завдань, а більш глобально. Починаєш розуміти, що треба зробити, аби покращити процеси: десь доцільніше буде не писати UI-тести, а написати API, десь треба додати ще перформанс-тести, інтеграційні тощо.
Я зазвичай приходив на проєкт як автоматизатор і починав усе з нуля. Приміром, там була команда мануальників, які написали тест-кейси. Далі ми узгоджували із замовником, що мало бути автоматизовано — і поїхали. Якщо готових тест-кейсів не було, то ми обговорювали із замовником, що саме треба зробити. А потім я презентував своє бачення, аргументував, чому це важливо. Часто доводиться спілкуватися з бізнесом напряму. Бувають і інші кейси, коли у клієнтів інші моделі роботи, масштаби проєкту й інші бюджети. Хтось може найняти команду із 20 автоматизаторів, а хтось — із двох.
Кілька порад джуніорам
Я особисто співбесідував багатьох. І, давайте будемо відвертими, те, чи подобається тобі людина, відіграє дуже велику роль. Тому розвивайте свої софт-скіли.
Яку мову програмування вчити QA
— Так склалося, що я вчив Java. І в основному працював з нею. Також ще трошки вчив TypeScript. Багато хто з моїх друзів-автоматизаторів пишуть на Python. Але тут вибір залишається за людиною.
Якщо зараз би довелося обирати якусь мову для автоматизації, я б обрав Python. Вона більш проста, постійно розвивається, зараз має попит. На Python можна зробити багато речей простіше, ніж на Java, наприклад. Кожна мова програмування по-своєму цікава. Тут справа смаку.
Якщо так трапиться, і вам запропонують проєкт на Python, а ви її не вчили — не варто відмовлятися. Підучіть трохи, заплатіть 10 доларів і завантажте кілька відеокурсів, прокачайте себе, — заохочує Андрій, — Це цілком можливо, джерел зараз багато. Єдине, що може заважати — незнання своєї мети, невміння зосереджуватися на поставлених цілях.
Що почитати й подивитися
Якщо підсумовувати — як я отримав першу роботу як QA? У мене не було особливих скілів в автомазиції, я просто якісно підготувався до співбесіди. Пройшов її та почав отримувати реальні завдання. І вже на цих реальних завданнях я собі набив руку.
Ти можеш сидіти вдома і писати якийсь код, але це буде відірвано від життя. Тому готуйтеся до співбесід, отримуйте реальну роботу і там уже вдосконалюйтесь, — підсумовує Андрій. А корисну інформацію на тему (окрім YouTube) пошукайте тут: