Вакансії 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 вакансії Луцьк
«Це може пролунати страшно для тестувальника - пофіксити дефект»: хто такий QAOps і чим він займається
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-фахівці уважно ставляться до правильного найменування їхньої позиції. Тому, якщо ви раптом назвете когось із них «тестувальником», можливо, вас і не видалять зі списку контактів, але неприємний осад залишиться.
Чому так важливо? У самій назві позиції закладено повне та правильне розуміння завдань, з якими працює спеціаліст. Тому надалі їм пропонуватимуть відповідні проєктні ролі та позиції.
Підписатися на новини
-
Огляд подій
Як створити Kubernetes-оператори за допомогою Operator Framework
Operator Framework надає потужний набір інструментів для створення, тестування та розгортання операторів.
-
Думка експерта
Еволюція AI-асистентів у SDLC: виклики, досягнення та майбутні перспективи
-
Соціальна відповідальність
«Ми повинні бути першими у сфері цифрової інклюзивності», Ігор Процюк, інженер з тестування в EPAM
-
Лайфхаки
Графові бази даних: революція в управлінні складними зв'язками
-
Лайфхаки
Testcontainers: інноваційний підхід до інтеграційного тестування
Testcontainers — інноваційний інструмент, що має значний вплив на спосіб проведення інтеграційних тестів у Java-проєктах.