Site icon SEO Ukraine

Обов’язки QA Engineer та які навички потрібні для цієї посади

QA Engineer

DOU відновила рубрику «Кар’єра в IT», у якій розповідала про специфіку окремих IT-професій. Цього разу мова йде про QA Engineer — які обов’язки цих фахівців, скільки вони заробляють та як виглядає їх типовий робочий день.

За даними DOU, середньостатистичний український QA Engineer – це 30-річна людина, яка найчастіше мешкає у Києві чи у Львові. Найбільше нараховується фахівців рівня Middle, стаж роботи яких становить від 3 до 5 років. Медіана зарплата працівників – $2000. Частка чоловіків, посідаючи цю позицію – 62%, жінок – 38%.

Команда DOU поспілкувалась з фахівцями та дізналась, якими вміннями та навичками має володіти QA Engineer, що треба знати про мітинги, яки є переваги, недоліки та можливості розвитку у цій професії. Усі цитати взяті з їхніх розповідей.

Хто такі QA?

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

«Іноді QA повинен бути „нянькою“ для всієї команди та правою рукою проджекта. Ви обовʼязково маєте знати кожного члена команди як у професійному плані, так і особистому, налаштовувати з усіма звʼязок. А ще пріоритезувати завдання, розуміти вплив на бізнес того чи іншого дефекту. Обовʼязок QA — думати як бізнес, жити бізнесом під час роботи, думати про оптимізацію, покращення. QA витрачає час зараз, щоб зекономити його в майбутньому».

Портрет українського QA-спеціаліста (дані з літнього опитування DOU 2023 року):

Існують різні спеціалізації: QA, QC і тестувальник. QA — Quality Assurance – фахівець, який забезпечує якість. QC — Quality Control – забезпечує контроль. QС-спеціалісти відповідають за аналіз результатів тестування, виявлення та усунення дефектів. Завдання тестувальника – протестувати готовий продукт за тест-кейсом. Часто в компаніях ці позиції не відокремлюють одна від одної, а називають фахівця або QA, або тестувальник..

«Зараз часто компанії об’єднують всі ці обов’язки в одному фахівці — QA. Проте на співбесідах можуть запитувати, у чому різниця між QA, QC і тестувальником».

Основні завдання та обов’язки QA

Різниця між Manual, Automation та General

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

Вміння, якими повинен володіти Manual QA:

З чого складається типовий робочий день мануальника?

До завдань Automation QA Engineer входить: створення, тестування та впровадження автоматизованих рішень для перевірення якості програм. Фахівець повинен перевірити, чи відповідає ПЗ вимогам якості, не містить помилок і працює так, як очікувалось. Automation QA пишуть код для автоматизованих скриптів тестування, що моделюють взаємодію користувачів і перевіряють різні функції програм.

Automation QA повинен:

З чого складається типовий робочий день автоматизатора?

General QA – цей фахівець розуміється і на мануальному, і на автоматизованому тестуванні.

General QA повинен володіти наступними вміннями:

Зарплати QA

Так змінювались медіанні зарплати тестувальників протягом 2011–2023 років:

Рівень зарплат за спеціалізацією (дані з літнього опитування DOU 2023 року):

Актуальні статистики зарплат можна переглядати у зарплатному віджеті DOU.

Додаткові знання та навички, якими повинен володіти QA

Blockchain

Додаткова складність у тому, що треба емулювати роботу блокчейнів і багатьох вузлів локально, проводити низькорівневі мережеві тести тощо.

Embedded

GameDev

Рядовий QA-інженер у GameDev принаймні базово повинен розуміти сертифікаційні вимоги до ігор на різних платформах, а також вимоги щодо продуктивності та використання пам’яті. З більш детальною інформацією можна ознайомитись  у матеріалі DOU «Хто такий QA в ігровій індустрії».

Важливі soft skills

Допитливість і цікавість. Успішний QA повинен виявляти інтерес до всього, що відбувається навколо його роботи. Високопрофесійним є той тестувальник, який постійно ставить питання і намагається зрозуміти, як функціонує продукт, особливо з точки зору користувача.

Наполегливість. Фахівець QA не повинен чекати, коли йому пояснять невідоме завдання, а також не повинен сам бути перешкодою під час розробки. Йому слід самостійно здобувати нові знання і пояснювати іншим, як це все працює.

