article-spots
article-carousel-spots
programs
Технології

API, хмари та продуктивність: три сучасних тренди в автоматизації тестування

28 лип 2021

На початку зародження професії Test Automation спеціаліста, етап "тестування" полягав у пошуку помилок в коді. Даний напрямок і зараз займає важливу частину в проєктному циклі, але спектр задач спеціаліста з автоматизованого тестування вже не обмежується тільки цим. Разом з Петром Малишевим, Lead Software Test Automation Engineer в EPAM, ми розглянемо три найцікавіших трендових напрямки в автоматизованому тестуванні, та для кожного відповімо на питання: що це таке, чому це стало трендом та яка з цього користь для TA інженерів. Далі – від першої особи.

Як ви напевно вже знаєте, в EPAM University доступні курси, де наполегливі та талановиті (хоча це необов’язково, у мене не було особливих талантів, та все ж я пройшов) люди можуть розпочати кар’єру в IT. Навчатися автоматизованому тестуванню нелегко, адже ця професія вимагає від спеціаліста поглиблених знань з багатьох технічних тем, а також розвинених софт-скілів та впевненого знання мови програмування (як-от C# та Java).

Чому ж молоді спеціалісти обирають цей напрям?

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

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

Тестування API  

Що це таке?

Тестування API це тестування веб-сервісів, переважна більшість яких базується на REST. Ці веб-сервіси або утворюють спеціальний API (інтерфейс, який користувачі можуть викликати через HTTP+JSON запити), або здебільшого призначені для використання веб-додатком. 

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

Чому це тренд?  

Ще 6 років тому автоматизація здебільшого застосовувалася для UI тестування, однак зараз ми спостерігаємо звороній процес: продукти з legacy кодом поступово відмирають, тоді як все більше програм включають АРІ в тому чи іншому вигляді. Як наслідок зараз вже складно знайти бажаючих працювати на проєктах виключно з тестуванням користувацького інтерфейсу, а тести API складають основу будь-якої сучасной стратегії TA.

Які переваги для TA інженерів?  

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

І хоча я інженер з 7-річним досвідом, я все ще стикаюся з новими технічними проблемами у тестуванні АРІ, які можна вирішити елегантно, шляхом вибору найкращого рішення з кількох можливих. Саме тому мені дуже подобається тестування АРІ можливо, ця логіка змусить і вас придивитися ближче до цього тренду.

Тестування продуктивності 

Що це таке? 

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

Чому це тренд?  

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

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

Які переваги для TA інженерів? 

Окрім очевидного плюса опанування нової технології та отримання бесцінного досвіду, який допоможе вам на кар'єрному шляху – TA спеціаліст, який впевнено розбирається у тестуванні продуктивності, надзвичайно корисний на будь-якому проєкті в компанії. Завдяки тестуванню продуктивності можна завчасно виявити помилки, які можуть виникнути у продакшен-середовищі - тобто, знизити навантаження на команду тестувальників та запобігти появі критичних ситуацій (наприклад, падіння серверів).

Хмарне середовище 

Що це таке? 

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

Чому це тренд?

По-перше, програми набагато дешевше запускати в хмарі. По-друге, хмари чудово підходять для використання АРІ та веб-додатків з сучасною розподіленою структурою (яку компанії активно впроваджують) і, як правило, не підтримують застарілі технології (від яких компанії намагаються відійти).  

Які переваги для TA інженерів?

У хмарному світі ми маємо більше ресурсів для тестування наших програмнаприклад, щоб запускати тести паралельно а додаткові тестові середовища для хмарних додатків коштують значно дешевше. В хмарі все простіше, там немає десктоп-додатків, за якими мало хто сумуватиме.  

 

На завершення, неважливо, чи ви вже інженер з автоматизації тестування, чи тільки збираєтеся ним стати: ці тренди можуть стати для вас корисним скілом або гарним привідом актуалізувати свої знання. І, звісно, робити це краще всього в EPAM University тож приєднуйтесь до активного набору Test Automation і ставайте частиною нашої великої команди!