Професія QA спеціаліста оповита міфами. І ви точно чули щонайменше один із них що це найкоротший та найлегший спосіб увійти в ІТ. Чому це не зовсім так і де вчитися на тестувальника розказує Андрій Сотніков, Automation QA Engineer в Luxoft, куратор курсу QA Beginning у Projector Institute.

QA і QC: у чому різниця

Спочатку розберімося з термінами. QA це скорочення від Quality Assurance, тобто забезпечення якості. У межах Quality Assurance виділяють етап Quality Control (QC), тобто контроль якості. Мета QA – запобігти появі помилок, тоді як QC має на меті ці помилки виявити. Так розділяють у теорії, тоді як на практиці ці процеси часто узагальнено називають тестуванням чи QA або ж пропонують однаковий перелік задач і для QA, і для QC. 

QA Engineer, тестувальник, QA інженер це фахівець, що відповідальний за перевірку якості програмного забезпечення. Ідеться не лише про софт чи спеціальні програми, а загалом про будь-який продукт в ІТ. 

QA інженера можна порівняти з дегустатором. Він «смакує» продукт до його релізу й аналізує його з погляду користувача. 

Якщо результат роботи, наприклад, фронтенд розробника, ми бачимо, то робота тестувальника непомітна для користувача. Адже якщо ми користуємося вебсайтом чи застосунком і не стикаємося з проблемами чи незручностями, то тестувальник добре попрацював. І навпаки – якщо знаходимо баги замість нього, то, імовірно, на певному етапі щось пішло не так. 

Розрізняють Manual QA та Automation QA. Що таке Manual QA? QA Manual це ручне тестування ПЗ, тобто коли тестувальники перевіряють ПЗ вручну. Automation QA передбачає роботу над тестами на основі скриптів для автоматизації тестування. Тих, хто і тестує продукт, і може писати автоматичні скрипти, називають General QA.  Також часто виокремлюють Performance QA та Security QA. 

Основні обов’язки QA engineer

Quality Assurance це формулювання, на перший погляд, абстрактне, але насправді має дуже конкретні критерії. Вони й визначають функціональні обов’язки тестувальника. 

Глобальна задача QA інженера надати інформацію про якість продукту; визначити, чи відповідає готовий продукт вимогам замовника. А ще визначити дефекти невідповідності згаданим вимогам. Тестувальник в ІТ розробляє та виконує тести, щоб виявити дефекти ПЗ та переконатися, що воно відповідає вимогам та виконує свої задачі. Важливе уточнення: це потрібно зробити до того, як продукт буде доступний для користувачів.

Що таке тестування програми? Це таке дослідження ПЗ, що має на меті знайти факти, які свідчать про якість тестованого продукту чи послуги.   

Коли ми говоримо про помилки, то розуміємо не лише суто технічні баги, що виникають на етапі розробки. Поняття насправді глибше, бо помилкою є й те, що продукт не містить певної функції, або те, що в результаті своїх дій користувач отримує не те, на що очікує тощо. У деяких ІТ компаніях розрізняють такі типи, як-от баг, дефект, помилка, збій і несправність.   

Узагальнимо основні обов’язки тестувальника:

  • аналізувати вимоги до продукту; 
  • планувати й виконувати ручні та/або автоматизовані тести;
  • виявляти й описувати помилки ПЗ, тобто створювати баг репорти; інформувати замовників про метрики щодо дефектів і передавати  дефекти розробникам для виправлення;
  • співпрацювати із замовниками над усуненням дефектів ПЗ;
  • постійно контролювати якість продукту.

Тестувальник QA контролює кожен етап роботи над ПЗ проєктування, розробку, тестування тощо. Він стежить за дотриманням стандартів якості ПЗ на цих етапах і гарантує, що кінцевий продукт відповідає вимогам. 

Роль і перелік обов’язків QA інженера можуть відрізнятися залежно від галузі та проєкту, над яким він працює. 

Які знання потрібні для Junior QA: hard skills/soft skills 

Узагальнимо, що потрібно знати тестувальнику, щоб претендувати на посаду Junior QA. 

Основні hard skills:

  • глибокі знання методів та інструментів з тестування; 
  • знання процесів контролю якості ПЗ (STLC software testing life cycle), клієнт-серверної архітектури та API;
  • уміння працювати з інструментами відстеження помилок;
  • розуміння життєвого циклу розробки ПЗ;
  • хороше знання SQL і вміння створювати скрипти;
  • володіння хоча б однією мовою програмування бажано, але необов’язково.

