TestRail - Індивідуальні налаштування під проект

Запровадження

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

Невеликий дисклеймер. У даній статті немає опису базового функціоналу TestRail (на це є багато гайдів) і барвистих, що продають виразів, що описують чому потрібно вибрати саме цього вендора для створення репозиторію з тестами.

План-обґрунтування (що буде реалізовано)

  1. Загальні вимоги

    1. Кейс має змогти пройти абсолютно будь-яка людина

    2. Кейси повинні зберігати актуальність якнайдовше

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

  2. Поділ на TestCase та TestScenario

  3. Швидке формування TestRun різних типів

    1. Дим

    2. Регрес

    3. Impact тестування та ін.

  4. Оптимізація підтримки кейсів

    1. Відмова від «мертвих» захардшкірених скріншотів та перехід на «movable data»

Вимога

Для редагування полів Вам знадобиться адміністраторський доступ

Вибір типу проекту

Можна вибрати три типи проекту:

TestRail - Індивідуальні налаштування під проект

Ми виберемо тип за замовчуванням. У ньому будуть доступні одночасно всі кейси. Ми будемо користуватися розумною фільтрацією та динамічно керувати всіма кейсами відразу.

Додавання полів для перегляду списку тест кейсів

Додамо поле для відображення priority тест кейсів:

TestRail - Індивідуальні налаштування під проект

Також можна додати інші поля.

Налаштування полів та тегів тест кейсу

Відкриваємо меню налаштування:

TestRail - Індивідуальні налаштування під проект

Нам будуть потрібні такі поля:

Поле "Summary" (шапка тест кейсу)

TestRail - Індивідуальні налаштування під проект

Це поле вже існує, ми тільки систематизуємо його використання. Будемо розділяти кейси на TestCase та TestScenario. Для кращого читання великого списку кейсів краще заздалегідь домовиться за регламентом написання summary.

TestScenario:

Приклад: TestScenario — Основний сценарій використання мобільної програми

TestCase:

Приклад: MainScreen - Розділ авторизації - Введення логіну

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

Тег "StartScreen" (екран з якого починається TestScenario, також багато тест кейси можуть зачіпати сусідні екрани)

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

Створюємо нове поле:

TestRail - Індивідуальні налаштування під проект

Заповнюємо компоненти нового поля:

TestRail - Індивідуальні налаштування під проект

У цьому випадку ми створюємо поле вибору зі списку значень. Вводимо значення цього поля:

TestRail - Індивідуальні налаштування під проект

Зверніть увагу, що id значень починаються не з одиниці і не підряд. Чому так зроблено? Справа в тому, що якщо у нас будуть записані тесткейси із введеним id,

TestRail - Індивідуальні налаштування під проект

і після цього нам потрібно створити третій екран між двома існуючими,

TestRail - Індивідуальні налаштування під проект

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

Тег «Screen» (найменування екрана, що стосується TestCase)

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

Приклад: home_screen, MapScreen, PayScreen і т.д.

TestRail - Індивідуальні налаштування під проект

Поле «MovableData» (посилання на проксі БД із змінними тестовими даними)

Далі ми намагатимемося вирішити проблему підтримки актуальності даних у тесткейсах:

  1. Посилання на актуальні макети (це набагато краще, ніж робити мертві скріншоти)

  2. Типові кроки до екрану із тестовою ситуацією

  3. SQL запити

  4. Посилання на зовнішні дані та інші дані

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

Всі ці дані ми запакуємо в один зовнішній файл, який буде доступний всім бажаючим на проекті. Наприклад, можна використовувати Google Sheet або Excel і настроїти всередині файлу пошук. Чому саме ці вендори? Справа в тому, що ми відштовхуємося від парадигми, що відкрити та пройти тест кейс має змогти будь-яка людина в команді без необхідності попередньо встановлювати будь-які тулзи.

Для Google Sheet можна використовувати запити SQL. Приклад:

=query(DATA!A1:M1146;"
SELECT C,D
WHERE
C contains '"&SEARCH!A2&"'")

Для перевершувати можна налаштувати зручні макроси миттєвого пошуку. (фільтрації) Приклад за посиланням.

Власне, ідея не нова і описана в першій книжці тестувальника “Тестування dot com”. (Автор Савін Роман) Ми тільки-но інтегруємо в TestRail запропоновані Романом Савіним методики. Для цього створимо поле з посиланням на створений файл:

TestRail - Індивідуальні налаштування під проект

заповнюємо дефолтне значення посилання, щоб у кожному новому тест-кесі вже посилання було:

TestRail - Індивідуальні налаштування під проект

Якщо розташування зовнішнього файлу зміниться (ми передбачаємо будь-який форс мажор) то можна зручно у всіх тест кейсах відразу змінити одне або кілька полів:

TestRail - Індивідуальні налаштування під проектTestRail - Індивідуальні налаштування під проект

Поле “Descriptions” (опис чи ідея тест кейсу, типові інструкції)

Для чого може знадобитися: У текстове поле ми помістимо короткий опис тест кейсу і типові інструкції.

Приклад: Всі тестові дані (актуальні макети, використання тулів та інші дані) з даного тесту кейсу позначені посиланнями {…} і знаходяться у файлі MovableData. Посилання на MovableData у відповідному полі зверху.

TestRail - Індивідуальні налаштування під проект

Тег «Component» (компонент мобільного додатку)

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

Приклад компонентів: GooglePay, Order, Users, Map, Authorization і т.д.

TestRail - Індивідуальні налаштування під проект

Тег «TAG» (Інші теги для фільтрації)

Тегування тест кейсу мітки для довільної фільтрації. 

Дуже корисно для: 

  1. Швидке складання TestRun для різних типових завдань: smoke, регрес і т.д.

  2. чи будуть тести автоматизовані чи вже автоматизовані

  3. будь-які інші теги

Приклад: Smoke, Automated, WhiteLabel, ForDelete і т.д.

TestRail - Індивідуальні налаштування під проектTestRail - Індивідуальні налаштування під проект

Налаштовуємо порядок відображення полів у тест кейсі

Ми створили багато нових полів, настав час розташувати їх у зручному порядку:

TestRail - Індивідуальні налаштування під проект

Створення TestRun

Тепер ми створимо новий test run з актуальними кейсами для проведення smoke тестування у три кліки:

TestRail - Індивідуальні налаштування під проект

Інші корисні поради

  1. Якщо в TestRail кілька проектів, то не забувайте створювати нові поля тільки під Ваш проект або колеги з сусідніх команд дуже здивуються появі нових незвичайних полів. Можливі локальні непритомності.

TestRail - Індивідуальні налаштування під проект

2. Кейси з великою кількістю полів простіше копіювати з аналогічної групи типу, ніж створювати нові:

TestRail - Індивідуальні налаштування під проект

3. Можна використовувати облікові записи разом. Наприклад: одна адміністраторська, кілька користувацьких.

Висновок

Наведені вище приклади були впроваджені на кілька проектів і показали свою ефективність. Сподіваюся вони допоможуть покращити Ваше розуміння даної туловища та допоможуть створювати ефективні та зручні “тестосховища”. Буду дуже вдячний, якщо Ви у коментарях опишите Ваш досвід використання TestRail та корисні поради.

Посилання:

Сайт вендора TestRail

книга: "Тестування .COM" (автор Роман Савін)

Щиро дякую за увагу!

Джерело: habr.com

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster