Тестувальник – незамінний спеціаліст на етапі розробки будь-якого програмного забезпечення. Без нього не можна створити жодного серйозного вебсайту чи застосунку, адже саме він відповідає за кінцеву якість продукту. Quality Assurance (QA) так і перекладається – забезпечення якості.
Перш ніж поговорити про види тестувальників і різницю між QA Manual та QA Automation, давай подивимось, чим взагалі займається типовий тестувальник в ІТ.
Вивчає документацію, як за планом має працювати продукт.
Досліджує інтерфейс, а також роботу всіх розроблених функцій.
Моделює різні користувацькі сценарії використання продукту.
Пише тест-кейси, шукає баги та помилки, описує їх у звітах.
Періодично пише розробникам «Я вам усе поламав».
Звичайно, останнє – то жарт. Але інколи саме так і трапляється. Бо якщо сайт чи програму не поламає тестувальник, то їх обов’язково поламає користувач. А це дуже-дуже недобре.
Які бувають тестувальники
Хоча й не існує строгої класифікації, проте частіше можна почути про мануального тестувальника та автоматизатора. Рідше зустрінеш тестувальника продуктивності (performance tester) і тестувальника безпеки (security tester), але є й інші. В реальному світі профі мають досвід роботи в декількох галузях одночасно.
u003cstrongu003eМануальний тестувальник (Manual QA Engineer)u003c/strongu003e ставить себе на місце звичайного юзера та самостійно проходить через усі етапи взаємодії з програмою. Це – мануальне, тобто ручне тестування. Тому в народі такого тестувальника називають «ручний», але ти так краще не кажи.
u003cstrongu003eАвтоматизатор (Automation QA Engineer)u003c/strongu003e перевіряє функціонал продукту за допомогою спеціальних програм. Зазвичай вони стандартні, проте інколи доводиться писати їх самостійно. Такого тестувальника інколи називають «автоматизованим», хоча це також некоректно.
До речі, тестер / tester – це баночка парфумів у магазині, яку можна попшикати на себе. А зовсім не ІТ-професія. Якщо на те пішло, повну назву професії краще скорочувати так: QA, QA Engineer, Test Engineer. Або ж українською: тестувальник, QA-інженер, QA-спеціаліст.
Про щоденні задачі тестувальника в ІТ-компанії на нашому YouTube-каналі розповіла Марина Павельчак, Senior QA Engineer в компанії SoftServe.
Мануальний тестувальник: що він робить
Ручне тестування – це основа забезпечення якості. Manual Test Engineer вручну перевіряє роботу та взаємодію різних елементів сайту, застосунку чи програми. Вручну – значить з мишкою, клавіатурою та пальцями по екрану.
Його головна задача – взяти на себе роль користувача та пройти усі можливі сценарії взаємодії з програмою. Він шукає функції та елементи продукту, які працюють не так, як потрібно. Або ж не працюють взагалі.
Ось так, наприклад, тестувальник перевіряє функціонал створеного інтернет-магазину. Спочатку він реєструється на сайті як звичайний клієнт. Клацає на меню та картинки, додає товари у кошик, намагається оформити покупку. Ну і далі по плану.rnrnЗа допомогою тільки цих простих дій він перевіряє, як працює система реєстрації, чи коректні посилання на сторінки, як відображаються картки товарів, чи правильно працює кошик тощо.
Проте найцікавіше у роботі мануального тестувальника – це спроби «зламати систему» та все заруїнити. Він може додати сотню товарів у кошик, щоб перевірити, як система виконає таку задачу. Може натиснути кнопку «Купити» десять разів до того, як завантажиться сторінка, щоб побачити, чи будуть дублюватися дані.
Цей підхід називається «навантажувальним тестуванням» (load testing) або «стрес-тестуванням» (stress testing). Подібні тести допомагають визначити межі продуктивності та надійності системи під високими навантаженнями або некоректними діями користувачів.
Виходить, після стандартних методик тестування в діло йдуть нестандартні. Така робота робить продукт кращим, а ще є досить творчою та цікавою. Хочеш спробувати? Реєструйся на безплатний u003ca href=u0022https://qa.m.goit.global/ua/new/ target=u0022_blanku0022 rel=u0022noopeneru0022u003eмарафон з тестуванняu003c/au003e та заціни переваги цієї професії.
u003cstrongu003eПлюси ручного тестування:u003c/strongu003e
u003cstrongu003eЗворотний зв’язок.u003c/strongu003e Manual QA знає продукт краще, ніж будь-який користувач. Тому може розповісти команді не тільки про баги, а й про користувацький досвід.
u003cstrongu003eГнучкість і швидкість.u003c/strongu003e При необхідності QA може перевірити одну окрему функцію / елемент продукту. У такому випадку не потрібно писати код чи запускати середовище тестування.
u003cstrongu003eПростота.u003c/strongu003e Ручна перевірка не потребує знання мов програмування, тут не треба використовувати спеціальні програми. Завдяки цьому Manual QA може знаходити помилки поза кодом.
Тестувальник-автоматизатор: хто це такий
Автоматизоване тестування – це процес, у якому Automation Test Engineer тестує софт за допомогою спеціальних скриптів і програм. Часто їх потрібно писати чи допилювати самостійно. Тому автоматизатор має добре знати хоча б одну з мов програмування: Python, Java, JavaScript, C++.
Автоматизатор не розглядає програму зі сторони звичайного користувача. Натомість він перевіряє її інфраструктуру, цілісність та витривалість.
Для прикладу, автоматизатор пише програму, яка імітує DDOS-атаку на інтернет-магазин. За короткий час сайт отримує тисячі запитів, що збільшує навантаження на сервери до граничних значень.rnrnЗвісно, сервер (і настрій) падає. Але тестувальник отримує цінну інформацію щодо реальних можливостей заліза. І при необхідності ресурс збільшать. Бо якщо сайт зазбоїть під час раптового напливу покупців на свята, компанія втратить прибуток.
Автоматизатор – це та людина, яка обходить нудні тестування одним натиском клавіші. Тиць – і програма сама перевіряє правильність усіх посилань на сайті. А потім ще раз тиць – і програма тестує, чи коректно кожен з тисячі товарів додається у кошик.
Звісно, такі програми писати складно і довго, проте в майбутньому вони економлять тисячі годин. А ще це дозволяє мануальним тестувальникам займатися дійсно важливими тест-кейсами замість того, щоб тижнями робити monkey job.
u003cstrongu003eПлюси автоматичного тестування:u003c/strongu003e
u003cstrongu003eБільше тестів.u003c/strongu003e QA Engineer витрачає на перевірку програми в десятки, а то й сотні разів менше часу. Бо часто автотестами автоматизують саме рутинну роботу.
u003cstrongu003eПовторюваність.u003c/strongu003e Один тест можна повторювати сотні разів. Це особливо актуально, коли розробники внесли невеликі зміни і продукт треба перевіряти заново.
u003cstrongu003eМоделювання сценаріїв.u003c/strongu003e Автоматизатор може провести складні тести, які фізично недоступні мануальникам. Наприклад, зімітувати DDOS-атаку абощо.
Великі проєкти мають включати як ручне, так і автоматизоване тестування. Інженер з ручного тестування створює та виконує тест-кейси. Тоді як інженер з автоматизації бере найпоширеніші тест-кейси та автоматизує їх. Таким чином значну частину перевірок виконують автотести.
Сьогодні вивчитися на тестувальника можна всього за 3 місяці на курсі QA Manual в GoIT. Це хороша база навіть для тих, хто мріє в майбутньому стати автоматизатором. Вартість навчання відіб’єш вже з першої зарплати.
Складно визначитися?
За 5 хв пройди тест із підбору професії
Він підкаже, який напрямок найбільше відповідає твоїм здібностям та попередньому досвіду
Пройти тест