Як тестувальник, ви можете подумати, що "Розробка тестових кейсів є досить складною, тоді навіщо турбуватися про щось таке тривіальне, як дані тесту". Мета цього підручника - ознайомити вас із тестовими даними, їх значенням та надати практичні поради та підказки для швидкого створення тестових даних. Отже, почнемо!
Що таке дані тестування при тестуванні програмного забезпечення?
Тестові дані при тестуванні програмного забезпечення - це вхідні дані, що надаються програмній програмі під час виконання тесту. Він представляє дані, які впливають або впливають на виконання програмного забезпечення під час тестування. Дані тесту використовуються як для позитивного тестування, щоб перевірити, чи функції дають очікувані результати для заданих входів, так і для негативного тестування, щоб перевірити здатність програмного забезпечення обробляти незвичні, виняткові або несподівані входи.
Погано розроблені дані тестування можуть не перевірити всі можливі сценарії тестування, які можуть завадити якості програмного забезпечення.
Що таке генерація тестових даних? Чому дані тесту слід створювати перед виконанням тесту?
Всім відомо, що тестування - це процес, який виробляє і споживає великі обсяги даних. Дані, що використовуються при тестуванні, описують початкові умови тесту та представляють середовище, за допомогою якого тестер впливає на програмне забезпечення. Це найважливіша частина більшості функціональних тестів.
Залежно від середовища тестування, можливо, вам доведеться СТВОРИТИ дані тесту (Здебільшого) або, принаймні, визначити відповідні дані тесту для своїх тестів (чи дані тесту вже створені).
Зазвичай дані тесту створюються синхронно з тестом, для якого вони призначені.
Дані тесту можна генерувати -
- Вручну
- Масове копіювання даних із виробництва в середовище тестування
- Масова копія тестових даних із застарілих клієнтських систем
- Інструменти автоматизованого тестування даних
Зазвичай зразкові дані слід генерувати перед початком виконання тесту, оскільки в іншому випадку важко обробити управління тестовими даними. Оскільки у багатьох тестових середовищах створення тестових даних вимагає декількох попередніх кроків або дуже трудомістких конфігурацій тестового середовища. . Також якщо генерація тестових даних виконується, поки ви перебуваєте у фазі виконання тесту, ви можете перевищити термін тестування.
Нижче описано декілька типів тестування разом із деякими порадами щодо потреб їх даних у тестуванні.
Дані тесту для тестування білого ящика
У тестуванні White Box управління тестовими даними випливає із безпосереднього вивчення коду, що перевіряється. Дані тесту можна вибрати з урахуванням наступних речей:
- Бажано охопити якомога більше гілок; дані тестування можуть бути сформовані таким чином, що всі гілки у вихідному коді програми перевіряються принаймні один раз
- Тестування шляхів: усі шляхи у вихідному коді програми перевіряються принаймні один раз - можна зробити підготовку даних тесту, щоб охопити якомога більше випадків
- Негативне тестування API:
- Дані тестування можуть містити недійсні типи параметрів, що використовуються для виклику різних методів
- Дані тестування можуть складатися з недійсних комбінацій аргументів, які використовуються для виклику методів програми
Дані тесту для тестування продуктивності
Тестування продуктивності - це тип тестування, який проводиться для того, щоб визначити, наскільки швидко система реагує на певне навантаження. Метою цього типу тестування є не пошук помилок, а усунення вузьких місць. Важливим аспектом тестування продуктивності є те, що набір вибіркових даних повинен бути дуже близьким до "реальних" або "реальних" даних, які використовуються у виробництві. Виникає наступне запитання: „Добре, добре тестувати з реальними даними, але як мені отримати ці дані?“ Відповідь досить проста: серед людей, які знають найкраще, - клієнти . Вони можуть надати деякі дані, які вони вже мають, або, якщо у них немає наявного набору даних, вони можуть допомогти вам, давши відгук про те, як можуть виглядати дані в реальному світі. Якщо ви перебуваєте впроект тестування на технічне обслуговування, ви можете скопіювати дані з виробничого середовища в тестовий стенд. Хорошою практикою є анонімізація (скремблювання) конфіденційних даних клієнтів, таких як номер соціального страхування, номери кредитних карток, банківські реквізити тощо під час копіювання.
Тестові дані для перевірки безпеки
Тестування безпеки - це процес, який визначає, чи захищає інформаційна система дані від зловмисних намірів. Набір даних, який потрібно розробити для повного тестування програмного забезпечення, повинен охоплювати наступні теми:
- Конфіденційність: Вся інформація, надана клієнтами, зберігається в найсуворіших умовах та не передається стороннім сторонам. Як короткий приклад, якщо програма використовує SSL, ви можете розробити набір тестових даних, які підтверджують, що шифрування зроблено правильно.
- Цілісність: Визначте, чи надана системою інформація є правильною. Щоб створити відповідні тестові дані, ви можете почати з глибокого вивчення дизайну, коду, баз даних та файлових структур.
- Аутентифікація: представляє процес встановлення ідентифікації користувача. Дані тестування можуть бути розроблені як різні комбінації імен користувачів та паролів, і їх метою є перевірка того, чи доступ до програмної системи можуть отримати лише уповноважені особи.
- Авторизація: розповідає про права конкретного користувача. Дані тестування можуть містити різну комбінацію користувачів, ролей та операцій , щоб перевірити, чи зможуть виконувати певну операцію лише ті користувачі, які мають достатні привілеї.
Дані тесту для тестування чорної скриньки
У тестуванні Black Box код не видно тестувальнику. Ваші функціональні тести можуть мати дані тестів, які відповідають наступним критеріям -
- Немає даних : Перевірте відповідь системи, коли дані не подаються
- Дійсні дані : Перевірте відповідь системи, коли подано дійсні тестові дані
- Недійсні дані : Перевірте відповідь системи, коли подаються дані про тестування InValid
- Нелегальний формат даних : Перевірте відповідь системи, коли дані тесту в недійсному форматі
- Набір даних граничного стану: Тестові дані, що відповідають граничним умовам
- Набір даних розділу еквівалентності : Перевірте дані, що відповідають вашим розділам еквівалентності.
- Набір даних таблиці рішень: Тестові дані, що відповідають вашій стратегії тестування таблиці рішень
- Набір даних перевірки стану переходу: дані тесту, що відповідають вашій стратегії тестування стану переходу
- Дані тестування випадків використання: Тестові дані синхронізуються з вашими випадками використання.
Примітка : Залежно від програмного забезпечення, яке потрібно протестувати, ви можете використовувати деякі або всі з вищезазначених тестових даних
Інструменти автоматизованого тестування даних
Для того, щоб генерувати різні набори даних, ви можете використовувати гаму автоматизованих засобів тестування даних. Нижче наведено кілька прикладів таких інструментів:
Генератор даних тестових даних DTM - це повністю настроювана утиліта, яка генерує дані, таблиці (подання, процедури тощо) для тестування баз даних (тестування продуктивності, тестування якості, тестування навантаження або юзабіліті).
Datatect - це генератор даних SQL від Banner Software, генерує різноманітні реалістичні тестові дані у плоских файлах ASCII або безпосередньо генерує тестові дані для СУБД, включаючи Oracle, Sybase, SQL Server та Informix.
Висновок
На закінчення, добре розроблені дані тестування дозволяють виявити та виправити серйозні недоліки у функціональності. Вибір вибраних даних випробувань повинен бути переоцінений на кожній фазі багатофазного циклу розробки продукту. Отже, завжди стежте за цим.