Цикл розробки програмного забезпечення сповнений проблем, оскільки організації стикаються не лише зі скороченням часу виходу на ринок, але й зі збільшенням складності додатків. Щоб гарантувати, що додатки залишаються стабільними та функціональними, від початкової розробки до запуску продукту й далі, організаціям необхідно використовувати різні типи тестування.
Звичайно, у міру того, як розробка стає складнішою, зростає й необхідне тестування. Важливим компонентом будь-якого успішного сценарію тестування є керування тестовими даними (TDM). Це дозволяє організаціям корпоративного рівня оптимізувати, автоматизувати та контролювати всі типи тестування, що використовуються, одночасно зменшуючи витрати та підвищуючи якість тестування.
Що таке керування тестовими даними (TDM) у тестуванні програмного забезпечення?
Управління тестовими даними — це процес створення, керування, впровадження та доставки тестових даних. Традиційно тестування розробки програмного забезпечення відбувалося децентралізовано, але TDM консолідує тестування в рамках однієї команди, групи або відділу.
Служби керування тестовими даними збирають дані, необхідні для автоматизованих тестів програмного забезпечення, включаючи дані з модульних, інтеграційних і системних тестів. Це передбачає отримання та зберігання відповідних і точних даних, необхідних для автоматизованих тестів, зменшуючи або усуваючи потребу в участі людини в процесі тестування (концепція, подібна до роботизована автоматизація процесів ).
Із зростанням популярності TDM він розширився, включивши генерацію синтетичних даних, маскування даних, піднабір, штучний інтелект тощо.
Зрештою, керування тестовими даними підвищує надійність і якість готового програмного продукту, що забезпечує чудовий досвід для кінцевого користувача. Крім того, аспект обфускації даних TDM допомагає організаціям дотримуватися всіх застосовних законів і норм щодо конфіденційності даних.
Хто використовує керування тестовими даними (TDM) у тестуванні програмного забезпечення?
Хоча відповідь «усі» може здатися спрощеною та широкою, правда полягає в тому, що тестуйте методи керування даними користь для всіх типів програмного забезпечення. Якщо тестування відбувається під час циклу розробки (а це має бути), процеси TDM підвищують точність, організованість і корисність результатів.
Оскільки будь-яка розробка програмного забезпечення вимагає тестування, TDM принесе користь практично будь-якому проекту. Тим не менш, деякі організації та програми практично зобов’язують використовувати стратегію керування тестовими даними .
Програми корпоративного рівня вимагають TDM через їх складні, багатогранні потреби в тестуванні. TDM дає переваги всім основним областям тестування, які є в розробці підприємства, включаючи функціональне, нефункціональне тестування, тестування продуктивності та автоматизації.
Крім того, процеси обфускації TDM роблять його використання необхідним для програм, які включають особисті або конфіденційні дані, включаючи будь-які сайти або програми, пов’язані з електронною комерцією, фінансами та охороною здоров’я.
Для яких типів тестування призначено керування даними?
Керування даними зосереджено на трьох широких категоріях тестування.
1. TDM для тестування продуктивності
Тестування продуктивності вимірює продуктивність програми за очікуваного робочого навантаження, оцінюючи її чуйність, стабільність і масштабованість. TDM дає змогу зосередити тестування на інфраструктурі та елементах, спрямованих на користувача, щоб досягти швидкої та надійної продуктивності.
Найкращі інструменти керування тестуванням допомагають збільшити кількість циклів оновлення та створення масових даних.
2. TDM для функціонального тестування
У той час як тестування продуктивності аналізує швидкість і стабільність програми, функціональне тестування визначає, чи працює програмне забезпечення відповідно до заздалегідь визначених вимог. По суті: чи програмне забезпечення робить те, що повинно? Служби керування тестовими даними допомагають контролювати якість основної програми, а також нові й оновлені функції.
TDM допомагає зменшити або запобігти низькому охопленню, обмеженням доступу, тривалим термінам отримання джерел даних, високій залежності та проблемам, пов’язаним із розміром середовища тестування.
3. TDM в автоматизованому тестуванні
Стратегія тестування даних для автоматизації та гіперавтоматізації процеси дозволяють безконтактні операції, а також підвищують точність за рахунок зменшення потенціалу людської помилки. Процеси керування тестовими даними використовуються в усіх типах інструментів автоматизації керування тестовими даними та в тому числі в тестуванні роботизована автоматизація процесів .
Стратегія тестових даних для автоматизації допомагає зменшити повільне створення зовнішніх даних, відсутність доступу до динамічних даних і неможливість доступу до середовища тестування.
Переваги керування тестовими даними
Стратегії TDM разом із інструментами автоматизації керування тестовими даними забезпечують численні переваги для організацій корпоративного рівня.
1. Покращує якість даних
Усі тестування у світі марні, якщо вони побудовані на неповних, нерелевантних або пошкоджених даних. TDM ідентифікує, керує та зберігає дані, необхідні для автоматизованого тестування, щоб ви могли переконатися, що вони належні та повні. Крім того, припиняючи передачу даних між кількома тестерами, пошкодження даних мінімізується, якщо не усувається.
2. Розробляє реалістичні дані
Результати тестування будуть непродуктивними, якщо дані тестування не відповідають виробничим даним. TDM дозволяє організаціям ідентифікувати та зберігати тестові дані, які віддзеркалюють дані, знайдені на робочих серверах, гарантуючи, що результати тестів відображають реальні функції програмного забезпечення. Називаються «реалістичними даними», вони схожі на виробничі дані за форматом, кількістю та іншими факторами.
3. Покращує доступ до даних
Автоматизоване тестування програмного забезпечення працює ефективно лише тоді, коли дані доступні в заздалегідь визначений час. Наприклад, інструментам тестування сховищ даних може знадобитися доступ до даних у певний час для автентифікації. Оскільки TDM зосереджується на зберіганні даних, відповідні дані завжди готові, коли цього вимагає програмне забезпечення для автоматизованого тестування та графік виробництва.
4. Забезпечує відповідність даних
TDM допомагає організаціям підтримувати відповідність усім відповідним урядовим та іншим нормам, таким як HIPPA , CCPA та GDPR ЄС. Управління тестовими даними GDPR та інші подібні норми вимагають виробничих даних, які можуть включати імена користувачів, дані про місцезнаходження, особисту інформацію тощо – дані, які потрібно замаскувати перед тестуванням.
Найкращі інструменти керування тестовими даними дозволяють організаціям автоматично анонімізувати дані як для внутрішнього, так і для зовнішнього використання, щоб забезпечити відповідність.
Проблеми та підводні камені керування тестовими даними
Хоча керування тестовими даними забезпечує життєво важливі переваги для розробки програмного забезпечення на рівні підприємства, воно також має потенційні підводні камені. Розуміння викликів TDM дозволяє організаціям передбачити та мінімізувати їх вплив.
1. Виробниче клонування є повільним і дорогим
Щоб отримати дані тестування, більшість організацій збирають дані з робочих серверів, а потім анонімізують їх. Однак збір виробничих даних може зайняти багато часу, особливо на пізній стадії процесу розробки, коли ви маєте справу з великою кількістю коду.
Після клонування даних вам потрібно десь їх зберігати. Витрати на інфраструктуру та зберігання можуть швидко зрости. Ви можете зменшити ці витрати за допомогою нарізки даних. Замість того, щоб клонувати всі виробничі дані, команда вирізає менший репрезентативний «зріз» даних.
2. Процеси обфускації додають вартості та ускладнюють
Як описано раніше, дані користувачів суворо регулюються, навіть для внутрішнього тестування, і вимагають анонімності. На жаль, процес обфускації даних збільшує складність і коштує процес розробки.
Хоча швидкість, точність і економічна ефективність обфускації покращуються за допомогою автоматизованих інструментів тестування, крива навчання для відповідних команд все одно існуватиме.
Основні ознаки / причини того, що ваша організація потребує керування тестовими даними
У той час як уся розробка програмного забезпечення виграє від керування тестовими даними, організації не завжди віддають пріоритет реалізації. Наступні ознаки вказують на те, що організація побачить майже негайні переваги від впровадження TDM:
- Розмір даних збільшується «по всіх напрямках», включаючи збільшення розміру набору даних, загальної кількості наборів даних, екземплярів бази даних і систем, що передують.
- Значна кількість робочого часу витрачається на підготовку даних для тестування.
- Дані про виробництво значно перевершують кількість доступних даних тестування.
- Функції програми працюють із помилками.
- Команди тестування децентралізовані або повинні покладатися на дані з центрального джерела.
- Команди тестування перевтомлені та не в змозі встигати за потребами тестування.
- Вихідні дані генерують переважну більшість даних тестування.
- Набори даних тестування не можна повторно використовувати або легко скопіювати.
Керування тестовими даними допомагає зменшити, виправити та запобігти цим проблемам, зокрема.
Типи даних у тестуванні програмного забезпечення
Програмні програми генерують неймовірні обсяги даних під час розробки та після випуску. The Процес керування тестовими даними зазвичай зосереджується на таких типах даних:
1. Виробничі дані
Виробничі дані генеруються реальними людьми за допомогою вашої програми. Залежно від розміру вашої бази користувачів і складності вашої програми обсяг виробництва може стати дуже великим і дуже швидко, тому його зазвичай поділяють на підмножини на основі потреб тестування.
Зауважте, що виробничі дані часто містять конфіденційну інформацію щодо питань відповідності , як-от медичні та фінансові дані, які потребують маскування.
2. Синтетичні дані
Синтетичні дані створюються вручну або за допомогою автоматизованих засобів тестування. Він максимально точно моделює реальну поведінку користувача.
Хоча це обходить необхідність розмивання даних, синтетичні дані мають обмежену корисність. Він в основному використовується для навантажувального тестування нових функцій.
Точне створення синтетичних даних вимагає високого рівня досвіду, хоча автоматизований інструмент керування тестовими даними полегшує це.
3. Дійсні дані
Достовірні дані — це термін, який використовується для опису даних, створених, коли не відбувається неочікуваних помилок або інцидентів. Формат даних, значення та кількість відповідають очікуванням перед тестуванням. Достовірні дані перевіряють так званий «щасливий шлях», тобто коли подорож користувача йде за очікуваним курсом.
4. Недійсні дані
Недійсні дані походять від «нещасливого шляху». Це дані з несподіваних сценаріїв і несправностей. Недійсні дані також використовуються як частина тестування хаосу, яке перевіряє межі програми в умовах потоку поганих даних.
Що робить «дані хорошої якості» для цілей тестування програмного забезпечення?
Тестування з неповними або невідповідними даними часто гірше, ніж повна відмова від тестування, оскільки зроблені висновки та вжиті подальші дії будуть неправильними. Але як організації визначають «хороші» дані для тестування програмного забезпечення? Знайдіть ці три характеристики якості даних:
1. Точність
Хороші дані точно відображають процедури в реальному житті. Якщо використовуються замасковані робочі дані, вони мають безпосередньо стосуватися області, яку ви тестуєте – це не може бути випадковий зразок поведінки користувача. Синтетичні дані мають точно нагадувати реальну поведінку користувача, включаючи їх непередбачуваний характер.
2. Обґрунтованість
Хороші дані відповідають меті вашого сценарію тестування. Наприклад, більшість онлайн-покупців не купують 200 одиниць товару, тому тривале тестування поведінки системи в цьому сценарії є нецільовим використанням ресурсів. Однак ви хочете перевірити ситуації, коли люди купують десять товарів.
3. Винятки
Дані мають охоплювати проблеми, які ймовірно траплятимуться, але нечасто. Сценарій, коли клієнт оплачує товар за допомогою коду купона, є типовим прикладом «виняткових даних» на арені електронної комерції.
Які запитання слід поставити перед і під час планування керування тестуванням даних?
Успіх тестування значною мірою визначається на етапі планування. На початкових етапах команди повинні поставити такі запитання.
1. Які дані нам потрібні?
Визначення того, які дані потрібно зібрати, складається з двох частин. По-перше, це має стосуватися сценарію тестування. Воно також має бути актуальним для бізнесу, щоб тестування залишалося економічно ефективним і ефективним.
2. Скільки даних нам потрібно?
Забагато даних, наприклад копіювання всіх виробничих даних, коштує дорого, забирає багато часу та надто ускладнює процес. З іншого боку, якщо розмір вибірки занадто малий, результати будуть неточними.
3. Коли нам потрібні дані?
Чи планується тестування, чи дані мають бути доступні на вимогу? Команди повинні узгодити всі графіки тестування та цикли оновлення перед початком тестування.
4. Який тип тестування потрібен?
Автоматизація тестування програмного забезпечення вимагає стабільних, передбачуваних наборів даних. Якщо дані, необхідні для вашого тесту, значно відрізняються, ручне тестування може дати кращі результати.
Кроки в управлінні тестуванням даних
Хоча специфіка буде різною, розробники програмного забезпечення корпоративного рівня, як правило, дотримуватимуться цих кроків під час впровадження стратегії TDM.
1. Створення даних – методи генерації даних для тестування тощо.
Щоб генерувати ефективні дані, вам потрібно враховувати їх точність і релевантність. Чи повторює він реалістичні сценарії? Крім того, вам потрібно створити дані про винятки, які охоплюють сценарії поза типовою діяльністю користувача.
2. Обфускація даних
Вам потрібно буде замаскувати всі виробничі дані, щоб залишатися в межах нормативної відповідності. Найпоширеніші типи обфускації включають анаграму, шифрування, заміну та обнулення. Хоча обфускація вручну можлива в обмежених можливостях, маскування на рівні підприємства вимагає автоматизованих інструментів.
3. Нарізка даних
Копіювання всіх виробничих даних часто є марною тратою ресурсів і часу. Завдяки нарізці даних збирається керований набір відповідних даних, що підвищує швидкість і економічну ефективність тестування.
4. Забезпечення
Ініціалізація відбувається після отримання та маскування даних. Під час підготовки дані переміщуються в середовище тестування. Автоматизовані інструменти надають можливість вводити тестові набори в тестові середовища за допомогою інтеграції CI/CD з можливістю ручного налаштування.
5. Інтеграції
Тестові дані з багатьох джерел у ІТ-екосистемі мають бути інтегровані в конвеєр CI/CD (конвеєр CI/CD — це встановлений процес для зміни коду). Досягнення інтеграції вимагає ранньої ідентифікації всіх каналів даних.
6. Керування версіями
Створення версій тестових даних допомагає командам повторювати тести, щоб оцінити результати. Крім того, версії дозволяють контролювати точні зміни параметрів тестування.
Характеристики та властивості керування тестовими даними
TDM адаптується до постійно мінливих потреб будь-якого проекту розробки програмного забезпечення. Однак, незалежно від будь-яких коригувань, необхідних для організації, процес TDM також відображатиме такі характеристики:
1. Покращена якість і точність даних
TDM підвищує точність і реалістичність ваших даних тестування, щоб забезпечити справді репрезентативну вибірку поведінки користувача. Усі процеси зрештою ведуть до однієї мети: надійного та стабільного досвіду користувача.
2. Відповідність нормативним вимогам
Тестове програмне забезпечення для керування даними гарантує, що всі виробничі дані достатньо замасковані перед тестуванням, зберігаючи у вашій організації всі правила конфіденційності. Дотримуючись вимог, ви уникнете юридичних наслідків, зокрема штрафів і негативних проблем зі зв’язками з громадськістю.
3. Покращена якість продукції
Забезпечення якості – це трудомісткий і дорогий процес, але він також необхідний для запуску функціональних, зручних програм. Процеси TDM забезпечують швидшу ідентифікацію помилок, покращену безпеку та більш універсальне тестування порівняно з традиційним ізольованим методом.
Як запровадити керування тестовими даними
Програмний продукт вашої організації вимагатиме різноманітних особливостей тестування, але базова реалізація концепцій керування тестовими даними включає наступні п’ять кроків:
Крок 1: Планування
Почніть із формування групи тестування даних, яка потім визначить вимоги до керування тестовими даними та документацію, а також розробить комплексний план тестування.
Крок 2: Аналіз
На етапі аналізу вимоги до даних для команд консолідуються. Також реалізовано резервне копіювання, зберігання та інші логістичні питання.
Крок 3: Дизайн
Етап проектування є завершальним етапом планування перед початком тестування. Команди повинні визначити всі джерела даних, а також завершити плани комунікації, документації та тестування.
Крок 4: Створення
Етап створення — це місце, де «гума зустрічається з дорогою». Плани виконуються. По-перше, відбувається маскування даних. Далі виконується резервне копіювання даних. Нарешті запускається тестування.
Крок 5: Технічне обслуговування
Після впровадження тестового управління даними, компанії потрібно буде підтримувати процеси протягом життєвого циклу проекту. Технічне обслуговування TDM включає усунення несправностей, оновлення наявних тестових даних і додавання нових типів даних.
Тестові стратегії управління даними
Оскільки TDM стосується багатьох різних елементів процесу розробки, він може швидко ускладнитися. Наступні стратегії дозволяють вам залишатися зосередженими та постійно вдосконалювати свою організацію тестовий підхід до управління даними .
Стратегія 1: Покращення доставки даних
Прагніть постійно скорочувати час доставки тестових даних, використовуючи служби тестування програмного забезпечення, такі як ZAPTEST. Інструменти з можливостями DevOps оптимізують тестування за допомогою легкого підходу.
За допомогою ZAPTEST користувачі можуть вибрати Sequential; Випадкові або унікальні тестові дані з використанням автоматичної або певної кількості рядків. Вони можуть визначати діапазон даних і політики «поза значеннями», що дозволяє створювати реалістичні сценарії тестування на основі даних для функціонального (інтерфейс користувача та API), тестування продуктивності та RPA.
Крім того, програмне забезпечення для автоматизованого тестування може замінити ІТ-системи продажу квитків системою самообслуговування для користувачів.
Стратегія 2: Зменшення витрат на інфраструктуру
Під час розробки обсяг тестових даних зростає, що призводить до збільшення використання ресурсів інфраструктури. Інструменти TDM можуть допомогти мінімізувати пов’язані з цим витрати на інфраструктуру за рахунок консолідації даних, архівування та процесу під назвою закладки, що дозволяє краще використовувати простір середовища тестування.
Стратегія 3: покращення якості даних
Рішення для керування тестовими даними постійно покращують характеристики якості даних, зосереджуючись на трьох ключових елементах: вік даних, точність і розмір.
Як покращити керування тестовими даними
TDM не є статичним процесом. Після початкового налаштування ви захочете прагнути до постійного вдосконалення, дотримуючись цих інструкцій перевірити найкращі практики керування даними .
1. Ізолювати дані
Виконуючи тести в контрольованому середовищі, ви можете виділити дані, щоб краще порівняти очікуваний результат із фактичним. Ізоляція даних також дозволяє проводити паралельне тестування.
2. Мінімізуйте зберігання бази даних
Зберігання тестових даних у базах даних зменшує швидкість автоматичного тестування, а також ускладнює ізоляцію даних. Автоматизовані інструменти, а також такі методи, як нарізка даних, допомагають зменшити необхідний обсяг зберігання бази даних.
3. Зосередьтеся на модульних тестах
Дотримуйтеся вказівок, встановлених пірамідою автоматизації тестування, який рекомендує робити модульні тести приблизно 50% вашого тестування. Модульні тести виконуються незалежно від зовнішніх даних, коштують набагато дешевше, ніж інші типи тестування, і відносно швидко реалізуються.
Як виміряти Управління тестовими даними
Наступні показники надають важливу інформацію про ефективність ваших стратегій TDM.
1. Чи достатньо тестових даних?
Ви можете вимірювати доступність тестових даних, відстежуючи час, витрачений на керування даними для використання в тестуванні. Якщо доступних даних недостатньо, час розробки сповільнюється, і розробники почуватимуться обмеженими.
2. Чи доступні тестові дані для автоматизованого тестування?
Автоматизовані процеси тестування вимагають даних на вимогу. Відстежуйте відсоток доступних наборів даних, а також частоту доступу до них і частоту їх оновлення.
3. Чи обмежені автоматизовані тести даними тестування?
Скільки автоматизованих тестів можна запустити з вашими поточними тестовими даними? Якщо вам потрібно виконати більше тестів, ніж дозволяють ваші дані, вам потрібно буде збирати дані тестів частіше.
Найпростіший і найточніший спосіб отримати ці вимірювання – це програмне забезпечення для керування тестовими даними .
Проблеми конфіденційності та як цьому запобігти
Хоча керування тестовими даними виникло як метод збору та аналізу даних, з часом воно стало настільки ж важливим для запобігання різноманітним проблемам конфіденційності.
1. Регулювання даних
TDM гарантує, що ваша компанія дотримується CCPA, HIPAA, GDPR та всіх інших відповідних норм щодо конфіденційності даних. Відмова від належного маскування даних під час тестування може призвести до значних фінансових і навіть потенційно кримінальних санкцій.
2. Реакція споживача
Порушення даних може завдати суттєвої шкоди іміджу компанії, оскільки користувачі почнуть неохоче використовувати програму, схильну до витоків. Впровадження тестового керування даними допомагає здобути довіру користувачів, запобігаючи витокам і запевняючи потенційних користувачів, що їхні дані зберігатимуться в безпеці.
Висновок
Потреба в тестуванні при розробці програмного забезпечення ставатиме все більш необхідною та складнішою. Для оптимізації процесів розробки, зберігаючи контроль якості, підприємствам потрібно буде використовувати програмне забезпечення для керування тестовими даними, зокрема інструменти для керування тестами, такі як створені ZAPTEST .
Найкращі інструменти керування тестовими даними забезпечують всебічне, адаптивне створення тестових даних і керування ними, що дозволяє створювати програмне забезпечення найвищої якості з більшою функціональністю, що надається швидше, ніж будь-коли раніше.
поширені запитання
Ось короткі відповіді на поширені запитання про керування тестовими даними під час тестування програмного забезпечення.
Що таке керування тестовими даними?
Управління тестовими даними — це створення, керування та аналіз даних, необхідних для інструментів автоматизованого тестування сховищ даних. Процеси зосереджені на виявленні високоякісних даних, що стосуються конкретних параметрів тестування, їх маскуванні та доставці відповідним командам.
Найкращі інструменти керування тестовими даними автоматизують багато процесів, наприклад збір, обфускацію та зберігання даних.
Що таке тестові дані в тестуванні програмного забезпечення?
Значна частина даних, які використовуються під час тестування програмного забезпечення, — це робочі дані, створені реальними користувачами. Відповідно до правил конфіденційності виробничі дані потребують маскування перед використанням у тестуванні.
Дані тестування програмного забезпечення також можуть бути синтетичними, що означає, що вони створені штучно, щоб якомога точніше відтворити поведінку реальних користувачів. Його часто використовують для тестування нових функцій або оновлень перед їх запуском.