Test Automation Quality Control: нюанси, недоліки та переваги
Фактично, спеціалісти з контролю якості в IT галузі з’явилися з появою перших комп’ютерів. З витоків програмування стало зрозуміло, що безпосередній розробник не може якісно перевірити власний код, оскільки йому просто не вдасться критично його проаналізувати. Так інженери прийшли до розуміння поділу праці на тих, хто код пише і тих, хто його перевіряє.
У середині
Напрямок TAQC почав викристалізовуватися на початку нульових. Прийшло розуміння того, що для перевірки якості програмного коду потрібно написати інший код, об’єм і складність якого іноді перевищувати саму систему, яку потрібно було перевірити. З часом були створені фреймворки, які допомагали та пришвидшували написання тестового коду, з’явилися спецефічні для тестування шаблони, тощо.
Вітаємо у світі TAQC
Станом на сьогодні — Test Automation Quality Control (TAQC) — це висококваліфікований програміст, який пише програмний код для визначення та оцінки якості іншого коду (System Under Test). Формою такого коду може бути десктопна, мобільна або web аплікація, SOAP або REST сервіс, та ін. Зазвичай, для написання коду Test automation розробники використовують одну з найпоширеніших сучасних мов високого рівня. Зокрема, це може бути Java, C#, Python, Ruby, JavaScript, тощо. Аплікація, яку тестують (або SUT), часто визначає спектр технологій та фреймворків, якими TAQC-девелопер користується для розробки тестового проекту. При цьому в його арсеналі можуть бути архітектурні та дизайн паттерни, ORM-фреймворки для роботи з базами даних, різноманітні фільтри, контейнери та бібліотеки. Ряд інструментів test automation девелопера є платними, однак існує багато і безкоштовних та частково безкоштовних. Нерідко навіть трапляється так, що тестовий проект по архітектурі, дизайну класів та паттернах проектування є складнішим від самого SUT. Більше того, такий проект часто повинен бути кросплатформенним і працювати на різних системах та архітектурах.
Переваги і не тільки
До переваг спеціальності можна віднести відсутність рутини, оскільки проекти для тестування бувають дуже різноманітними, а це вимагає постійного навчання та пошуку нових рішень. Це принципово відрізняє test automation від інших розробників, які часто перебувають в одному стеку технологій. Він може набриднути з часом який і, відповідно, у спеціаліста з’являються бажання змін тут і зараз.
До «недоліків» напрямку TAQC можна віднести певну дотичність до процесів ручного тестування. TAQC — це насамперед програміст, який також повинен вміти читати тест-кейси manual тестерів. По незрозумілих причинах, історично склалася така думка, що розробка баз даних, різних сервісів, web та десктопних аплікацій і т.д. — це робота програмістів, а тестування виконують лише manual тестери. Незнання інформації про спеціальність та хибне розуміння напрямку TAQC в середовищі девелоперів призвело до певного дефіциту спеціалістів цього напрямку.
Всі ці фактори ставлять достатньо високі вимоги до розробників TAQC. Наприклад, у компанії SoftServe, щоб зайняти місце TAQC-девелопера кандидат повинен: знати принаймні одну з мов програмування; мати базові знання по SQL та вміти працювати з базами даних; володіти основами об’єктно орієнтованого програмування, алгоритмічним та абстрактним мисленням; бути ініціативним, комунікабельним; мати хороші аналітичні здібності та достатньо високий рівень англійської мови.
У напрямку TAQC є достатньо багато інструментів, тому сьогодні складно виокремити якийсь єдиний тренд цієї спеціальності. Однак, все ж можна сказати, що достатньо популярним фреймворком є Selenium Web Driver. Він призначений для тестування web додатків, є безкоштовним, дуже добре документованим і найважливіше — популярним серед професіоналів, які об’єднуються в достатньо великі ком’юніті. Там завжди можна знайти потрібний туторіал, приклад використання або ж задати своє питання на форумі.
Наостанок потрібно зазначити, що кваліфікований TAQC програміст має розуміти всі процеси і ланки тестування. Тож перед тим, як звернути на цю стежку, радимо спершу хоча б ознайомитися з літературою по ручному тестуванню. Для того, щоб освоїти цей напрямок також рекомендую безкоштовний від SoftServe IT academy Test Automation Quality Control (TAQC) на Phyton, Java, .NET. Оскільки даних спеціалістів є мало на ринку, то 95% учасників курсу отримують роботу в компанії SoftServe.
27 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів