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

via Shutterstock .

Дана стаття - шоста з серії «Кар'єра в IT ». Тут ми обговоримо професію , що виникла на стику програмування і забезпечення якості - тестувальник - Автоматор . Попередні матеріали циклу були присвячені посадам Team Lead , software Architect, Project Manager, CTO і QA engineer .

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

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

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

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

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

Іншими словами , програмісти - створюють , тестувальники - ламають , а автоматизаторів - створюють , щоб зламати.

« Типовий Automation QA engineer - ледар. Він зробить все для того , щоб не робити одне і те ж кілька разів ».

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

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

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

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

«Ми з колегами регулярно перевіряємо код , написаний один одним. Дуже крута і корисна практика . Купа потенційних проблем відсівається ще до комітів ».

В обов'язки деяких автоматизаторів також входить і ручне тестування .

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

«Я витрачаю приблизно 4 години робочого часу на перегляд навчальних роликів або читання книг. І як на мене, це одна з важливих завдань автоматизатора ».

« У мене є правило: " Авто -тести завжди робочі ! " . Якщо я прийшла на роботу , а тести сфейлілісь , я відразу розбираюся з причиною . Мені здається , що якщо я перестану так робити , і тести тижнями будуть "червоними" , то все перестануть на них дивитися » .

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

Головним достоїнством своєї професії автоматизаторів називають різноманітність виконуваної роботи , яка об'єднує аналітику , тестування , програмування та адміністрування .

«Автоматизація дозволяє фокусуватися на вирішенні важких завдань , аналітиці , переклавши монотонні завдання на плечі комп'ютера. Мінімум рутини - максимум челенджа ! Завжди любив шукати недоліки в системі ».

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

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

«Я по життю жахливий перфекціоніст , тому вибрав тестування . Маю логічний склад розуму, тому пішов у автоматизацію ».

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

Ще одна перевага спеціальності - можливість працювати з різними технологіями та мовами програмування , стимул вивчати нове.

«Моя робота приваблює мене тим , що технології завжди на крок попереду , а ти доганяєш . Дізнаєшся все більше і більше , а "за горизонтом " в n разів більше ».

« Постійно з'являються нові інструменти та підходи в розробці. Вчора писав Автотест на Java , сьогодні автоматізіруешь iOS на JavaScript , завтра робиш навантажувальні тести на С ».

Найбільш згадуваний брак полягає в тому , що на деяких проектах робота зводиться до одноманітного запуску тестів без розробки нових .

« У будь-якій роботі є боротьба з рутиною. Лагодити одні й ті ж тести може набриднути. Кожен бореться з цим , як може. Ми от придумали фреймворк , на якому писати тести весело: даємо своїм роботам імена , генеруємо дані пасажирів за смішними алгоритмам , та інше ».

Багатопрофільність QA Automation інженера теж не завжди до речі :

« автоматизаторів не дають забути про" мануальному " минулому , і іноді навішують різні відволікаючі від коду завдання. Те ж саме з налаштуванням серверів та іншої " адмінській " роботою. Наявність у автоматизатора різноманітних навичок стає для менеджерів приводом неефективно використовувати ресурси ».

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

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

« Автоматор - це розробник - тестувальників , тому його завжди кличуть на всі Dev мітинги і на все QA мітинги. Це займає дуже багато часу ».

Як стати QA- автоматизаторів і куди йти далі?

Щоб стати QA Automation інженером , необхідно освоїти :
- Ручне тестування (у тому числі тестові фреймворки ) - для розуміння , навіщо потрібен той чи інший тест ;
- QA - для розуміння , які тести потрібні для покриття того чи іншого елемента функціональності ;
- Програмування - для безпосереднього написання Автотест .

Обов'язково розуміти і вміти розробляти алгоритми , знати процеси розробки ПЗ і його тестування.

« Набір мінімум: мати базові знання ООП мов ( Java або C # ) , HTML/XML/XPath , розуміти теорію тестування. Для web потрібно знати Selenium Web Driver . Також необхідно бути знайомим з SQL ( вміти писати запити до БД). Бажано мати уявлення про Continuous Integration , JUnit/TestNG/NUnit ».

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

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

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

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

Шляхи розвитку QA Automation інженера :

1 . Рости саме як фахівець- Автоматор : Junior Automation QA Engineer ->Middle Automation QA Engineer ->Senior Automation QA Engineer ->Automation QA Lead ;

2 . Рости з технічної лінії : стати Test Architect або перекваліфікуватися в програмісти ;

3 . Розвиватися як управлінець : Automation QA Manager ->Project Manager (з перспективами на Program Manager і/або CTO ) .

«Є люди , яким це дуже подобається , вони працюють по 8 років. Інші йдуть у розробку , де вимоги до знань вже вище. До того ж , після такої роботи стати девелопером простіше , ніж якщо починати з нуля. Як правило , в мануальное тестування автоматизаторів не повертаються ».


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

Опубліковано: 18/03/14 @ 07:53
Розділ Різне

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

Бесіда з Романом Катеринчик , засновником ArtJoker
НеКонференцією , зате біля моря
22 березня, Одеса - Odessa IT - People PechaKucha v1.0
« Думати - важка робота » , або 3 причини невдалих проектів
Java дайджест # 1 . тестування