Инновации и инсайты в мире Java из первых уст. Новая конференция Java Fest — 21 марта >>
×Закрыть

Test Automation Quality Control: нюанси, недоліки та переваги

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

У середині 90-х світ переживав інтернет бум — з’являлися нові web аплікації і web сервіси, код ставав все складнішим й об’ємнішим, і тестування вручну вже не покривало зростаючих потреб галузі, як по обсягах, так і по технологіях.

Напрямок 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.

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Комментарии от людей, которые зарегистрировались сегодня и оставили на dou 1 комментарий вызывают особое доверие

Корисна стаття, курси рекомендую, багато і детально розжовують.

Відвідую курси за напрямком TAQC в SoftServe IT, які проводяться автором цієї статті. Заняття спрямовані на максимальне зосередження на практичних завданнях, викладач суперовий! Рекомендую всім хто цікавиться тестуванням!

Відвідувала курси на TAQC в SoftServe IT, проведені автором цієї статті. Рекомендую всім хто цікавиться тестування.

Йоптыть, я запутался!

Сперва заявили, что безпосередній розробник не може якісно перевірити власний код, оскільки йому просто не вдасться критично його проаналізувати. Которые безпосередние программисты среди читачів — ну вы отнесены к отряду глупых прямоходящих, походу, если не можете тестировать свой код. Примите соболезнования, что ли.

Затем сообщили, что Test Automation Quality Control (TAQC) — це висококваліфікований програміст. Он даже умеет читать: «TAQC — це насамперед програміст, який також повинен вміти читати тест-кейси manual тестерів.»

То есть, это не то, что эти дураки из предыдущего абзаца, это розробник, который таки умеет проверять свой код и читать тест-кейсы тестировщиков. И ещё эта Рэмба пише програмний код для визначення та оцінки якості іншого коду. И ещё является ініціативним, комунікабельним; мати хороші аналітичні здібності та достатньо високий рівень англійської мови — жених!

Ок. TAQC — это бравый чувак/чувиха, который умеет тестировать свой код, и теперь он тестирует код тех, кто не смог развиться до умения подметать в своей комнате. Такюси — молодец! Все хотят быть такюси.

Однако дальше сообщают о том, что такюси не тестирует код, а тестирует то, что через этот код реализовано: аппликухи, тощо. «Формою такого коду може бути десктопна, мобільна або web аплікація, SOAP або REST сервіс, та ін.». Really?

Так он чужой код проверяет, или пишет свой код, который запускает аппликухи программным способом? Судя по упоминанию вебдрайвера — последнее. Это делает человека рэмбо-программистом? Тогда я дважды рэмбо-девелопер, бо я умею запускать всяку шнягу через вебдрайвер, my ass.

Может быть, где-то в рассуждениях закралась огромная ошибочная ошибка?

Ты чего так пылаешь? TAQC пишет код, на удобном ему языке и использует иструменты которые заточены под определенные задачи. Где ты прочитал про тестирование своего кода? Код же проверяют разные анализаторы типо SonarQube, другие разработчики на код ревью, юнит тесты написаные самим разработчиками.

Где ты прочитал про тестирование своего кода?

В статье:

безпосередній розробник не може якісно перевірити власний код,

Это не означает что автоматизатор проверяет свой код.

то есть, чтобы проверить код автоматизатора нужен еще автоматизатор для автоматизатора, логично!

Автоматизатор другого порядку

Мне кажется или автор с левых аккаунтов себе же комменты пишет

Только единорога нет, который радугой срет.

Незнання інформації про спеціальність та хибне розуміння напрямку TAQC в середовищі девелоперів призвело до певного дефіциту спеціалістів цього напрямку.

Нет, дефицит потому что мануальщики не хотят/не могут учиться программировать, а программистам нет надобности идти в автоматизаторы.

До переваг спеціальності можна віднести відсутність рутини

Ложь , рутина будет везде, будь ты программист, а темболее тестировщик и не важно мануал или авто

Очередная рекламная статья курсов, где правды процентов 10 от силы.

Хороша стаття, яка дає розуміння які саме вміння і навички необхідні щоб працювати у сфері TAQC.

Зараз вивчаю автоматизоване тестування, дуже мені подобається, тут в статті коротко і зрозуміло описано що це таке.

Зараз вивчаю автоматизоване тестування, дуже мені подобається, тут в статті коротко і зрозуміло описано що це таке.

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

Цікава стаття) Хотілось би почитати щось розгорнутіше в тому ж стилі

відсутність рутини

підтримую !
описувати 100500 однотипних сторінок це надзвичайно цікаво

Автоматизоване тестування — дуже цікавий та актуальний напрямок. Як видно з тенденцій сучасного ринку вакансій, дедалі частіше базові знання автоматизації зустрічаються серед вимог навіть для претендентів на посади ручних тестувальників, оскільки часто до обов’язків останніх може відноситись запуск автоматизованих тестів чи побудова feature-файлів при BDD-підходах до розробки. Часто ручні тестувальники з часом перекваліфіковуються в автоматизованих. Ручне та автоматизоване тестування доволі переплетені, адже як автоматизовані тестувальники повинні володіти знаннями методологій тестування, так і ручні тестувальники часто звертаються до навиків автоматизаторів.

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

Було б добре більш детально описати інструменти, якими користуються тестери, зокрема про Selenium, Cucumber і т.д., для чого вони, щоб люди, які читають це вперше(особливо не з іт сфери) більш зацікавились цим, можливо, навіть, добавити скріншоти і таке інше
до того ж, автоматизатори не тільки тестують код, а й аплікацію, бо юніт тести переважно пишуть девелопери. А оцінка якості коду — абстрактне поняття)

Але загалом згідний з автором, автоматизація зараз дуже перспективний напрямок)

Автоматизаторы не тестируют код. Тем кто не может загуглить кто такие АТ и что они делают — нечего делать в этой отрасли.

Test Automation Quality Control (TAQC) — це висококваліфікований програміст, який пише програмний код для визначення та оцінки якості іншого коду

Директор непаливной рекламы передавал вам привет

Подписаться на комментарии