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

via Shutterstock .

Представляємо п'яту статтю серії «Кар'єра в IT ». У даному випуску ми розповімо про QA- інженерах . Професія цих фахівців молода і все ще перебуває на стадії формування (особливо в Україні ) . Попередні матеріали циклу були присвячені посадам Team Lead , software Architect, Project Managerі CTO .

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

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

Завдання та обов'язки

Основне завдання QA - забезпечення якості . QA- інженер фокусує увагу на процесах розробки ПЗ , покращує їх , запобігає появі дефектів і проблем ( Makes sure you are doing the right things , the right way ) .

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

Усередині процесу QA виділяють процес Quality Control - контроль якості продукту. QC- фахівці аналізують результати тестування і відповідають за виявлення і знищення дефектів у продукті ( Makes sure the results of what you have done is what you expected ) .

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

Є 4 основні ролі:

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

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

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

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

«Хороший інженер з якості розуміє логіку продукту і досконально знає проект: вимоги , поточний стан справ . Можливо , йому доведеться відповідати на уточнюючі питання девелоперів , які знають тільки свій шматок завдання і суміжні області ».

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

«Ранок - ревізія ТАСК , що за ніч впало або зібралося . День - підготовка і запуск компіляцій , аналіз результатів автоматичних тестів , оформлення тікетів і т.п. Вечір - перезапуск компіляцій і оновлення статусів ТАСК в баг - трекері ».

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

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

«Подобається можливість реалізувати свій перфекціонізм без шкоди для соціального життя ».

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

«Ця професія вимагає наявності та постійного застосування аналітичних здібностей . Вона не дає розслабитися і розумово деградувати , а змушує постійно вивчати нові технології та галузі знань ».

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

«Пішов в QA, бо цікавлюся IT , але не хочу бути програмістом. Мені більше подобається розбиратися в чому те, шукати помилки , особливо в логіці , які BA і діви могли пропустити ». « Тестувальник повинен бути розумнішим програміста ... Ну , принаймні , хитріший ! ». « Мислення програмістів і тестувальників " заточене " по- різному. Програміст шукає короткий шлях рішення, досягає мети - і після цього прагне вже до нових завдань . А тестувальник докладно вивіряє невраховані моменти , перевіряє різні комбінації ".

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

« Недоліками , швидше за все , можна назвати велику частину рутинної роботи , яку потрібно робити обов'язково ».

Як стати QA- фахівцем і куди йти далі?

Інженерів за якістю не навчають в університетах (виняток : на кількох факультетах КПІ читають присвячений тестуванню піврічний курс). Майбутні QA здобувають знання на курсах або ж самостійно .

«Якщо програмісти з шкільного віку або початкових курсів інституту цікавляться якийсь галуззю технологій і починають розвиватися в цьому напрямку ( писати перші боти для ігор , зломщики акаунтів , сайти ) , то про тестування я ніколи такого не чув. У стилі - " Ось я з 11 -го класу тестую програми та отримую від цього кайф " . Достатньо мати аналітичні здібності , трохи уважності і кмітливості . Ну , і, звичайно , розбиратися в комп'ютерних технологіях , і прочитати хоча б пару книг з тестування ».

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

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

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

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

QA відповідальний за поліпшення якості процесу розробки , а тому повинен володіти деякими навичками та інших членів команди:

Також необхідно вміння дивитися на продукт з точки зору кінцевого користувача.

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

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

«З навичок - успішність : якщо спотикаєтеся на рівному місці , то вам в тестувальники ».

Серед перспектив професійного розвитку можна виділити 3 напрямки:

1 . Вивчати нові області і рости як QA : junior QA ->middle QA ->senior QA ->QA team lead ->QA- manager ->Head of QA department .
2 . Освоїти автоматизоване тестування і рухатися вже по цій гілці ( вимагає більш глибоких технічних знань ) .
3 . Перекваліфікуватися в бізнес- аналітики або програмісти.

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

« А був випадок , коли дівчина -QA пішла працювати в театр актрисою ».

P.S. Дякуємо за допомогу в написанні статті 46 українським QA- і Test - інжеренам , які поділилися з DOU таїнствами своєї професії. Наведені в статті цитати взяті з їхніх розповідей .

Опубліковано: 10/03/14 @ 08:47
Розділ Різне

Рекомендуємо:

27 березня, Київ - Роман Хміль. Цифрова революція або як зробити ІТ індустрію в Україні локомотивом нової економіки
СЕО Ciklum написав відкритого листа міністру економіки Павлу Шереметі
11 березня, Київ - AI- Club в Grammarly : «Сучасні алгоритми автоматичного розпізнавання усного мовлення »
Дайджест: інтерв'ю із засновником WhatsApp , архітектура CSS, чим хороша 60 -годинний робочий тиждень
Дайджест цікавих вакансій № 126