Кар'єра в 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 основні ролі:
- Test Analyst - займається статичним тестуванням вимог : перевіряє , наскільки вони повні , однозначні , несуперечливі etc ;
- Test Designer - створює набір тестів на базі вимог , планує конфігурації , необхідні для тестування;
- Test Executor - виконує заздалегідь підготовлені тести , документує знайдені помилки і кроки їх відтворення ;
- Test Manager - швидше управлінець , ніж інженер. Планує і контролює роботи, пов'язані з тестуванням : оцінки термінів , роботу над планом -графіком , контроль покриття вимог тестами , постановку завдань членам команди , комунікацію зі стейкхолдерами ) .
В Україні відмінності між посадами QA і тестувальника змащені, і на практиці це одне і те ж. Хоча теоретично тестувальник тестує продукт як результат , а QA працює над забезпеченням процесів , які можуть підвищити якість ПЗ в цілому.
«Якби ми говорили про медицину, то QA займалися б профілактикою , а тестувальники - діагностикою. Але так склалося , що ці дві різні професії стали синонімами. Навіть у тест -планах для іноземних замовників тестувальників записують як QA Engineers ».У коло обов'язків QA- інженера входить:
- Аналіз і уточнення вимог із замовником або бізнес - аналітиками ;
- Планування процесу тестування;
- Написання тест- кейсів ( сценаріїв тестування ) ;
- тестування функціоналу ;
- Ідентифікація проблемних місць , внесення їх в трекінговую систему;
- Обговорення фіксів з розробниками ;
- Відстеження життєвого циклу помилок;
- Ре -тест підпорядкованих дефектів;
- Аналіз тестування;
- Оптимізація процесу тестування ;
- Аналіз процесів роботи в команді ;
- Поліпшення процесів ;
- Ведення тестової документації .
Типовий робочий день QA- фахівця включає в себе:
- Написання тест- кейсів , тестування, документування помилок (залежно від фази проекту);
- Перевірка баг - трекингової системи на предмет появи виправлених помилок;
- Стенд -ап мітинги ;
- Вивчення вимог , їх уточнення у замовника ;
- Активне спілкування з розробниками ;
- Оформлення тестової документації .
Переваги і недоліки
Привертає QA- інженерів можливість покращувати якість продукту і при цьому освоювати різні технології і вникати в деталі продукту .
«Подобається можливість реалізувати свій перфекціонізм без шкоди для соціального життя ».Деякі опитані відзначають , що інтерес до роботи посилюється з часом: спочатку не зрозуміло , що робиться і для чого , а потім приходить розуміння і бажання брати на себе складні завдання.
«Ця професія вимагає наявності та постійного застосування аналітичних здібностей . Вона не дає розслабитися і розумово деградувати , а змушує постійно вивчати нові технології та галузі знань ».Не останнє місце займає і можливість долучитися до світу високих технологій та великих зарплат. Деякі інженери з якості прийшли до своєї професії , бо хотіли в IT , а поріг входу на QA нижче , ніж на програміста. Деякі вважає роботу QA більш цікавою і різноманітною , ніж роботу розробника.
«Пішов в QA, бо цікавлюся IT , але не хочу бути програмістом. Мені більше подобається розбиратися в чому те, шукати помилки , особливо в логіці , які BA і діви могли пропустити ». « Тестувальник повинен бути розумнішим програміста ... Ну , принаймні , хитріший ! ». « Мислення програмістів і тестувальників " заточене " по- різному. Програміст шукає короткий шлях рішення, досягає мети - і після цього прагне вже до нових завдань . А тестувальник докладно вивіряє невраховані моменти , перевіряє різні комбінації ".Головний мінус - монотонна складова роботи , особливо на початку кар'єри. Сюди відносять проходження тест- кейсів при ручному тестуванні і роботу з документацією.
« Недоліками , швидше за все , можна назвати велику частину рутинної роботи , яку потрібно робити обов'язково ».Як стати QA- фахівцем і куди йти далі?
Інженерів за якістю не навчають в університетах (виняток : на кількох факультетах КПІ читають присвячений тестуванню піврічний курс). Майбутні QA здобувають знання на курсах або ж самостійно .
«Якщо програмісти з шкільного віку або початкових курсів інституту цікавляться якийсь галуззю технологій і починають розвиватися в цьому напрямку ( писати перші боти для ігор , зломщики акаунтів , сайти ) , то про тестування я ніколи такого не чув. У стилі - " Ось я з 11 -го класу тестую програми та отримую від цього кайф " . Достатньо мати аналітичні здібності , трохи уважності і кмітливості . Ну , і, звичайно , розбиратися в комп'ютерних технологіях , і прочитати хоча б пару книг з тестування ».Щоб стати QA , потрібно розуміти цикл розробки ПЗ , вивчити теорію і основні інструменти тестування , мати хороший рівень англійської .
« Переважна більшість вакансій вимагають знання English . Часто великі компанії беруть джуніор зі знанням англійської , відмовляючи кандидатам з великим досвідом , але без знання мови ».Базові знання теорії тестування - це вміння відповісти на питання:
- що таке тестування і для чого воно потрібне ;
- які бувають види тестування ;
- що таке баг , і який його життєвий цикл;
- яка документація використовується при тестуванні.
QA відповідальний за поліпшення якості процесу розробки , а тому повинен володіти деякими навичками та інших членів команди:
- Від девелопера - розуміння технічних обмежень для реалізації того чи іншого функціоналу і хоча б поверхове розуміння коду;
- Від бізнес- аналітика - розуміння ринку і цільової аудиторії;
- Від PM'а - розуміння цілісності всіх частин проекту .
Також необхідно вміння дивитися на продукт з точки зору кінцевого користувача.
«Професія 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