Пропустити навігацію EPAM

«Це може пролунати страшно для тестувальника - пофіксити дефект»: хто такий QAOps і чим він займається

Думка експерта
  • Testing

QAOps (quality assurance + software operations) — не нова спеціалізація. У різних компаніях вже досить давно використовують різні зв'язки термінів Test та OPS для опису цієї проєктної ролі: у Microsoft обрали назву TestOps, Google - TestSecOps, в ЕРАМ - DevTestSecOps. 

Ці, на перший погляд, громіздкі терміни, насправді допомагають повноцінно зрозуміти, чим займаються фахівці з автоматизації тестування. 

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

Набагато швидше зробити це самостійно, аніж залучати до процесу колег-розробників або DevOps-інженерів. 

Примітно, що QAOps часто знаходять такий функціонал хмарних систем, про який не знають навіть DevOps. Ми — провокатори просунутого навчання. 

Що має вміти DevTestSecOps?

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

Це свого роду Full-Stack-інженери з фокусом на тестуванні програмного забезпечення, які, окрім своїх безпосередніх обов'язків, можуть виконувати низку інших завдань. 

DevTestSecOps-спеціалістам (як і автоматизаторам тестування) досить важливо переглядати код розробників, щоб заздалегідь відстежити зміни в продукті, розуміти ті області, на які слід звернути увагу при тестуванні, та, як бонус, вдосконалювати власний стиль написання коду, навчаючись у розробників. 

Від Test Automation Engineer - до QAOps

Помилкою було б вважати, що спеціалізація QAOps (quality assurance + software operations), яка поєднує в собі автоматизацію процесів тестування та задачі DevOps, є зовсім новою, адже хмарні обчислення з'явилися не вчора.

Це може пролунати страшно для автоматизатора тестування – пофіксити знайдений дефект. Насправді ж, це дуже цікаво.

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

Чому DevSecOps так потрібні на проєктах

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

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

Наведу кілька прикладів із практики. 

У рамках проєкту для клієнта із сфери e-commerce команда роздробила велику систему на п'ять окремих підсистем. Навантаження було велике, тому в певний момент розробники почали вибиватися від запланового графіка. 

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

Цікавим є приклад використання штучного інтелекту в роботі DevSecOps. Для одного з клієнтів, великої страхової компанії, було розроблено робот для прискорення обробки вхідної документації, що надходить у неоднорідному форматі. У результаті ми залучили цього робота для створення тестових даних для написання автотестів. 

Як опанувати професію та чому варто це робити?

DevTestSecOps-спеціалістам набагато простіше спілкуватися і з розробниками, і з DevOps-інженерами, оскільки вони працюють з однаковими інструментами, використовують загальну професійну лексику. 

Підвищення кваліфікації з інженера з автоматизації тестування до DevTestSecOps зазвичай відбувається або на практиці, «в полях», або шляхом самостійного освоєння інформації. Я – самоучка, мене мотивує моя «внутрішня дитина», яка постійно бажає все вивчати, пробувати та досліджувати. Але це далеко не показовий приклад.

Middle QAOps 

Найчастіше траєкторія навчання виглядає так: до рівня middle спеціаліст з автоматизації тестування прокачує ключові навички: 

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


Senior QAOps

Починаючи з рівня senior, автоматизаторам встановлюють вимоги вищого порядку: 

  • вони відповідають за інфраструктуру; 
  • повинні вміти дописати скрипт для розширення можливостей cloud-провайдера; 
  • провести якісний код-рев'ю, оптимізувати ключові функції. 

Знайти необхідну інформацію найчастіше допомагають DevOps-інженери або правильно сформульований запит у пошукових системах. 

До речі, коректно сформулювати питання, для того, щоб Google видав потрібну відповідь — це теж навичок, яким далеко не всі володіють «за замовчуванням». 

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

З компанією ЕРАМ нині співпрацює вже понад 1000 DevTestSecOps-фахівців, і деякі з них зізнаються, що перейшли в цю професію заради цікавих завдань та роботи з перспективними технологіями (навіть із незначним зниженням своєї позиції на початковому етапі). 

DevTestSecOps ≠ автоматизатор

У нашій професійній спільноті DevTestSecOps-фахівці уважно ставляться до правильного найменування їхньої позиції. Тому, якщо ви раптом назвете когось із них «тестувальником», можливо, вас і не видалять зі списку контактів, але неприємний осад залишиться. 

Чому так важливо? У самій назві позиції закладено повне та правильне розуміння завдань, з якими працює спеціаліст. Тому надалі їм пропонуватимуть відповідні проєктні ролі та позиції. 

Підписатися на новини

Чудово! Ми вже готуємо добірку актуальних новин для вас :)

Вибачте, щось пішло не так. Будь ласка, спробуйте ще раз.

* Обов'язкові поля

*Будь ласка, заповніть обов’язкові поля

Вакансії EPAM Ukraine у Київ | Львів | Харків | Дніпро | Вінниця | Івано-Франківськ | Одеса | Чернівці | Хмельницький | Рівне | Ужгород | Тернопіль | Луцьк за напрямком Java | JavaScript | .NET | DevOps | Experience Design | Software Testing | Business Analysis | Python| Big Data | Mobile | Solution Architect | Ruby on Rails у містах за напрямком Java вакансії Київ | Java вакансії Харків | Java вакансії Львів | Java вакансії Вінниця | Java вакансії Одеса | Java вакансії Івано-Франківськ | Java вакансії Чернівці | Java вакансії Хмельницький | Java вакансії Рівне | Java вакансії Ужгород | Java вакансії Тернопіль | Java вакансії Луцьк | JavaScript вакансії Київ | JavaScript вакансії Харків | JavaScript вакансії Львів | JavaScript вакансії Вінниця | JavaScript вакансії Одеса | JavaScript вакансії Івано-Франківськ | JavaScript вакансії Чернівці | JavaScript вакансії Хмельницький | JavaScript вакансії Рівне | JavaScript вакансії Ужгород | JavaScript вакансії Тернопіль | JavaScript вакансії Луцьк | DevOps вакансії Київ | DevOps вакансії Харків | DevOps вакансії Львів | DevOps вакансії Вінниця | DevOps вакансії Одеса | DevOps вакансії Івано-Франківськ | DevOps вакансії Чернівці | DevOps вакансії Хмельницький | DevOps вакансії Рівне | DevOps вакансії Ужгород | DevOps вакансії Тернопіль | DevOps вакансії Луцьк