Також важливо знати англійську мову на рівні B1 чи вище та постійно вдосконалювати свої знання. Адже часто стейкхолдерами чи замовниками в ІТ компаніях є іноземці, тож вся комунікація відбувається англійською. 

Як бачите, набір компетенцій немалий. Тож говорити про те, що опанувати все це можна легко та швидко, може лише людина, що навіть не починала цього робити.  

Основні soft skills:

  • хороші навички спілкування та взаємодії;
  • зосередженість, скрупульозність;
  • уміння працювати в команді;
  • адаптивність і бажання вчитися.

Такий набір soft skills обумовлений тим, що QA specialist працює в команді разом з іншими фахівцями. Тож йому важливо вміти ефективно взаємодіяти в її межах та доносити результат своєї роботи до стейкхолдерів. 

Це базовий перелік хард і софт скілів. Щоб сформувати свій список, за яким відтак рухатися під час навчання, проаналізуйте описи вакансій QA інженерів.   

З чого почати кар’єру тестувальнику 

Далі поговоримо про те, як стати тестувальником ПЗ. Починати варто з навчання. І не важливо, чи у вас немає досвіду роботи в ІТ чи ви вже працюєте в ІТ, але хочете змінити фах. У будь-якому разі потрібно здобути саме ті компетенції, які must have для QA тестування.

Скільки і як вчитися на тестувальника? Щоб відповісти на це запитання, варто зважати на умови скільки часу та які можливості маєте. 

Тестувальник з нуля може почати з безплатних курсів на платформах на кшталт Coursera, Udemy або YouTube. Там є змога засвоїти базові теоретичні знання. Те саме стосується і професійної літератури.  

Без бази нікуди, але тільки її замало. Важлива практика. Варіантів її здобути теж є кілька. Перший спробувати знайти можливість повчитись чи постажуватись у компанії. Часом компанії шукають фахівців без досвіду, але з базовими технічними знаннями, щоб навчати їх для себе. Це так звані посади Trainee QA Engineer. Їх небагато, але спробувати пошукати варто. 

Другий піти на курси тестувальника, наприклад, практичний курс QA Engineer. Так ви вбиваєте одразу двох зайців. По-перше, опануєте саме ту базу, яка потрібна для роботи. Як куратор я розповідаю студентам лише про актуальні технології та методики, які потрібні QA, а не описую всі можливі, як у випадку із загальними теоретичними курсами. По-друге, на курсі студенти закріплюють теорію на практиці під наглядом куратора. Я даю фідбек і пропоную ті завдання, які звичні в щоденній роботі тестувальника. А ще вони роблять проєкт для реального замовника, який відтак зможуть представити на майбутній співбесіді. 

Якщо виконують домашні завдання й захищають проєкт отримують сертифікат про навчання, що дуже важливо для початківця. 

Яка ситуація в галузі 

З основними обов’язками та варіантами навчання розібралися. А яка зарплата в тестувальника? Це запитання турбує кожного початківця, який прагне опанувати професію ІТ тестувальник. Маю свіжі результати зарплатного дослідження від DOU

Станом на червень 2023 року середня зарплата тестувальника сягала $2000. Звісно, стартувати доведеться з менших сум $750 для Junior Manual QA або з $1050 в Automation QA. Але з досвідом та новими компетенціями ця цифра зростатиме. 

На суму впливають такі аспекти, як-от:

  • мова програмування найвищі зарплати у фахівців, що знають TypeScript, далі Java і C#/.NET, а вже потім Python і JavaScript; 
  • тип компанії найбільше платять аутстафінгові компанії, далі в порядку спадання продуктові, аутсорс і стартапи;
  • знання англійської рівень Upper Intermediate істотно виграє в порівнянні з Intermediate. 

Також є цікава статистика від Djinni щодо найму кандидатів без досвіду роботи чи з досвідом менше ніж рік. Так, за період з початку 2023 року до серпня QA на другому місці з часткою 11,29% від усіх наймів. Тобто компанії готові брати на роботу тестувальників без досвіду. 

Отже, розповів основне про професію, що нині дуже популярна серед світчерів, QA Engineer. Далі діло за вами. Робіть наступний крок ідіть навчатися. ІТ любить сміливих і наполегливих.