Як стати QA Automation Engineer у 2025 році?
By Volodymyr Obrizan on Січень 1, 2025 · Прочитати цю публікацію іншими мовами: Russian
Що потрібно знати і вміти, щоб впевнено працювати QA Automation Engineer у 2025? Розглянемо на прикладі спеціалізації автоматизатора тестування веб-сайтів за допомогою фреймворку Selenium і мови Python. Розглянемо, чим займається спеціаліст цієї професії, щоб зрозуміти, що потрібно вивчити і знати для ефективної роботи. Немає сумнівів у тому, що QA Automation Engineer — цікава і затребувана професія. І однозначно потрібно витратити час, щоб вивчити весь навчальний матеріал і зайняти бажану позицію.
Автоматизація тестування веб-застосунків: Selenium + Python
Онлайнкурс з підтримкою ментора. Вивчаємо базу Python, фреймворки unittest, pytest, Selenium і трішки Playwright. Пишемо багато тестів для e-commerce та ERP вебзастосунків. Отримаємо портфоліо та сертифікат.
Дізнатись більшеЧим займається QA Automation Engineer?
Щоденна робота QA Automation Engineer — розробляти скрипти автоматичних тестів. По суті інженер-автоматизатор переводить з природної мови, на якій записані тестові сценарії, на скрипти автоматизації на мові Python.
Звичайно, QA Automation Engineer запускає скрипти автоматичних тестів за проханням менеджера проєктів, щоб перепровірити якість розроблюваного веб-застосунку. Після запуску аналізує звіт і повідомляє про знайдені проблеми. Залишається дискусійним питання: чи потрібно інженеру-автоматизатору вносити відомості про знайдені помилки? Я вважаю, що ні, оскільки у нього спеціалізація більше на програмуванні, і з внесенням звітів про помилки краще і ефективніше впораються Manual QA Engineer.
Обслуговування скриптів автоматичних тестів — важлива частина роботи QA Automation Engineer. Вона пов’язана з кількома випадками:
- змінюється верстка веб-застосунку — потрібно оновити локатори в Page Objects;
- змінюються тестові дані — потрібно оновити дані в скриптах;
- змінюється логіка застосунку (наприклад, послідовність дій у якомусь сценарії) — потрібно оновити аналогічні скрипти, щоб вони їм відповідали.
Якщо своєчасно не обслуговувати скрипти автоматичних тестів, то вони дуже швидко можуть перестати бути актуальними і ніякої користі від них не буде. Вони просто не будуть перевіряти те, що потрібно.
І невелику частину часу QA Automation Engineer витрачає на координацію своїх дій з іншими членами команди:
- з менеджером проєктів — погоджує план робіт, звітується про запуски;
- з програмістами — обговорює технічні деталі, як сверстаний інтерфейс користувача;
- з іншими тестувальниками та аналітиками — якими саме тестами слід перевіряти ту чи іншу функцію.
Ось як приблизно розподіляється час роботи QA Automation Engineer у місяць (виходячи з досвіду роботи в Design and Test Lab):
Активність | Доля часу |
---|---|
Написання скриптів автоматизації | 60% |
Обслуговування скриптів автоматизації (внесення виправлень і адаптація до нових версій веб-застосунку) | 20% |
Запуск скриптів автоматизації і створення звітів про запуск | 10% |
Комунікація в команді з менеджерами, програмістами, тестувальниками, аналітиками | 10% |
Чи потрібно знати мови програмування, щоб стати QA Automation Engineer?
У випадку спеціалізації автоматизатора тестування веб-сайтів — так, потрібно знати мови програмування, наприклад, Python. Це пов’язано з тим, що ті дії, які інженер-тестувальник робить руками, потрібно описати комп’ютеру зрозумілою для нього мовою — мовою програмування. Є системи, які дозволяють записати повторювані дії у вигляді скрипта (наприклад, Selenium IDE), але такий інструмент не масштабується, якщо ми хочемо писати сотні автоматичних тестів.
Тому QA Automation Engineer не зможе обійтися без знання мови Python.
В якому обсязі потрібно знати мову Python, щоб писати скрипти?
Хороша новина в тому, що вивчити Python доведеться в меншому обсязі, ніж, наприклад, Backend-розробнику. У курсі QA Automation Engineer вивчається:
- Базові відомості про мову. Типи, літерали, змінні, оператори.
- Базові структури даних: список (list), словник (dictionary), кортеж (tuple), множина (set).
- Встановлення інтерпретатора Python і середовища розробки PyCharm. Запуск Python-застосунків.
- Оператори, що керують потоком обчислень: умови, цикли.
- Визначення функцій. Реалізація функцій і алгоритмів.
- Модулі і пакети.
- Помилки і виключення. Типові помилки в Python-коді.
- Прийоми об’єктно-орієнтованого проєктування. Інкапсуляція, наслідування, поліморфізм. Класи і екземпляри класів. Класи даних (dataclass).
- Написання коду в об’єктно-орієнтованому стилі.
- Налагодження Python-застосунків.
- Стандартна бібліотека Python.
- Пакети для запуску модульних тестів unittest, pytest.
Це приблизно 30 годин лекційних і демонстраційних занять. І приблизно стільки ж потрібно буде приділити практичним заняттям.
Окрім цього ще бажано вивчити основи таких мов програмування:
- HTML — мова розмітки гіпертексту, тобто тих сторінок, які ми бачимо на екрані;
- CSS — каскадні таблиці стилів — мова, за допомогою якої задаються стилі елементів на сторінці;
- JavaScript — мова сценаріїв на сторінці, щоб розуміти, як працюють динамічні сторінки;
- JSON — формат обміну даними між клієнтом і сервером у веб-застосунку.
Це необхідний мінімум, щоб почати писати скрипти автоматизації в ролі QA Automation Engineer.
Загальний обсяг відео-матеріалу, включений у курс автоматизації тестування веб-сайтів, становить приблизно 65 годин.
Один робочий день QA Automation Engineer
Подивіться у вебінарі, на що схожий один робочий день автоматизатора тестування веб-сайтів:
Чи потрібно вміти тестувати, щоб працювати QA Automation Engineer?
В автоматизацію тестування веб-сайтів приходять люди з різною історією:
- хтось до цього взагалі не працював в ІТ;
- тестувальники, які хочуть підвищити свою кваліфікацію;
- програмісти, які хочуть спробувати себе в автоматизації тестування.
Найскладніше буде, звичайно, тим, хто ні працював ні тестувальником, ні програмістом. А найпростіше буде працювати QA Automation Engineer — вже сформованим програмістам.
Не обов’язково вміти тестувати або мати попередній досвід роботи QA Engineer, щоб успішно працювати QA Automation Engineer. В деяких організаціях дуже чітко розмежовані ролі:
- тест-менеджер складає план тестування;
- тест-аналітик пише тестові сценарії;
- тест-інженер проводить сесії ручного тестування;
- QA Automation Engineer автоматизує готові тестові сценарії.
У цьому випадку якість автоматичних тестів не постраждає, оскільки на вхід QA Automation Engineer отримає високоякісні тестові сценарії.
Але якщо немає такої ролі тестового аналітика і відповідальність скласти тестові сценарії покладається на QA Automation Engineer, то деякі знання і навички тестування доведеться набути, щоб працювати ефективно.
Висновки
Що повинен знати QA Automation Engineer, щоб претендувати на посаду:
- базу мови програмування Python;
- базу фреймворку Selenium;
- мати уявлення про будову веб-застосунків;
- знати, як організована тестова інфраструктура.
Що повинен вміти QA Automation Engineer, щоб ефективно працювати на посаді:
- налаштування середовища розробки;
- написання скриптів автотестів;
- як обслуговувати скрипти автотестів;
- вміти запускати автоматичні тести;
- вміти запускати автоматичні тести в хмарі;
- аналізувати звіти про запуск автоматичних тестів;
- налагоджувати проблеми і помилки в коді автоматичних тестів.
Курси QA Automation Engineer
Де вивчити автоматизацію тестування веб-застосунків? Всім переліченим знанням і навичкам First Institute of Reliable Software навчає на онлайн-курсі QA Automation Engineer Selenium + Python за 65 годин. Приблизно ще 40 годин знадобиться на виконання домашніх завдань.
Автоматизація тестування веб-застосунків: Selenium + Python
Онлайнкурс з підтримкою ментора. Вивчаємо базу Python, фреймворки unittest, pytest, Selenium і трішки Playwright. Пишемо багато тестів для e-commerce та ERP вебзастосунків. Отримаємо портфоліо та сертифікат.
Дізнатись більше