Кар'єра в IT: посада QA-engineer

Quality Assurance engineer - це фахівець із забезпечення якості, діяльність якого спрямована на поліпшення процесу розробки ПЗ, запобігання дефектів і виявлення помилок в роботі продукту.

За даними ДОУ, середньому українському QA-інженеру 26 років. Він має досвід роботи від півроку (джуніор) до 5 років (сеньйор) і отримує зарплату $ 600-2700.

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

Процес забезпечення якості складається з таких етапів: - перевірка вимог до продукту; - оцінка ризиків; - планування ідей щодо поліпшення якості продукту; - планування тестування; - аналіз результатів тестування;

Всередині процесу QA виділяють процес Quality Control - контроль якості продукту. QC-фахівці аналізують результати тестування і відповідають за виявлення і знищення дефектів в продукті.

Ще більш вузька спеціальність в рамках QA / QC - тестувальник ПЗ, який перевіряє готовий продукт на наявність помилок (багів) і невідповідність вимогам, і потім документує знайдені дефекти ташляхи їх відтворення. Тестування - це один з етапів забезпечення та контролю якості.

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

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

Якби ми говорили про медицину, то QA займалися б профілактикою, а тестувальники - діагностикою. Але так склалося, що ці дві різні професії стали синонімами. Навіть в тест-плани для іноземних замовників тестувальників записують як QA Engineers.

У коло обов'язків QA-інженера входить: - Аналіз і уточнення вимог із замовником або бізнес-аналітиками; - Планування процесу тестування; - Написання тест-кейсів (сценаріїв тестування); - Тестування функціоналу; - Ідентифікація проблемних місць, внесення їх в трекінгову систему; - Обговорення фіксів з розробниками; - Відстеження життєвого циклу помилок; - Ре-тест підпорядкованих дефектів; - Аналіз тестування; - Оптимізація процесу тестування; - Аналіз процесів роботи в команді; - Поліпшення процесів; - Ведення тестової документації.

Типовий робочий день QA-фахівця включає в себе: - Написання тест-кейсів, тестування, документування помилок (в залежності від фази проекту); - Перевірка баг-трекінгової системи на предмет появи виправлених помилок; - Стенд-ап мітинги; - Вивчення вимог, їх уточнення у замовника; - Активне спілкування з розробниками; - Оформлення тестової документації.

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

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

Головний мінус роботи, як відзначаютьQA-інженери- монотонна складова роботи, особливо на початку кар'єри. Сюди відносять проходження тест-кейсів при ручному тестуванні і роботу з документацією.

Як стати QA-фахівцем і куди йти далі? Майбутні QA набувають знання на курсах або ж самостійно. Щоб стати QAпотрібно розуміти цикл розробки ПЗ, вивчити теорію і основні інструменти тестування, мати хороший рівень володіння англійською мовою.

Переважна більшість вакансій вимагають знання English. Часто великі компанії беруть джуніор зі знанням англійської, відмовляючи кандидатам з великим досвідом, але без знання мови.

Базові знання теорії тестування - це вміння відповісти на питання: - що таке тестування і для чого воно потрібне; - які бувають види тестування; - що таке баг і яким є його життєвий цикл; - яка документація використовується при тестуванні.

Бажано також вивчити якусь мову програмування, а також HTML, SQL, CSS etc. Це дозволить якісніше робити свою роботу і швидше рухатися по кар'єрних сходах. QA відповідальний за поліпшення якості процесу розробки, а тому повинен володіти деякими навичками інших членів команди:

Від девелопера - розуміння технічних обмежень для реалізації того чи іншого функціоналу і хоча б поверхневе розуміння коду; Від бізнес-аналітика - розуміння ринку і цільової аудиторії; Від PM'а - розуміння цілісності всіх частин проекту. Також необхідневміння дивитися на продукт з точки зору кінцевого користувача.

Професія QA зобов'язує розуміти всі технічні аспекти і цілі бізнесу, а також вміти правильно спілкуватися з замовниками / менеджерами / девелоперами. Не бійтеся задавати питання, починаючи з "А що, якщо?". Дуже часто це рятує години, а то і дні розробки для всієї команди.

Якщо говорити про особистісні якості, то необхідно: - Мати широкий IT-кругозір і тягу до вивчення нового - Вміти спілкуватися - якість комунікації в команді розробки безпосередньо впливає на якість створюваного ПЗ - Бути уважним до деталей, посидючим, відповідальним і наполегливим - Володіти аналітичними здібностями, вміти моделювати і працювати з абстракціями - Мати критичний або навіть «деструктивний» склад розуму, спрямований на знаходження помилок - Відрізняти муху від слона

Перспективи професійного розвитку

  • Вивчати нові області і рости як QA: junior QA -> middle QA -> senior QA -> QA team lead -> QA-manager -> Head of QA department.

  • Освоїти автоматизоване тестування і рухатися вже по цій гілці (вимагає більш глибоких технічних знань).

  • Перекваліфікуватися в бізнес-аналітикаабо програміста.

  • Отримавши достатню кількість досвіду, можна дорости до менеджера проекту і потім розвиватися як управлінець (senior project manager -> CTO). Також зараз відкрито безліч курсів з навчання QA, так що основну роботу можна поєднувати з викладанням або консультуванням.

Last updated