Як перейти з Manual QA в Automation. Що опанувати і що може стати на заваді з досвіду QA-фахівців
За нашою аналітикою, частка Manual QA на ринку знизилася з 61% до 57% за пів року. Натомість стало більше Automation QA і General QA. Окрім того, зарплати автоматизаторів приблизно на 50% вищі, ніж у мануальників.
Ми вирішили дізнатися, чи варто Manual QA розвиватися в бік автоматизації. DOU поспілкувався з QA-фахівцями, які свого часу перейшли в Automation, про переваги та труднощі цього шляху.
«Автоматизоване тестування — складніша робота, але я люблю виклики»
Геннадій Міщевський, Lead SDET (Test Automation) Engineer у FutureLog AG
Про автоматизацію тестування я почав замислюватися ще на початку своєї кар’єри QA. Робота мануальника видавалася досить простою, хотілось професійного зростання. Коли колега запропонував вивчати разом Python, я погодився.
Розвиватися в автоматизації тоді підштовхнув ще один випадок. Двом командам тестувальників, а це загалом 16 фахівців, дали максимально неоптимізоване завдання зі значним обсягом ручної роботи. За розрахунками, ми мали витратити на нього весь день, навіть попередили про можливі овертайми.
Щоб спростити завдання, я написав програму для автоматизації — у підсумку ми виконали все за годину. Звісно, команда і менеджер були задоволені. Тож для мене це стало дзвіночком, що варто продовжувати вивчати Python і рухатися в бік автоматизації.
Після цього я продовжував писати скрипти, які полегшували мені роботу, і зрештою 2016 року перейшов на позицію Automation QA. Нині я допомагаю опановувати автоматизацію колегам. Розробив і записав внутрішній мінікурс для компанії, який можуть пройти всі охочі працювати в Automation QA. Ініціатива повністю належала мені, і деякі колеги її підтримали. Це навчання допомогло розширювати команди автоматизаторів без залучення спеціалістів з ринку.
😬 Труднощі на шляху до автоматизації
Важливо розуміти, що перехід в автоматизацію — це складно, довго і не для всіх. Успіх залежить від того, наскільки людина вмотивована і готова навчатися. Наприклад, серед п’яти учасників мого курсу в Automation перейшов лише один — решті або стало складно в процесі навчання, або ж не сподобалось.
Труднощі можуть спіткати, коли після переходу в автоматизацію ви стаєте єдиним Automation QA на проєкті. Зазвичай до таких фахівців більше вимог, ніж коли є команда автоматизаторів. Також може бути важко у сферах на кшталт медичної, де ставлять високі вимоги до тестування і його автоматизації. Там складна архітектура фреймворку, потрібно добре розбиратися з архітектурою коду й патернами програмування.
Не скажу, що сьогодні стати автоматизатором важче, ніж років десять тому. Звісно, ситуація на ринку погіршилася, але війна вплинула на всі ІТ-напрями, а не лише на QA.
😎 Плюси переходу в автоматизоване тестування
Для мене основна перевага автоматизації — цікавість завдань. Загалом тут складніша робота, але я люблю виклики й непрості завдання.
Як бонус — в автоматизаторів вища зарплата, ніж у мануальників. З огляду на досвід своїх знайомих QA та власний, ця різниця може сягати від $500 до $1000.
Ще один позитив — від автоматизаторів не залежить реліз. Тому коли мануальники поспіхом роблять регресію після того, як розробники виправили масу багів, Automation QA спокійно працюють. Так відбувається тому, що автоматизація здебільшого покриває регресію, тобто функціональність, яка вже була зроблена певний час тому. Отож QA-фахівці мають можливість зосередитися на якості роботи та не поспішати.
🧐 З чого почати перехід
Серед інструментів для автоматизації знадобляться Playwright або Cypress. Як на мене, останній не дуже зручний у використанні, тому рекомендую саме Playwright.
Наступний крок — опанувати мову програмування. Я працюю з JavaScript, тому її і раджу вивчати. Зручно те, що на JS пишеться Front-end, а автоматизатори переважно ним і займаються. Часто використовують Python, рідше — Java.
Також Automation QA має знати та вміти налаштовувати CI. Для навчання згодиться безплатний сервер, як-от GitHub Actions, де можна потренуватися реалізувати прості пайплайни: зробити репозиторії, написати кілька тестів і спробувати запустити їх принаймні по таймеру або на пуш.
«В ідеальному світі автоматизатор — це середнє між тестувальником і розробником»
Він має знати, що протестувати і як, та вміти це все оформити у вигляді коду.
Спробую оцінити знання Automation QA за рівнями. Джуніор має вміти писати код. Мідл — розумітися на дизайн-патернах і чистому коді, могти створити принаймні нескладний проєкт з тестами та добре розуміти архітектуру свого проєкту. А сеньйор — це людина, яка вміє писати такий код, щоб через місяць його зрозуміти. Це може виглядати як найелементарніший пункт з переліку, але насправді — ні. Бо написати код, який зможе зрозуміти навіть джуніор, — непросте завдання.
Якщо говорити про розвиток кар’єри, то для будь-якого QA пролягає шлях у лідство та менеджмент. Є позиції Automation Lead, Manual Lead, QA Manager (які можуть відповідати окремо за автоматизацію або мануал). Якщо мануальники не планують розвиватися в автоматизацію, вони можуть вибрати напрям Product або Scrum Master.
«Я приділяв вивченню автоматизації мінімум десять годин на тиждень»
Богдан Кривий, Software Test Automation Engineer / QA Lead у Luxoft
Мій досвід у тестуванні сягає понад шість років, з них перші два я був мануальником. Кар’єру починав в EPAM, там і пройшов менторську програму для переходу в Automation QA.
На мій погляд, в QA є два напрями розвитку: технічний — вивчення автоматизації й робота Automation або General QA, а також гуманітарний — коли спеціаліст поєднує мануальне тестування з бізнес-аналітикою, стає Product Owner, Scrum Master або менеджером.
Зі мною в EPAM працювали як колеги, що вибрали перший шлях, так і фахівці, які йшли другим. Отож я мав нагоду спостерігати за їхнім розвитком і брати приклад. У мене був технічний бекграунд: я закінчив спеціальність «Комп’ютерні науки» в ЛНУ ім. Франка та мав базові знання з програмування. Тому, ставши Manual QA, планував поєднати або повністю перейти в автоматизацію. І ще до менторської програми я почав робити перші кроки в цьому самостійно.
😎 Плюси переходу в автоматизоване тестування
Рухатися в бік автоматизації мене мотивував кар’єрний розвиток, адже можна вибирати серед більшої кількості вакансій. Наприклад, я помітив, що зараз в іноземних компаніях позиції QA з кожним роком усе рідше розділяються на Automation і Manual. Тобто від спеціаліста очікують, що він самостійно визначатиме процес тестування та що саме можна автоматизувати.
З переходом в автоматизацію моя зарплата значно зросла. Відразу після менторської програми у
Для мене плюсом автоматизації є різноманіття в роботі. У мануальному тестуванні загальна концепція завжди зрозуміла. З’являється нова фіча, і ти знаєш, що потрібно написати тесткейси, спланувати все і протестувати. Автоматизоване тестування нагадує девелоперську роботу: необхідно більше технічних знань, частенько щось не працює чи ламається, і доводиться думати, як виправити свої тести. Це додає різноманіття та цікавості.
Також уміння автоматизації гарантує впевненість у майбутньому. Адже ІТ-сфера може трансформуватись, а навички програмування, які мають Automation QA, завжди знадобляться.
😬 Труднощі на шляху до автоматизації
Тим, хто не любить програмування, переходити в автоматизоване тестування не варто. В моєму оточенні були люди, які прийшли у мануальне тестування з різних професій, і не лише технічних. І майже всі вони свого часу вирішили спробувати опанувати автоматизацію. Але не всім сподобалось програмувати: у цій роботі є багато труднощів, не завжди очевидних завчасно.
Іноді під час переходу в Automation відбувається даунгрейд. Та це, звісно, залежить від компанії. Коли я перекваліфікувався з мануальників в автоматизатори, то був мідлом, і мій грейд після переходу не змінився. Але я чув про випадки в деяких компаніях, що люди в Automation QA отримували нижчий грейд, ніж мали у Manual.
Також перехід в автоматизатори може бути складним і тривалим. За моїми оцінками, потрібно від трьох до шести місяців, щоб вивчити основи програмування, ще стільки ж — щоб опанувати інструменти автоматизації. І це за наявності технічного бекграунду. Без нього знадобиться більше часу.
Потрібна мотивація та самодисципліна. Особливо складно може бути перші два-три тижні, але згодом втягуєшся. Я приділяв навчанню мінімум десять годин на тиждень і старався не робити довгих перерв. Адже це як з поганими звичками, потім доводиться знову налаштовуватись і починати спочатку.
За останні п’ять років складність переходу в автоматизацію навряд чи змінилася. Що тоді, що тепер — навчальних матеріалів та курсів удосталь. Зараз, можливо, навіть трішки легше: можна багато всього запитати у ChatGPT і миттєво отримати відповідь.
🧐 З чого почати перехід
Не так давно я був лектором на комерційних курсах і розповідав студентам-мануальникам, як опановувати автоматизацію самостійно. І найперша моя порада — почати з вивчення мови програмування. Для QA найпопулярнішими є JavaScript та Python, проте можна вибрати і стандартну — Java, C#. Вивчати мову можна навіть без прив’язки до тестування, просто пройти базовий курс чи переглянути лекції на YouTube. Головне — паралельно практикуватися.
А коли вже зможете вивести на екран «Hello World» та розв’язувати найпростіші логічні завдання, переходьте до інструментів автоматизації. З найпопулярніших — це Playwright, раніше таким був Selenium. Для практики можна вибрати будь-який сайт і спробувати ним керувати за допомогою цих інструментів.
Навіть якщо ви плануєте пройти курс для Automation QA або менторську програму, рекомендую пройти ці кроки самостійно, ще до початку навчання.
Якщо в мануальників є можливість долучитися на проєкті до автоматизації, раджу хапатися за цей шанс і наполегливо вчитись у процесі роботи. Наприклад, трапляється, що Manual QA залучають до аналізу тест-репортів або фіксу якогось, а згодом це можуть бути автотести. Ніхто відразу за додаткові обовʼязки більше коштів не запропонує, але це окупиться з часом, коли ви перейдете в Automation.
«Перехід в автоматизацію — гарна ідея, якщо Manual QA бачить себе в майбутньому як розробника»
Дмитро Мірошник, QA Automation Lead
Коли 2006 року я починав кар’єру QA, поняття «автоматизація тестування» в Україні ще не існувало. Про можливість щось автоматизувати в QA вперше я дізнався приблизно у
Для мене автоматизація почалася з того, що ми з колегою не хотіли працювати з макросами в Excel, які запускали curl. Цей сетап проєкту виглядав досить страшно. Тому я погуглив і дізнався про такі інструменти, як SoapUI та Postman, — вирішив використати перший.
Автоматизувати з кодом пробували вже у 2013 році. На нашу команду кинули Front-end, який ми не розробляли, і його потрібно було протестувати. На той момент я не мав досвіду автоматизованого тестування UI, тому довелося знову гуглити. Зрештою використав для цього Selenium 2.0. Це була моя перша спроба побудувати фреймворк та автотести.
😎 Плюси переходу в автоматизоване тестування
Для мене вивчення автоматизації — шлях професійного розвитку. Це була цікавіша робота, а також вища зарплата. Те, що в цьому напрямі постійно потрібно вчитись і розвиватись, для мене однозначно плюс. Manual старіє значно повільніше.
«Методології мануального тестування мало змінюються з роками»
(Еquivalence partitioning + boundary value analysis як використовували на початку моєї кар’єри, так використовують і зараз). І в гру вступає domain knowledge, тобто з двох Senior Manual QA більші шанси отримати роботу в того, хто має досвід роботи на схожому проєкті. Domain knowledge теж застарівають повільно: якщо, наприклад, людина працює на банківському проєкті, то там можуть використовувати ті самі фінансові інструменти, що і в
З інших плюсів — більша креативність і менша кількість завдань, що повторюються. Проходити той самий тест багато разів — страшенно нудно :)
Перехід в автоматизацію — гарна ідея, якщо Manual QA бачить себе в майбутньому як девелопера. Це може бути проміжним кроком між тестуванням і розробкою.
😬 Труднощі на шляху до автоматизації
Щоб опанувати автоматизацію, потрібно багато й постійно вчитися. І якщо в людини немає для цього мотивації, то це не її шлях.
Складно може бути й без схильності до аналітичного мислення. Якщо спеціаліст не здатен створити причинно-наслідковий ланцюжок і перетворити його на код, то опанувати мову програмування йому буде досить важко. І продовжувати вивчати мову без зацікавленості в процесі — дорога до вигоряння.
За свою кар’єру я час від часу «витягував» людей в автоматизацію і помітив, що найскладнішими для них є базові алгоритми, бо вони потребують трансформації мислення. Мені пощастило, що я вивчав програмування в університеті й мав необхідні технічні знання до переходу в автоматизацію. Але багатьом моїм знайомим це переналаштування давалося важко. Проте коли пройдеш найскладнішу початкову точку, далі стає простіше працювати.
Якщо ж у мануальника немає бажання розвивати навички кодингу, він завжди може піти шляхом аналітики чи менеджменту задля кар’єрного зростання. Або ж є нагода вирости в Product Owner чи Scrum Master.
🧐 З чого почати перехід
Для опанування автоматизації потрібно вчити базові алгоритми, основи ООП, специфіку вибраного фреймворку, його проблеми та несумісності. І також, звісно, теорію автоматизованого програмування.
Найменш стресовий спосіб перейти в автоматизацію — коли на проєкті є команда Manual QA та Automation QA, і спеціаліст-мануальник поступово входить в автоматизацію. При цьому варто дізнатися про специфіку наявного фреймворку, над чим працюють автоматизатори та що варто покращити.
Паралельно з такими спостереженнями можна вчити мову програмування, пробувати запускати тести, дивитися репорти, а потім і писати власні тести. У такий спосіб вийде поступово перейти в автоматизацію.
«Неможливо автоматизувати все, однак автоматизація є невіддільною частиною тестувальника майбутнього»
Олесь Пашинський, General QA Engineer
Свого часу після трьох років роботи на позиції Manual QA у мене з’явилася нагода спробувати себе в Automation. Тоді від замовника проєкту надійшов запит на розвиток автоматизації, і я проявив ініціативу працювати в цьому напрямі.
Мені дали можливість плавного переходу та навчатися паралельно з роботою. Проте я вирішив не переходити повністю в Automation QA, а поєднувати обидва напрями тестування. Так я став General. Завдяки цьому я можу працювати не лише з кодом і автоматизованими тестами, але й ширше реалізувати свою експертизу в тестуванні продукту загалом. Для мене позиція General QA — це золота середина, адже неможливо автоматизувати все. Однак я все ж схиляюся до думки, що автоматизація є невіддільною частиною тестувальника майбутнього.
😎 Плюси переходу в автоматизоване тестування
Ще 2020 року, на початку кар’єри тестувальника, я розумів, що навички автоматизації вище цінують на ринку. І фахівець, який їх має, більш конкурентоздатний та може розраховувати на кращу зарплату. Якщо говорити про різницю винагороди між Manual і General QA, то це приблизно $200–300. Automation QA може мати зарплату на $500, а іноді й на $1000 більшу, ніж Manual. Тож очевидно, що вміння автоматизувати дає певні перспективи та можливість шукати свої ніші для професійного зростання.
З погляду технічної частини автоматизація вирішує низку викликів, що стоять перед тестуванням і з котрими мануально вже не впоратись. Для замовників зараз цінно мати в команді людину, у якої є експертиза в автоматизації та знання, як використати свої навички на користь проєкту. А при цьому ще й створити додану вартість продукту й зекономити кошти клієнта на розробку якісного сервісу.
😬 Труднощі на шляху до автоматизації
Серед труднощів переходу — необхідність опанувати великий обсяг нових знань довкола мови програмування, тестового фреймворку, інших суміжних технологій, що необхідні для реалізації тих чи інших завдань. При цьому важливо, щоб те, що ви вивчаєте, було актуальним на ринку.
Автоматизація може складно даватися людям, яким не подобається вивчати мови програмування і працювати з кодом. Наприклад, я здобув спеціальність «Прикладна математика» і мало часу присвячував програмуванню у виші.
«Я не фанат коду, і бути General QA — ідеальний варіант для мене»
Насправді опанувати автоматизоване тестування може будь-хто. Найважливіше — визначити нішу, яка вам подобається, і розвиватися в ній.
Я не думаю, що нині складніше перейти в автоматизацію. Імовірно, навіть легше: з часом з’явилося більше можливостей, курсів, ініціатив, зокрема й безплатних, звідки можна черпати інформацію. Але щоб якомога швидше почати працювати в цьому напрямі, важливо бути вмотивованим і наполегливим. Це допоможе впоратися з конкуренцією.
🧐 З чого почати перехід
Перш ніж почати навчання, важливо дослідити ринок та поцікавитися, яких саме фахівців шукають. Щоб бути конкурентоздатним, треба визначити мови програмування з найбільшим попитом. Зараз це JavaScript, Java, Python, TypeScript тощо. Якщо вибирати для навчання популярні інструменти, то вдасться швидше знайти робочий проєкт.
Також я раджу стежити за спільнотою тестувальників, спілкуватися з більш досвідченими QA: як вони оцінюють ті чи інші інструменти для тестування, фреймворки.
Хорошим первинним джерелом якісної інформації в процесі самонавчання може стати документація до обраного вами тестового фреймворку (наприклад, Cypress чи Playwright). Що поширеніший фреймворк, то краще ця документація буде прописана. Таким чином вона може стати вашим довідником, де вдасться знайти відповіді на ключові для себе теми. А ознайомитися з базовими поняттями вибраної мови програмування або баз даних можна на ресурсах штибу W3School.
«Якщо вам комфортно працювати та розвиватись у напрямі QA без створення автотестів, це також добре»
Віктор Кувайсков, Automation QA Engineer у Geniusee
Як Quality Assurance Engineer я працюю вже понад чотири роки. Перейшов у цю сферу з позиції Project Manager: зазвичай люди прагнуть рухатись у зворотному напрямку, та я хотів брати участь у розробці з більш технічного боку.
Повністю перебрати процеси автоматизації вдалось не так давно: на поточному проєкті разом з командою запустили та розпочали працювати над автоматизацією та оптимізацією мануальної частини.
Автоматизація має бути корисною не тільки для AQA, який працює з автотестами, а й для проєкту. Її швидкий відгук про стан системи, оптимізація часу регресійного тестування тощо. Залучення таких спеціалістів має бути обґрунтованим для замовника, і команді потрібно це донести.
😬 Труднощі на шляху до автоматизації
Звісно, перехід з ручного тестування до написання тестових скриптів не кожному буде до душі. Тому якщо вам комфортно працювати та розвиватись у напрямі QA без створення автотестів, то це також добре. Оскільки далеко не на всіх проєктах всю функціональність покривають автотестами, а розвиватись у напрямі Quality Assurance можна й без автоматизації.
Важливо мати мотивацію для навчання. Перед тим як почати опановувати автоматизацію, потрібно зрозуміти, яку користь це вам принесе. Перші кроки будуть складними, і без чітких цілей є ризик швидко закинути навчання.
Наприклад, за вивчення JavaScript я брався чотири рази. Часто пригнічували думки, що нічого не вдасться або що це не моє. Та вже після опанування основ мене мотивувало розуміння, як ці знання зроблять мою роботу ефективнішою. А з першими успішними результатами навчатися стало цікавіше.
На мій погляд, зараз конкуренція серед QA-спеціалістів жорсткішає. Перекваліфікуватися в автоматизацію може бути складніше, ніж колись. Це пов’язано з тим, що ринок вимагає глибоких технічних знань, зокрема в програмуванні (Python, Java, JavaScript тощо), розумінні фреймворків для автоматизації (Selenium, Cypress, Playwright) та CI/CD (Jenkins, GitLab CI).
Спеціалістам, які мають досвід роботи в IT або добре володіють програмуванням, легше адаптуватися до нових умов. Початківцям важливо зосередитися на вивченні основ програмування та розумінні автоматизації на глибшому рівні.
🧐 З чого почати перехід
Перший крок — це, звісно, ознайомлення з основами програмування та вибір мови (логічно спробувати ту, яку використовують у вас на проєкті). Добре заручитися підтримкою колег, щоб було з ким порадитися під час навчання.
Наступний крок — вибір інструмента для автоматизації. Новачкам для швидкого старту раджу Playwright.
Під час упровадження автоматизації на проєкті потрібно спиратися на стратегію. Насамперед варто поставити собі кілька запитань: «Яка кінцева мета автоматизації?», «Які типи автотестів плануєте створити?», «Коли їх запустите?», «Як будуть використані результати автотестів?».
На мій погляд, якщо спеціаліст має вдосталь часу для навчання, то за три-шість місяців він може розібратися з базою мови програмування і почати писати свої перші автотести. Нехай вони будуть недосконалі, але людина вже розумітиме суть та покращуватиме вміння завдяки практиці.
І хоч зараз перекваліфікація для мануальних тестувальників видається складнішим завданням, ніж декілька років тому, та все ж це цілком реально. Головне — бути готовими до постійного навчання.
6 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.