Кар'єра в 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 інженера включає в себе:
- Написання нових Автотест ;
- Оновлення поламаних/застарілих Автотест ;
- Прогін Автотест ;
- Аналіз результатів тестових прогонів ;
- Документування помилок;
- Верифікація виправлених програмістами помилок;
- Рев'ю коду;
- Налаштування тестового оточення;
- Стенд -ап мітинги.
« У мене є правило: " Авто -тести завжди робочі ! " . Якщо я прийшла на роботу , а тести сфейлілісь , я відразу розбираюся з причиною . Мені здається , що якщо я перестану так робити , і тести тижнями будуть "червоними" , то все перестануть на них дивитися » .
Переваги і недоліки
Головним достоїнством своєї професії автоматизаторів називають різноманітність виконуваної роботи , яка об'єднує аналітику , тестування , програмування та адміністрування .
«Автоматизація дозволяє фокусуватися на вирішенні важких завдань , аналітиці , переклавши монотонні завдання на плечі комп'ютера. Мінімум рутини - максимум челенджа ! Завжди любив шукати недоліки в системі ».На відміну від звичайного тестування , робота автоматизаторів не зав'язалося на одноманітному « кликання » і дає більше можливостей для творчості.
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 . тестування