На початку зародження професії 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 і ставайте частиною нашої великої команди!