Прагнення експериментувати: Інколи варто розглядати завдання з нестандартного ракурсу, питаючи себе: “Як би я міг це зламати?”. Нестандартний підхід до вирішення завдань корисний у цій професії.

Ефективна комунікація: Важливо не тільки своєчасно попереджувати розробників про необхідність внести коригування, а і вміти переконувати та відстоювати свою точку зору. 

Знання англійської мови: Це може не зовсім відноситися до soft skills, але всі опитані фахівці QA визнали його важливість.

«Побутує стереотип, що розробники й QA — вороги, і вони заважають одне одному жити. У сильній команді це не так. Там тестувальник — це перший друг розробника, який допомагає знайти факап до того, як замовник втратить через це гроші».

Що повинен знати новачок QA про мітинги?

Backlog Refinement (або Grooming). На цьому етапі всі учасники розробки оцінюють завдання в Story Points. Ця оцінка визначає складність виконання завдання, враховуючи всі активності, необхідні для його завершення. QA також бере участь у цій оцінці, але на перших мітингах йому може бути важко визначити оцінку через відсутність досвіду та відсутність знань щодо того, за якою шкалою працює його команда.

«На першому мітингу ви можете замість своєї оцінки поставити знак питання. Або вибрати число на основі того, що поставили інші учасники команди. Але під час обговорення зазначити, що ця оцінка базується на ваших спостереженнях і знаннях, але ви ще не маєте достатньо досвіду».

Planning. На цьому етапі команда обирає завдання для наступного спринту зі списку, що був обговорений на Backlog Refinement. На мітингу список завдань приоретизується та розподіляється між учасниками. QA повинен урахувати свою зайнятість та переконатися, що він встигне виконати заплановану роботу. Слід зазначити, що завдання вважається виконаним тільки після розробки, ручного тестування та написання автотестів.

«Оскільки в команді зазвичай більше розробників, вони часом забувають про QA і те, що завдання ще потрібно тестувати. Тож можуть набрати завдань відповідно до власного capacity. Тому QA важливо на плануванні простежити, що додають у спринт і чи встигнуть вони все протестувати».

Ретроспектива. Це зустріч, яка відбувається після завершення спринту, де команда обговорює досягнення, проблеми та визначає шляхи покращення. QA також повинен долучитися, вказавши труднощі у своїй роботі та можливі поліпшення.

Переваги та недоліки роботи QA

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

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

Плюс для Manual QA полягає в менш високому порогу входу в професію. Мануальний тестувальник може швидше здобути необхідні вміння та знання, щоб отримати роботу.

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

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

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

«Результат роботи розробника видно відразу. Роботу тестувальника видно, коли вона виконана погано та є критичні баги на продакшені. Іншими словами, розробник може сказати „дивись, я зробив цей продукт“. QA так сказати не може, адже він продукт не робив, а тільки тестував».

Що має знати Junior QA

Web:

Браузер:

Тестування API:

Інструменти:

Робота з базами даних:

Інструменти:

Трекери:

DNS (Domain Name System) — базове розуміння:

Як отримати професію в галузі QA?

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

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

Де новачку в сфері QA можна здобути знання?

YouTube-канали:

Безплатні курси:

Платформи

Для ознайомлення з основною термінологією та принципами тестування: Guru99. Software Testing Tutorial

Для практикування навичок написання коду: LeetCode

Матеріали, які підготував DOU про професію QA

Професійний ріст у професії QA

Від стартової позиції Junior до середньої Middle можна перейти за два-три роки, і аналогічно — до вищої позиції Senior. Проте це всього лише приблизний період; все залежить від активного вдосконалення навичок та наполегливості фахівця.

«Важливо розуміти, що Senior — це не про кількість технічних знань і вмінь, а про відповідальність. А вона приходить з досвідом. Senior — це фахівець, який сам враховує всі ризики, відповідає за свої факапи й може їх заменеджити, звести до мінімуму».

Однак існують ширші можливості для росту та перспективи змінити професійний напрямок

«Усе залежить від того, що більше сподобається. Якщо хочеться розвивати комунікативні навички, то далі можна рухатися в бік менеджменту. Якщо ж технічні — то SDET, AQA, Security/Performance, Development тощо. Якщо це комбінація навичок, може бути напрям Head/Lead»..

Джерело: DOU

Слідкуйте за нами Telegram

5 1 vote
Рейтинг статті
Exit mobile version