Що таке тестові дані в тестуванні програмного забезпечення?

⚡ Розумний підсумок

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

  • 🗓️ Планувати заздалегідь: Створюйте тестові дані разом із тестовими випадками, щоб виконання ніколи не блокувалося відсутніми вхідними даними або налаштуваннями середовища.
  • 🎯 Охопіть кожен сценарій: Підготуйте окремі та чітко позначені набори даних для позитивних, негативних, граничних та еквівалентних розбиття.
  • 🛡️ Маска перед копіюванням: Зіставте набори даних про продуктивність з обсягом та формою виробництва, але анонімізуйте конфіденційні поля перед створенням будь-якої копії.
  • Автоматизуйте важку роботу: Використовуйте генератори або інструменти штучного інтелекту для масштабування реалістичних наборів даних, зменшення ручної роботи та уникнення дублювання.
  • 🔄 Оновлювати кожен випуск: Revпереглядати набори даних після змін схеми, нових функцій та оновлень нормативних актів, щоб старі дані не створювали хибних пропусків.

Тестові дані в тестуванні програмного забезпечення

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

Що таке тестові дані в тестуванні програмного забезпечення?

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

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

Тестові дані в тестуванні програмного забезпечення

Що таке генерація тестових даних і чому тестові дані слід створювати перед виконанням тесту?

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

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

Тестові дані можна генерувати чотирма поширеними способами:

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

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

У розділах нижче описано кілька типів тестування разом із пропозиціями щодо їхніх потреб у тестових даних.

Тестові дані для білого Box Тестування

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

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

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

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

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

Тестові дані для перевірки безпеки

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

  • Конфіденційність: Інформація від клієнтів зберігається в суворій конфіденційності та не передається стороннім особам. Якщо застосунок використовує SSL, розробіть дані, які підтверджують правильність шифрування.
  • Integrity: Інформація, що повертається системою, є правильною. Створіть дані, переглянувши дизайн, код, схеми бази даних та структури файлів.
  • Аутентифікація: процес встановлення особи користувача. Використовуйте різні комбінації імен користувачів та паролів, щоб переконатися, що доступ отримують лише уповноважені особи.
  • Авторизація: права, надані певному користувачеві. Поєднайте користувачів, ролі та операції, щоб підтвердити, що лише користувачі з достатніми правами можуть виконувати певну операцію.

Тестові дані для чорного Box Тестування

Чорним Box Тестування коду не видно тестувальнику. Функціональні тестові випадки повинні містити дані, що відповідають таким критеріям:

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

Примітка: Залежно від тестованої програми, ви можете використовувати деякі або всі вищезазначені категорії.

Інструменти автоматизованої генерації тестових даних

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

  • Дані тестування DTM Generator — настроювана утиліта, яка створює дані, таблиці, представлення та процедури для сценаріїв тестування баз даних, включаючи продуктивність, контроль якості, навантаження та зручність використання.
  • Datatect - ан SQL генератор даних від Banner Software, який створює реалістичні тестові дані у плоских ASCII-файлах або безпосередньо в системах RDBMS, таких як Oracle, Sybase, SQL Server і Informix.

Щоб переглянути оцінений, актуальний короткий список, див. 10 найкращих тестових даних Generator Інструменти.

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

Надійність даних тестів залежить від дисциплінованої прибиральниціpingДотримуйтесь цих правил, щоб підтримувати справність наборів даних у різних випусках:

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

Поширені запитання

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

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

Достатньо даних – це дані, які охоплюють кожен клас еквівалентності, межу та сценарій, зважений за ризиком. Сам по собі обсяг не дорівнює охопленню. Зіставте дані з тестовими випадками та припиніть додавання записів, коли прогалини в охопленні закриваються.

Тільки після маскування конфіденційних полів, таких як імена, номери облікових записів та інформація про стан здоров'я. Розкриті виробничі дані порушують такі правила, як GDPR та HIPAA, і створюють реальний ризик порушення безпеки, якщо тестове середовище буде скомпрометовано.

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

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

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

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

Підсумуйте цей пост за допомогою: