Як відомо, в ідеалі процес тестування починається зі складання тест-плану. Цей документ включає в себе всю необхідну інформацію: як, коли, ким і як часто проводиться тестування, які методики використовуються, які інструменти задіяні.

Чому так важливо обрати інструменти тестування заздалегідь? Це дозволить оптимізувати весь процес, правильно організувати роботу, що, зрозуміло, позначиться на якості її виконання. Це стосується і реалізації тест-дизайну – опису тестових випадків (кейсів).

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

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

Як правило, негативних тест-кейсів більше, ніж позитивних. Сукупність тестових сценаріїв для перевірки одного функціоналу, модуля, компонента програми, називають тестовим набором (test-suite, тест-сьют). Процес проходження тест-кейсів із зазначенням результатів тестування (passed або failed) називається тест-раном. З одного набору можна запускати будь-яку кількість тест-ранів в процесі роботи.

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

Хороший інструмент для створення тестових сценаріїв дозволяє:

  • описувати випадки покроково із зазначенням очікуваних результатів;
  • додавати вкладення;
  • об'єднувати написані кейси в набори;
  • запускати тест-рани;
  • відзначати результати здійснення перевірок;
  • отримувати підсумковий звіт про проходження тест-рана.

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

Серед всіх інструментів для створення тест-кейсів можна виділити два, які підкорили своєю простотою використання, широким функціоналом і доступністю: TestLink та TestRail. Далі поговоримо про кожен окремо і з'ясуємо, за що їх так полюбили на реальних проєктах.

TestLink

ТестЛінк – популярний інструмент для створення тест-кейсів, їх структурування, зберігання, проходження тестів і генерування звітів про тестування. Це безкоштовна система управління тестуванням, що є однією з головних його переваг.

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

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

TestLink дозволяє створювати вимоги до продукту (requirements) і прив'язувати кейси до конкретних з них. Це дуже зручно та допомагає впорядкувати проєкт. Завжди можна перейти на сторінку з вимогами під час проходження окремого тестового сценарію і почитати документацію.

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

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

Атрибути тест-кейса в TestLink стандартні:

  • ідентифікатор (ID);
  • назва;
  • опис тесту;
  • передумови;
  • кроки;
  • очікувані результати;
  • важливість (серйозність);
  • спосіб прогону (ручний/автоматизований);
  • статус.

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

Вигляд програми TestLink

TestLink дозволяє задавати платформу, на якій буде проводитися тестування (наприклад, десктоп, мобільні пристрої). Зрозуміло, частина сценаріїв буде ідентичною для всіх платформ. Щоб уникнути дублювання тест-кейсів, програма дозволяє додавати один сценарій відразу в декілька тест-планів. Вся інформація про те, в які з них входить конкретний кейс, відображається на сторінці.

При написанні тест-кейсів слід враховувати той факт, що, на відміну від TestRail, в TestLink кожен крок і очікуваний результат додаються окремо. Це трохи ускладнює процес створення кейса, зате значно покращує його читабельність і спрощує використання.

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

TestRail

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

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

add_project
access
users_roles

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

customization

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

Для того, щоб почати процес тестування, створюється тест-ран. Ще один плюс цього інструменту в прогін не обов'язково додавати всі кейси з набору. Тут TestRail досить гнучкий і дозволяє включати в ран тільки ті сценарії, які необхідно перевірити.

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

test_run

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

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

Інструменти створення тест-кейсів можуть значно підняти якість тестування. Коли все впорядковано, знаходиться в одному місці, а результати проходження кейсів наочні і добре візуалізовані, ймовірність виявлення дефектів підвищується. Різноманітність програм і додатків зараз досить велика, але розглянуті в цій статті сервіси є безперечними лідерами на проєктах, тому вміння ними користуватися один з обов'язкових навичок тестувальника.