Що таке тестування на основі даних? Навчіться створювати Framework
Тестування на основі даних
Тестування на основі даних це метод тестування програмного забезпечення, у якому тестові дані зберігаються у форматі таблиці або електронної таблиці. Тестування на основі даних дозволяє тестувальникам вводити єдиний тестовий сценарій, який може виконувати тести для всіх тестових даних із таблиці та очікувати результат тесту в тій самій таблиці. Його також називають тестуванням, керованим таблицею, або параметризованим тестуванням.
Фреймворк, керований даними
Фреймворк, керований даними це платформа автоматизованого тестування, у якій вхідні значення зчитуються з файлів даних і зберігаються у змінних у тестових сценаріях. Це дає змогу тестувальникам створювати як позитивні, так і негативні тести в одному тесті. Вхідні дані в структурі, керованій даними, можуть зберігатися в одному або кількох джерелах даних, таких як .xls, .xml, .csv і базах даних.
Чому саме тестування на основі даних?
Тестування на основі даних це важливо, оскільки тестувальники часто мають кілька наборів даних для одного тесту, а створення окремих тестів для кожного набору даних може зайняти багато часу. Тестування на основі даних допомагає зберігати дані окремо від сценаріїв тестування, і ті самі сценарії тестування можна виконувати для різних комбінацій вхідних даних тестування, а результати тестування можна ефективно генерувати.
приклад:
Наприклад, ми хочемо перевірити систему входу з кількома полями введення з 1000 різними наборами даних.
Щоб перевірити це, ви можете скористатися такими різними підходами:
Підхід 1) Створіть 1000 сценаріїв по одному для кожного набору даних і запустіть кожен тест окремо один за іншим.
Підхід 2) Вручну змініть значення в тестовому сценарії та запустіть його кілька разів.
Підхід 3) Імпортуйте дані з аркуша Excel. Отримайте тестові дані з рядків Excel один за одним і виконайте сценарій.
У наведених трьох сценаріях перші два є трудомісткими та тривалими. Тому ідеально слідувати третьому підходу.
Таким чином, третій підхід є не що інше, як структура, керована даними.
Як створити фреймворк автоматизації на основі даних
Скажімо, ви хочете перевірити функціональність програми для входу.
Крок 1) Визначте тестові приклади
- Введіть правильні ім’я користувача та пароль – вхід успішний
- Введіть неправильне ім’я користувача та правильний пароль – Помилка входу
- Введіть правильне ім’я користувача та неправильний пароль – Помилка входу
Крок 2) Створіть докладні кроки тестування для вищезазначених 3 тестових випадків
Тестовий приклад № | Опис | Етапи тестування | Дані тесту | очікувані результати |
---|---|---|---|---|
1 | Перевірте логін на наявність дійсних облікових даних |
|
Ім'я користувача: дійсний пароль: дійсний | Успішний вхід |
2 | Перевірте логін на недійсні облікові дані |
|
Ім'я користувача: неправильний пароль: дійсний | Помилка входу |
3 | Перевірте логін на недійсні облікові дані |
|
Ім'я користувача: дійсний пароль: недійсний | Помилка входу |
Крок 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 значущими даними
- Використовуйте дані для керування динамічними твердженнями
- Тест як позитивний, так і негативний
- Перепрофілюйте функціональні тести на основі даних для безпеки та продуктивності
Переваги тестування на основі даних
Керовані даними пропонують багато переваг, деякі з них:
- Дозволяє тестувати програму з кількома наборами значень даних під час регресійного тестування
- Тестові дані та дані перевірки можуть бути організовані лише в одному файлі, і він відокремлений від логіки тестового випадку.
- На основі інструменту можна мати тестові сценарії в одному репозиторії. Це робить тексти легкими для розуміння, підтримки та керування ними.
- Дії та функції можна повторно використовувати в різних тестах.
- Деякі інструменти автоматично генерують тестові дані. Це корисно, коли необхідні великі обсяги випадкових тестових даних, що допомагає заощадити час.
- Тестування на основі даних може виконувати будь-яку фазу розробки. Тест на основі даних зазвичай об’єднується в один процес. Однак його можна використовувати в кількох тестових випадках.
- Дозволяє розробникам і тестувальникам чітко відокремлювати логіку своїх тестових випадків/сценаріїв від тестових даних.
- Одні й ті самі тестові приклади можна виконувати кілька разів, що допомагає зменшити тестовий приклад і сценарії.
- Будь-які зміни в тестовому сценарії не впливають на тестові дані
Недоліки тестування на основі даних
Деякі недоліки методу автоматизованого тестування на основі даних:
- Якість тесту залежить від навичок автоматизації команди впровадження
- Під час тестування великої кількості даних перевірка даних займає багато часу.
- Технічне обслуговування є великою проблемою, оскільки для тестування на основі даних потрібен великий обсяг кодування.
- Потрібні технічні навики високого рівня. Тестеру, можливо, доведеться вивчити абсолютно нову мову сценаріїв.
- Документів буде більше. Здебільшого пов’язані з інфраструктурою тестів керування сценаріями та результатами тестування.
- Для створення та підтримки файлів даних потрібен текстовий редактор, наприклад Блокнот.
Висновок
- Керований даними – це платформа автоматизації тестування, яка зберігає тестові дані у форматі таблиці або електронної таблиці.
- У системі автоматизації тестування на основі даних вхідні дані можуть зберігатися в одному або кількох джерелах даних, наприклад xls, XML, csv і бази даних.
- Створення індивідуального тесту для кожного набору даних — тривалий і трудомісткий процес. Структура тестування на основі даних вирішує цю проблему, зберігаючи дані окремо від функціональних тестів.
- У тестуванні на основі даних це ідеальний варіант використання реалістичної інформації
- Це дозволяє тестувати програму з кількома наборами значень даних під час Регресійне тестування
- Недоліком цього методу є те, що він залежить від навичок автоматизації команди впровадження