До дня тестувальника "Рубрика" розкриває секрети професії та розповідає, як її опанувати з нуля.
Одна з легенд каже, що 9 вересня 1947 року вчені Гарвардського університету тестували обчислювальну машину Mark II Aiken Relay Calculator. І виявилось, що між контактами електромеханічного реле застряг метелик. Побачивши це, одна зи вчених — Грейс Хоппер — вимовила слово "bug" (з англійської — "жук"), яке пізніше стало офіційним терміном, що означає комп'ютерну помилку.
Метелика витягли і вклеїли до технічного щоденника, супроводивши підписом "First actual case of bug being found" ("Перший випадок у практиці, коли був виявлений жук" — ред.). Цей факт поклав початок використанню слова "баг" у значенні "помилка".
Згодом процес виявлення й усунення причин збою в роботі комп'ютерів отримав назву debugging (дебаггінг, "налагодження", дослівно: позбавлення від жуків — ред.). А ще виникла професія — тестувальник, від англійського "test", тобто випробування.
До дня тестувальника "Рубрика" розповідає історії двох тестувальників: досвідченого професіонала, який розкриває секрети професії, та новачка, яка ще кілька місяців тому вважала, що ІТ — це виключно для "технарів".
Костя — Software Test Automation Engineer (або ж тестувальник-автоматизатор) в одній з провідних українських ІТ-компаній. Це означає, що його основним завданням є створення програм (скриптів/інструкцій), які потім тестують інші програми — автотесту.
"Автотест виконує рутинну роботу тестувальника. Скажімо, сайт передбачає реєстрацію користувача. Вона вже є, вона працює, однак замовник вирішив туди щось додати. І щоб перевірити коректність роботи всієї системи після нововведення, створюється програма-тестувальник. Можна, звісно, перевірити все і вручну, однак це забере невиправдано багато часу на дистанції — якщо працювати над проектом передбачається не один місяць і тестити треба буде багато разів", — пояснює він.
Спеціалізацій серед тестувальників безліч: хтось відповідає за безпеку даних; хтось — за навантаження на продукт: чи витримає, скажімо, сайт, якщо туди одночасно зайде кілька мільйонів людей; хтось — за функціонал, наприклад, чи працює певна кнопка в комбінації з іншими, і чи працює вона взагалі.
І хоч кожна зі спеціалізацій переслідує свою конкретну мету — впевнитись, що окремі деталі сайту, додатку чи софту працюють і роблять це злагоджено абощо, — кожна з них в кінцевому результаті "заточена" на одне: зручність для користувачів у роботі з продуктом.
"Тестувальник — це такий собі адвокат кінцевого користувача. Відповідно, він має ставити себе на місце людини, яка користуватиметься сайтом чи програмою, і знаходити способи полегшення роботи з ними", — каже Костя.
Робота над проектом починається з озвучення замовником побажань. Потім вони оформляються в чіткі технічні вимоги — і передаються на виконання команді.
Костя пояснює процес роботи тестувальника на прикладі створення новинного сайту.
"Замовник вказує, де мають бути розміщені стрічка новин, швидкі та головні новини, а ще йому потрібна, наприклад, адмінка окремо для редагування матеріалів і окремо — для реклами. Ти дивишся на них,
аналізуєш, наскільки це все реально виконати, і чи зможе воно потім запрацювати як слід", — роз'яснює він.
Потім починається, власне, робота. Завдання виконуються за пріоритетністю: спочатку створюється стрічка новин, потім до неї кріпляться головні новини – і так аж до завершення.
Тестувальники включаються в роботу відразу ж, на самому старті проекту. По-перше, визначають, як саме проводитимуть тестування. А по-друге, зауважує Костя, певні несправності легше і дешевше виправляти ще під час озвучення вимог замовником: "Адже якщо баг вилізе уже на етапі користувача, виправити це буде набагато довше і, що головне, дорожче".
"Тестувальники постійно запитують, чому вирішено, що щось працюватиме саме так, а не інакше, дають поради з покращення функціонування, переконують, що користувач не зрозуміє логіки якоїсь дії, вказують на суперечливість у побажаннях замовника тощо. Бо якщо щось не працюватиме, або продуктом буде дуже складно користуватись — навіщо його взагалі робити?" — переконаний він.
Костя став тестувальником, пройшовши курси, організовані компанією, у якій він зараз працює.
"Після закінчення університету — а я є інженером з електроніки — півтора роки я пропрацював інженером на кафедрі провідного технічного ВНЗ України, а потім мені подруга запропонувала піти на безкоштовні курси нашої компанії – на той час університет співпрацював з компанією, і курси проходили в лабораторіях нашого університету. Мені було просто цікаво послухати і спробувати щось нове. Так я став тестувальником", — розповідає він.
Костя пояснює: багато великих компаній організовує на своїй базі безкоштовні навчальні курси і саме це є їхньою перевагою – оскільки студентів відбирають з прицілом на майбутнє працевлаштування.
"Це зручно — відразу для себе готувати молодих спеціалістів: так ти чітко знаєш, до чого готувати людину, вивчаєш її сильні й слабкі сторони. З іншого боку, самі студенти отримують майже 100% можливість залишитись у великій компанії. Всі задоволені", — переконує він.
Сьогодні Юля — junior QA Engineer у тій же великій американській ІТ-компанії. Це означає, що її досвід складає менше 6 місяців, однак вона вже має певні навички для подальшого зростання.
А до того, як стати тестувальницею, Юля була філологинею-перекладачкою з італійської та англійської мов. І все було добре, аж поки перед нею не постала перспектива багато працювати і мало отримувати.
"На останній роботі я займалась організацією та проведенням міжнародних іспитів з англійської мови Cambridge. Проте коли моя керівниця звільнилась, я була готовою виконувати її обов'язки. Однак з умовою, що мені дадуть помічника — адже впоратись зі всіма завданнями одній чисто фізично було нереально. Помічника мені знайти пообіцяли — але лише за півроку. Так я вирішила закінчити з перекладацтвом", — розповідає Юля.
Ще більше в цій думці її укорінила ситуація на ринку праці.
Варіантів, де можна було б не лише машинально виконувати завдання, а й розвиватись та отримувати новий досвід, було мало. Ще менше було пропозицій з адекватною фінансовою складовою.
Так Юля вирішила піти в ІТ.
"Природно, що мені, філологині, яка все життя працювала за освітою, IT здавалося суто технічною професією. Однак тут спрацювала підтримка рідних", — ділиться Юля про перші кроки в освоєнні нового напрямку.
Сестра Юлі розповіла їй про курси, які пройшов свого часу Костя — безкоштовні навчальні програми з найбільш трендових технологій та напрямків.
Для того, аби почати навчання, потенційний студент мусить пройти співбесіду, потім — виконати тестове завдання, тоді — ще одну співбесіду, потім — прийняття на самі курси. І вже аж після цього студентів розподіляють за напрямками навчання, залежно від їхніх бажань.
"Там дуже складний відбір. З 400 осіб, які подали заявку, на курси потрапило менше ста", — розповідає Юля.
Навчання проходило протягом 4 місяців в режимі онлайн, продовжує вона, були вечірні лекції, "після яких задавали практичні завдання, які детально розбирались під час наступних занять".
"Щотижня у нас була відеорозмова з нашою координаторкою, під час якої вона не лише розповідала про специфіку роботи, а й відповідала на наші питання. Крім того, під час цих розмов ми починали тестувати якусь програму, вирішували логічні завдання тощо", — описує специфіку навчання Юля.
Водночас вона пояснює: особливістю та плюсом навчання на організованих великими ІТ-компаніями курсах є те, "що студенти практично зі 100% вірогідністю, залишаються там працювати".
Щоправда, прийом на роботу в більшості випадків відбувається не автоматично після закінчення навчання.
По-перше, пояснює Юля, "ти проходиш ще одну співбесіду — цього разу вже для участі в конкретному проекті", а по-друге, варто бути готовим до того, що на таку співбесіду доведеться чекати: "Скажімо, мене взяли до резерву компанії в грудні, співбесіду для участі в оновленні інтерфейсу одного з сайтів я пройшла в квітні, а повноцінно працювати почала лише з травня — з тримісячним випробувальним терміном".
Наразі Юля — мануальна тестувальниця. Це означає, що її робота полягає в особистому, "ручному" стеженні за відповідністю програми заявленим замовником вимогам.
"Разом із командою та замовником ми обговорюємо вимоги до проекту, після чого починаємо, власне, тестувати програму: визначаємо її баги і даємо звіт про дефекти. Після виправлення робимо повторне тестування — аби переконатися, що все працює як слід", — розповідає Юля.
Окрім мануальних тестувальників існують т.зв. "автоматизатори" — тестувальники, як Костя: зі знанням мови програмування, які створюють автотест: скрипт, що імітує взаємодії користувача з додатком, маючи на меті локалізувати помилки в роботі програмного забезпечення.
Юля пояснює: те, який тип тестувальників буде залучений до проекту, визначається обсягом закладеної до нього роботи. "Автоматизатори підходять для довгострокових проектів. Для коротких ефективнішим є мануальне тестування".
Тестувальники, як, втім, і решта ІТ-спеціалістів, самостійно оцінюють, наскільки ростуть у професійному плані.
"Це цікава робота, кожен проект унікальний, і ти постійно вчишся чомусь новому. У різних проектів різні вимоги, і якщо ти вважаєш, що ти виросла з одних завдань, то завжди можна поговорити з куратором, щоб перевестися на інший проект", — розповідає Юля.
Подібний підхід практикується і щодо кар'єрного росту.
"Наймолодшою" категорією є джуніори. Далі — мідл та сіньйор фахівці. Найвищі — лід-тестувальники.
"Щоб перейти на наступний рівень, потрібно пройти іспит. Якщо не складеш — за певний час можна повторити. Як швидко людина може вирости, залежить виключно від неї. Але в середньому, кажуть, необхідно близько двох років роботи, аби перейти на новий рівень", — пояснює Юля.
Стати тестувальником можуть всі, незалежно від освіти та попереднього досвіду. Однак для того, аби стати успішним тестувальником дуже важливо бути, природно, уважним, а ще — вміти читати документацію та дивитись на програму "очима користувача": аби користувачам було зручно нею користуватись.
Крім того, за словами Юлі, для якнайшвидшого оволодіння навичками тестування, "бажано знайти англійську мову на рівні В1, В2″. А також одразу визначитись із напрямком подальшої роботи — для "прокачування скілів" саме в ньому з метою швидшого розвитку та набуття відповідних знань.
"Комусь легше працювати з фінансовими програмами, комусь — з юридичними чи безпековими. Все ж індивідуально", — пояснює вона.
Та головне, переконує Юля, навіть у процесі роботи не боятись ставити питання та продовжувати навчатись: "Буває, тобі здається, що ти все правильно робиш, а в підсумку десь вискакує помилка. Тож варто постійно запитувати, навіть якщо питання тобі здаються безглуздими. Ну і, звісно ж, потрібно розвиватись – проходити навчальні курси, дивитись фахові відео. Адже ІТ-сфера розвивається дуже швидко. І аби завжди бути затребуваним на ринку праці, треба відслідковувати всі тренди".
“Рубрика” відвідала берег Каховського водосховища та дізналась, як змінилось життя Кушугумської громади після російського теракту… Читати більше
Перетворити власний травматичний досвід спочатку на текст п’єси, а потім поставити її на сцені —… Читати більше
Безпека як основний вектор для трансформацій міської інфраструктури Читати більше
4 вересня росіяни вдарили по Львову дронами та ракетами. 189 будинків зазнали пошкоджень, 60 людей… Читати більше
Останніми роками українським дітям дедалі важче включатися в соціалізацію — пандемія та війна забрали в… Читати більше
Ще у липні 2022 року в розпал бойових дій уряд започаткував грантовий проєкт “єРобота”. Будь-хто… Читати більше
Цей сайт використовує Cookies.