• ~ 4 хв

Які бувають тестувальники і що вони роблять

Тестувальник – незамінний спеціаліст на етапі розробки будь-якого програмного забезпечення. Без нього не можна створити жодного серйозного вебсайту чи застосунку, адже саме він відповідає за кінцеву якість продукту. Quality Assurance (QA) так і перекладається – забезпечення якості.

Перш ніж поговорити про види тестувальників і різницю між QA Manual та QA Automation, давай подивимось, чим взагалі займається типовий тестувальник в ІТ.

  • Вивчає документацію, як за планом має працювати продукт.

  • Досліджує інтерфейс, а також роботу всіх розроблених функцій.

  • Моделює різні користувацькі сценарії використання продукту.

  • Пише тест-кейси, шукає баги та помилки, описує їх у звітах.

  • Періодично пише розробникам «Я вам усе поламав».

Звичайно, останнє – то жарт. Але інколи саме так і трапляється. Бо якщо сайт чи програму не поламає тестувальник, то їх обов’язково поламає користувач. А це дуже-дуже недобре.

Приклади візуальних багів на популярних сайтах

Баг: кнопка «Підписатися» завелика та вилазить за межі екрана

Приклади візуальних багів на популярних сайтах

Баги: кнопки зливаються з картинками; 4 верхні зображення не вирівняні по сітці

Приклади візуальних багів на популярних сайтах

Баги: не підтягнулося зображення верхньої картки; 4 верхні зображення не вирівняні по сітці

Які бувають тестувальники

Хоча й не існує строгої класифікації, проте частіше можна почути про мануального тестувальника та автоматизатора. Рідше зустрінеш тестувальника продуктивності (performance tester) і тестувальника безпеки (security tester), але є й інші. В реальному світі профі мають досвід роботи в декількох галузях одночасно.

Мануальний тестувальник (Manual QA Engineer) ставить себе на місце звичайного юзера та самостійно проходить через усі етапи взаємодії з програмою. Це – мануальне, тобто ручне тестування. Тому в народі такого тестувальника називають «ручний», але ти так краще не кажи.

Автоматизатор (Automation QA Engineer) перевіряє функціонал продукту за допомогою спеціальних програм. Зазвичай вони стандартні, проте інколи доводиться писати їх самостійно. Такого тестувальника інколи називають «автоматизованим», хоча це також некоректно.

До речі, тестер / tester – це баночка парфумів у магазині, яку можна попшикати на себе. А зовсім не ІТ-професія. Якщо на те пішло, повну назву професії краще скорочувати так: QA, QA Engineer, Test Engineer. Або ж українською: тестувальник, QA-інженер, QA-спеціаліст.

Про щоденні задачі тестувальника в ІТ-компанії на нашому YouTube-каналі розповіла Марина Павельчак, Senior QA Engineer в компанії SoftServe.

Відео

Мануальний тестувальник: що він робить

Ручне тестування – це основа забезпечення якості. Manual Test Engineer вручну перевіряє роботу та взаємодію різних елементів сайту, застосунку чи програми. Вручну – значить з мишкою, клавіатурою та пальцями по екрану.

Його головна задача – взяти на себе роль користувача та пройти усі можливі сценарії взаємодії з програмою. Він шукає функції та елементи продукту, які працюють не так, як потрібно. Або ж не працюють взагалі.

Ось так, наприклад, тестувальник перевіряє функціонал створеного інтернет-магазину. Спочатку він реєструється на сайті як звичайний клієнт. Клацає на меню та картинки, додає товари у кошик, намагається оформити покупку. Ну і далі по плану.

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

Проте найцікавіше у роботі мануального тестувальника – це спроби «зламати систему» та все заруїнити. Він може додати сотню товарів у кошик, щоб перевірити, як система виконає таку задачу. Може натиснути кнопку «Купити» десять разів до того, як завантажиться сторінка, щоб побачити, чи будуть дублюватися дані.

Цей підхід називається «навантажувальним тестуванням» (load testing) або «стрес-тестуванням» (stress testing). Подібні тести допомагають визначити межі продуктивності та надійності системи під високими навантаженнями або некоректними діями користувачів.

Виходить, після стандартних методик тестування в діло йдуть нестандартні. Така робота робить продукт кращим, а ще є досить творчою та цікавою. Хочеш спробувати? Реєструйся на безплатний марафон з тестування та заціни переваги цієї професії.

Плюси ручного тестування:

  • Зворотний зв’язок. Manual QA знає продукт краще, ніж будь-який користувач. Тому може розповісти команді не тільки про баги, а й про користувацький досвід.

  • Гнучкість і швидкість. При необхідності QA може перевірити одну окрему функцію / елемент продукту. У такому випадку не потрібно писати код чи запускати середовище тестування.

  • Простота. Ручна перевірка не потребує знання мов програмування, тут не треба використовувати спеціальні програми. Завдяки цьому Manual QA може знаходити помилки поза кодом.

Приклади візуальних багів на популярних сайтах

Баг: кнопка «X» накладається на елемент керування відео, дві різні іконки зливаються в одну

Приклади візуальних багів на популярних сайтах

Баг: кнопка підписки, іконки соцмереж і логотип у футері сайту не вирівняні по сітці

Приклади візуальних багів на популярних сайтах

Баг: не зчитується іконка «Х», яка закриває меню (той випадок, коли оригінальність шкодить функціональності)

Тестувальник-автоматизатор: хто це такий

Автоматизоване тестування – це процес, у якому Automation Test Engineer тестує софт за допомогою спеціальних скриптів і програм. Часто їх потрібно писати чи допилювати самостійно. Тому автоматизатор має добре знати хоча б одну з мов програмування: Python, Java, JavaScript, C++.

Автоматизатор не розглядає програму зі сторони звичайного користувача. Натомість він перевіряє її інфраструктуру, цілісність та витривалість.

Для прикладу, автоматизатор пише програму, яка імітує DDOS-атаку на інтернет-магазин. За короткий час сайт отримує тисячі запитів, що збільшує навантаження на сервери до граничних значень.

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

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

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

Плюси автоматичного тестування:

  • Більше тестів. QA Engineer витрачає на перевірку програми в десятки, а то й сотні разів менше часу. Бо часто автотестами автоматизують саме рутинну роботу.

  • Повторюваність. Один тест можна повторювати сотні разів. Це особливо актуально, коли розробники внесли невеликі зміни і продукт треба перевіряти заново.

  • Моделювання сценаріїв. Автоматизатор може провести складні тести, які фізично недоступні мануальникам. Наприклад, зімітувати DDOS-атаку абощо.

Великі проєкти мають включати як ручне, так і автоматизоване тестування. Інженер з ручного тестування створює та виконує тест-кейси. Тоді як інженер з автоматизації бере найпоширеніші тест-кейси та автоматизує їх. Таким чином значну частину перевірок виконують автотести.

Сьогодні вивчитися на тестувальника можна всього за 3 місяці на курсі QA Manual в GoIT. Це хороша база навіть для тих, хто мріє в майбутньому стати автоматизатором. Вартість навчання відіб’єш вже з першої зарплати.

Читати про курс