Що таке тестування на основі даних? Навчіться створювати Framework

Тестування на основі даних

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

Фреймворк, керований даними

Фреймворк, керований даними це платформа автоматизованого тестування, у якій вхідні значення зчитуються з файлів даних і зберігаються у змінних у тестових сценаріях. Це дає змогу тестувальникам створювати як позитивні, так і негативні тести в одному тесті. Вхідні дані в структурі, керованій даними, можуть зберігатися в одному або кількох джерелах даних, таких як .xls, .xml, .csv і базах даних.

Фреймворк, керований даними

Чому саме тестування на основі даних?

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

приклад:

Наприклад, ми хочемо перевірити систему входу з кількома полями введення з 1000 різними наборами даних.

Щоб перевірити це, ви можете скористатися такими різними підходами:

Підхід 1) Створіть 1000 сценаріїв по одному для кожного набору даних і запустіть кожен тест окремо один за іншим.

Підхід 2) Вручну змініть значення в тестовому сценарії та запустіть його кілька разів.

Підхід 3) Імпортуйте дані з аркуша Excel. Отримайте тестові дані з рядків Excel один за одним і виконайте сценарій.

У наведених трьох сценаріях перші два є трудомісткими та тривалими. Тому ідеально слідувати третьому підходу.

Таким чином, третій підхід є не що інше, як структура, керована даними.

Як створити фреймворк автоматизації на основі даних

Структура автоматизації на основі даних

Скажімо, ви хочете перевірити функціональність програми для входу.

Крок 1) Визначте тестові приклади

  • Введіть правильні ім’я користувача та пароль – вхід успішний
  • Введіть неправильне ім’я користувача та правильний пароль – Помилка входу
  • Введіть правильне ім’я користувача та неправильний пароль – Помилка входу

Крок 2) Створіть докладні кроки тестування для вищезазначених 3 тестових випадків

Тестовий приклад № Опис Етапи тестування Дані тесту очікувані результати
1 Перевірте логін на наявність дійсних облікових даних
  1. Запустіть програму
  2. Введіть пароль користувача
  3. Натисніть OK
  4. Перевірте результати
Ім'я користувача: дійсний пароль: дійсний Успішний вхід
2 Перевірте логін на недійсні облікові дані
  1. Запустіть програму
  2. Введіть пароль користувача
  3. Натисніть OK
  4. Перевірте результати
Ім'я користувача: неправильний пароль: дійсний Помилка входу
3 Перевірте логін на недійсні облікові дані
  1. Запустіть програму
  2. Введіть пароль користувача
  3. Натисніть OK
  4. Перевірте результати
Ім'я користувача: дійсний пароль: недійсний Помилка входу

Крок 3) Створіть тестовий сценарій

Якщо ви спостерігаєте, що кроки тестування залишаються загальними протягом 3 кроків тестування. Для виконання цих кроків вам потрібно створити тестовий сценарій

// This is Pseudo Code 

// Test Step 1: Launch Application 
driver.get("URL of the Application");  

// Test Step 2: Enter Username 
txtbox_username.sendKeys("valid"); 

// Test Step 3: Enter Password 
txtbox_password.sendKeys("invalid"); 

// Test Step 4: Check Results 
If (Next Screen) print success else Fail

Крок 4) Створіть файл excel/csv із вхідними тестовими даними

Структура автоматизації на основі даних

Крок 5) Крок Змініть сценарій для циклічного перегляду вхідних тестових даних. Вхідні команди також повинні бути параметризовані

// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
    // Read data from Excel and store into variables
    int input_1 = ReadExcel(i, 0);
    int input_2 = ReadExcel(i, 1);

    // Test Step 1: Launch Application
    driver.get("URL of the Application");

    // Test Step 2: Enter Username
    txtbox_username.sendKeys(input_1);
    // Test Step 3: Enter Password

    txtbox_password.sendKeys(input_2);
    // Test Step 4: Check Results
    If(Next Screen) print success
    else Fail
}

Вище наведено лише 3 тести. Тестовий сценарій можна використовувати для циклічного перегляду наступних тестових випадків, просто додавши значення тестових даних перевершувати

  • Введіть неправильне ім’я користувача та пароль – помилка входу
  • Введіть правильне ім’я користувача та пароль – Помилка входу
  • Введіть порожнє ім’я користувача та порожній пароль – Помилка входу

І так далі

Найкращі практики тестування на основі даних

Нижче наведено найкращі методи тестування для тестування на основі даних:

  • Ідеально використовувати реалістичну інформацію під час процесу тестування на основі даних
  • Навігацію тестового потоку слід закодувати в тестовому сценарії
  • Керуйте віртуальними API значущими даними
  • Використовуйте дані для керування динамічними твердженнями
  • Тест як позитивний, так і негативний
  • Перепрофілюйте функціональні тести на основі даних для безпеки та продуктивності

Переваги тестування на основі даних

Керовані даними пропонують багато переваг, деякі з них:

  1. Дозволяє тестувати програму з кількома наборами значень даних під час регресійного тестування
  2. Тестові дані та дані перевірки можуть бути організовані лише в одному файлі, і він відокремлений від логіки тестового випадку.
  3. На основі інструменту можна мати тестові сценарії в одному репозиторії. Це робить тексти легкими для розуміння, підтримки та керування ними.
  4. Дії та функції можна повторно використовувати в різних тестах.
  5. Деякі інструменти автоматично генерують тестові дані. Це корисно, коли необхідні великі обсяги випадкових тестових даних, що допомагає заощадити час.
  6. Тестування на основі даних може виконувати будь-яку фазу розробки. Тест на основі даних зазвичай об’єднується в один процес. Однак його можна використовувати в кількох тестових випадках.
  7. Дозволяє розробникам і тестувальникам чітко відокремлювати логіку своїх тестових випадків/сценаріїв від тестових даних.
  8. Одні й ті самі тестові приклади можна виконувати кілька разів, що допомагає зменшити тестовий приклад і сценарії.
  9. Будь-які зміни в тестовому сценарії не впливають на тестові дані

Недоліки тестування на основі даних

Деякі недоліки методу автоматизованого тестування на основі даних:

  1. Якість тесту залежить від навичок автоматизації команди впровадження
  2. Під час тестування великої кількості даних перевірка даних займає багато часу.
  3. Технічне обслуговування є великою проблемою, оскільки для тестування на основі даних потрібен великий обсяг кодування.
  4. Потрібні технічні навики високого рівня. Тестеру, можливо, доведеться вивчити абсолютно нову мову сценаріїв.
  5. Документів буде більше. Здебільшого пов’язані з інфраструктурою тестів керування сценаріями та результатами тестування.
  6. Для створення та підтримки файлів даних потрібен текстовий редактор, наприклад Блокнот.

Висновок

  • Керований даними – це платформа автоматизації тестування, яка зберігає тестові дані у форматі таблиці або електронної таблиці.
  • У системі автоматизації тестування на основі даних вхідні дані можуть зберігатися в одному або кількох джерелах даних, наприклад xls, XML, csv і бази даних.
  • Створення індивідуального тесту для кожного набору даних — тривалий і трудомісткий процес. Структура тестування на основі даних вирішує цю проблему, зберігаючи дані окремо від функціональних тестів.
  • У тестуванні на основі даних це ідеальний варіант використання реалістичної інформації
  • Це дозволяє тестувати програму з кількома наборами значень даних під час Регресійне тестування
  • Недоліком цього методу є те, що він залежить від навичок автоматизації команди впровадження