test data management concept
В останньому уроці ми зосередилися на як підготувати випробувальний стенд для мінімізації дефектів тестового середовища . На продовження того самого підручника сьогодні ми дізнаємось як налаштувати та підтримувати тестове середовище та важливоТест управління данимитехніки.
Процес налаштування тестового середовища
Найважливішим фактором для тестового середовища є його тиражування якомога ближче до середовища кінцевого користувача. Як правило, від кінцевих користувачів не очікується, що вони самостійно виконують будь-яку конфігурацію чи інсталяцію, оскільки їм постачається повний продукт або система. Отже, за за цим визначенням, навіть тестовим командам не потрібно явно виконувати такі конфігурації.
Якщо будь-які подібні конфігурації необхідні виключно для цілей тестування (але будуть налаштовані для кінцевих користувачів), тоді адміністратори повинні бути ідентифіковані. Ті адміністратори, які налаштовують середовище розробки, повинні бути тими самими людьми, які налаштовують тестове середовище.
Якщо команда розробників сама бере на себе ініціативу при встановленні / конфігурації, вони повинні допомогти зробити те саме навіть у тестовому середовищі.
Наприклад, якщо вам потрібно протестувати додаток (з відповідним проміжним програмним забезпеченням, яке потрібно встановити та налаштувати) в системі на різних платформах ОС тощо - найкращий спосіб вирішити це - використовувати віртуалізація або хмарні середовища .
Майте головну систему, де всі програми та необхідне проміжне програмне забезпечення правильно встановлені та налаштовані. Потім зробіть цю систему головним зображенням, захопивши її, і клонуйте кілька екземплярів із цього самого зображення таким чином, щоб кожен користувач відчував, що у нього є виділена система з тестованою програмою.
Нижче наведено наочне зображення того, що передбачає процес тестового середовища:
Процес налаштування тестового середовища
Що ви дізнаєтесь:
Обслуговування тестового середовища
Стільки сказаного про підготовку тестового середовища, хоч і складних, це, безсумнівно, більше, ніж підстава для необхідності обслуговування або стандартизації тестового середовища. Багато разів тестер втрачає час тестування через проблеми з навколишнім середовищем або налаштуванням.
За умови швидкого збільшення операційних систем та набору апаратного та програмного забезпечення навколишнє середовище має мати майже динамічний характер, щоб задовольнити потреби. Тестові групи можуть гарантувати, що вони постачають високоякісний продукт із хорошим процесом управління тестами, і це допоможе оптимально використовувати ресурси, які є обмежено доступними.
Ключові вказівки для забезпечення ефективного обслуговування тестового середовища
Як тестові середовища, більшість разів містять неоднорідні платформи та стеки, нижче представлені деякі ключові вказівки для забезпечення ефективного обслуговування тестового середовища.
# 1) Ефективне використання та розподіл навколишнього середовища:
Як уже зазначалося раніше, однією з ключових проблем підготовки середовища для тестування є те, що багатьом командам або людям потрібно використовувати однаковий набір ресурсів для своїх цілей тестування. Отже, слід розробити відповідний механізм спільного використання, який відповідає потребам усіх команд та людей, не зволікаючи з графіками.
Цього можна досягти, підтримуючи сховище або інформаційне посилання, де всі дані, що стосуються:
- хто використовує довкілля,
- коли середовище вільне для використання і
- як розподіл часу використання середовища вводиться точно.
Попередньо визначаючи, де велика потреба у ресурсах на відміну від їх обмеженої доступності, велика кількість хаосу автоматично зникає.
Другим аспектом цього є перегляд потреб команд у ресурсах для кожного тестовий цикл і шукайте, які ресурси використовуються не дуже сильно. Проаналізуйте, чи можна ці конкретні ресурси замінити новими ресурсами або системами, які можуть знадобитися.
# 2) Перевірка осудності:
Деякі вимоги до тесту потребують всебічного налаштування тесту або налаштування, яке включає складні кроки, які надзвичайно потребують часу. Це особливо стосується під час наскрізне тестування який включає два або більше компонентів для спільної роботи. Отже, одне і те саме середовище тестування може знадобитися повторно використовувати кількома командами.
У таких випадках, добре розуміючи все середовище в цілому, порівнюючи, які тести проводяться різними групами, складеться обґрунтована картина, яка допоможе забезпечити ці конкретні ресурси відповідними командами.
Враховуючи вищезазначені фактори, можна провести базове тестування на стан здоров’я, яке допоможе прискорити тестування для окремих команд або негайно насторожить їх, якщо навколишнє середовище має зазнати певних змін чи виправлень в результаті цих перевірок стану санітарного стану.
# 3) Відстеження будь-яких відмов:
Як і кожна команда, яка володіє тестовим середовищем, має свої, організація має всі можливі тестові середовища, що підтримуються глобальною командою підтримки.
Крім того, подібно до того, як команди, що володіють своїм тестовим середовищем, мають власні простої на випадок будь-якого оновлення мікропрограми / програмного забезпечення, глобальні команди також повинні переконатися, що всі середовища дотримуються найновіших стандартів, які можуть включати або відключення електроенергії, або мережі.
Отже, ті, хто підтримує тестове середовище, повинні стежити за будь-якими такими відключеннями, які можуть статися, і заздалегідь інформувати тестову групу, щоб відповідно спланувати свою роботу.
# 4) Віртуалізуйте, де це можливо:
Це знову дуже актуально там, де потрібно проводити тестування з використанням середовища та гостра потреба в оптимізації ресурсів. У такі часи використання віртуального середовища, такого як хмара, для тестування є відповіддю.
При використанні такого середовища все, що потрібно зробити тестувальникам, полягає в тому, щоб забезпечити миттєвий пошук, і цей екземпляр після підготовки сформує незалежне тестове середовище або тестове середовище, що містить усі різноманітні ресурси, такі як виділена ОС, база даних, проміжне програмне забезпечення, засоби автоматизації. тощо, необхідні для тестування.
Після завершення тестування ці екземпляри можуть бути знищені, що значно зменшить витрати для організації. Хмарні середовища особливо корисні для тестування функціональної верифікації та автоматизації.
# 5) Регресійне тестування / автоматизація:
різниця між сценарієм тесту та тестовим кейсом
Як і коли розробляються нові функції та функції, регресійні тести потрібно виконувати ці функції для кожного циклу випуску. Отже, хоча на задній панелі тестові середовища для регресійного тестування, здається, працюють на одній і тій же установці тесту з однаковими даними, насправді вони постійно розвиваються у кожному випуску відповідно до функцій, що реалізуються.
Кожен цикл випуску продукту мав би один або кілька етапів регресійного тестування. Таким чином, встановлення регресійних тестових середовищ для кожного циклу випуску продукції та їх повторне використання в циклі, безумовно, відображало б стабільність тестового середовища.
Розробка систем автоматизації та використання автоматизації для регресивних тестів також допомагає підвищити ефективність тестового середовища, оскільки автоматизація припустить, що середовище стабільне, а дефекти, що виникають, суто орієнтовані на функції / код.
# 6) Загальне управління:
Коли виникають деякі проблеми з апаратним або програмним забезпеченням тестового середовища, ці проблеми повинні бути спрямовані на потрібних людей, щоб забезпечити виправлення, якщо не можуть бути виправлені внутрішньо тими, хто обслуговує лабораторію.
Наприклад, якщо будь-яке тестування призводить до дефекту, який включає обмеження в мікропрограмі або програмному забезпеченні, що використовується в поточному середовищі, це, як правило, не може бути виправлене виключно тими, хто відповідає за обслуговування навколишнього середовища.
Отже, споживача (який у цьому випадку є випробувачем) потрібно попросити подати відповідні запити на обслуговування. Вони повинні бути спрямовані до відповідного постачальника або команди, і з ними слід регулярно проводити координацію, щоб переконатися, що наступна версія вирішує конкретну проблему.
Іншим аспектом управління буде надання періодичних детальних звітів про навколишнє середовище керівництву або зацікавленим сторонам, що допомагає забезпечити прозорість та формує хороший грунт для будь-якого аналізу.
Підготовка даних тесту
Давайте зараз поглянемо на останню частину Створення випробувального стенду - що включає налаштування даних тесту . Якщо говорити про таку велику порцію про тестове середовище, за допомогою даних тесту можна виміряти справжню суть тестового середовища, його надійність та ефективність. За визначенням, тестові дані - це будь-який тип вхідних даних для програмного коду, що тестується.
Незважаючи на те, що ми витрачаємо досить багато часу на розробку тестових кейсів, причина тестування даних є важливою тому, що вона забезпечує повне охоплення тестуванням для всіх видів сценаріїв, тим самим покращуючи якість. Там можуть бути деякі дані тесту, які потрібні для будь-якого щасливого або позитивного тестування шляху.
Деякі інші дані можуть бути розроблені для тестування на помилки чи негативи, що дуже допомагає виявити ефективність програми, коли вона потрапляє в ненормальні ситуації.
Тестові дані зазвичай створюються до початку виконання тексту, оскільки кожне тестове середовище має свій власний набір складностей, або підготовка самих даних може бути тривалим процесом. Тож загалом тестовими джерелами даних можуть бути внутрішня команда розробників або кінцеві користувачі, що споживають код або функцію.
Наприклад,Тестування функцій
Давайте візьмемо приклад, коли вам потрібно провести функціональне тестування або тестування чорної скриньки. Тут мета полягає в тому, щоб код повинен функціонально відповідати зазначеним вимогам.
Тож у таких випадках - підготовка тестових кейсів, як правило, повинна охоплювати такі типи даних:
- Позитивні дані про шлях: Якщо в якості посилання використовується документ випадку використання, це ці дані, як правило, синхронізовані із виконанням сценаріїв позитивного шляху.
- Дані негативного шляху: Це дані, які, як правило, вважаються 'недійсними' щодо правильної функціональної роботи коду.
- Нульові дані: Не надавати даних, коли програма чи код очікують цих даних.
- Помилкові дані: Визначення продуктивності коду, коли дані подаються у незаконному форматі.
- Дані граничних умов: Перевірте дані, які надходять з індексу або масиву, щоб визначити, як працює код.
Дані тестів відіграють ключову роль у визначенні того, де продукт або функція можуть повністю зламатися. Завжди практикуйте опитування та перевірку типу даних, що надходять у тестове середовище на різних етапах тестування.
Тест управління даними
Коли дані тестів відіграють таку важливу роль у забезпеченні якості продукту, є розумним сказати, що його управління та впорядкування також відіграють не менш важливу роль у забезпеченні якості будь-якого товару, який повинен бути переданий споживачам.
Потреба в управлінні тестовими даними та найкращі практики:
# 1) Велика кількість організацій швидко змінюються бізнес-цілі щоб задовольнити потреби кінцевого споживача, а отже, зайве згадувати, що відповідні дані тесту мають важливе значення для визначення якості тестування. Це включатиме встановлення точного виду даних для відповідних тестових середовищ та моніторинг поведінкових моделей.
Як уже обговорювалося, велика частина часу групи тестування витрачається на планування даних тестування та пов'язаних із цим завдань. Багато разів тестування будь-якої функціональності, як правило, серйозно гальмується через відсутність відповідних тестових даних, що представляє критичну проблему щодо повного охоплення тестуванням.
# два) Також іноді для певних вимог до тестування дані тесту потрібно постійно оновлювати . Це саме по собі спричиняє велику затримку циклу через постійну переробку, що також збільшує вартість програми, що надходить на ринок.
У деякі інші випадки, якщо товар, що відвантажується, має участь у різних підрозділах робочих груп у великій організації, створення та оновлення тестових даних вимагає складного рівня координації між цими робочими групами.
# 3) Незважаючи на те, що тестові команди повинні створювати всі види даних, які є можливими для забезпечення адекватного тестування, організації також повинні враховувати, що це означатиме, що всі різні типи даних повинні зберігатися в якомусь сховищі.
Хоча наявність сховища - хороша практика, зберігання надмірних та небажані дані не лише значно збільшить простір для зберігання цих великих шматків даних, але і зробить все більш складним отримання відповідних даних для відповідного тестування, якщо немає технічного обслуговування версій та архівування цього сховища.
Більшість організацій, як правило, стикаються з цими загальними проблемами щодо даних тестів. Отже, мають бути певні стратегії управління, які потрібно запровадити, щоб мінімізувати ступінь цих викликів.
Нижче наведено декілька запропонованих методологій управління даними тестування та дотримання їх відповідності потребам тестування. Наведені нижче практики є дуже базовими та загальними, що зазвичай працює для більшості організацій. Як це прийнято, це виключно на розсуд відповідних організацій.
Тестування стратегій управління даними
# 1) Аналіз даних
Як правило, тестові дані будуються на основі тестових випадків, які потрібно виконати. Наприклад, у команді тестування системи, наскрізний сценарій тесту необхідно визначити, на основі чого розроблені дані тесту. Це може задіяти одну або кілька додатків для роботи.
Скажімо, у продукті, який здійснює управління навантаженням - він включає програму контролера управління, проміжне програмне забезпечення та додатки баз даних, які функціонують у взаємозв'язку між собою. Необхідні дані тесту для того самого можуть бути розкидані. Для забезпечення ефективного управління необхідно провести ретельний аналіз усіх різних видів даних, які можуть знадобитися.
# 2) Налаштування даних для відображення виробничого середовища
Як правило, це продовження попереднього кроку і дозволяє зрозуміти, яким буде кінцевий користувач чи виробничий сценарій, і які дані потрібні для цього. Використовуйте ці дані та порівнюйте ці дані з даними, які наразі існують у поточному тестовому середовищі. На основі цього, можливо, доведеться створити або змінити нові дані.
# 3) Визначення очищення даних тесту
Виходячи з вимоги тестування в поточному циклі випуску (де цикл випуску може охоплюватися протягом тривалого часу), можливо, доведеться змінити або створити дані тесту, як зазначено у вищезазначеному пункті. Ці дані тесту, хоча і не є безпосередньо актуальними, можуть знадобитися пізніше. Отже, повинен бути сформульований чіткий процес визначення, коли дані тесту можна очистити.
# 4) Визначте конфіденційні дані та захистіть їх
Багато разів для належного тестування програм може знадобитися велика кількість дуже конфіденційних даних. Наприклад, хмарне тестове середовище є популярним вибором, оскільки воно забезпечує тестування на замовлення різних продуктів.
Однак щось настільки базове, як гарантування конфіденційності користувачів у хмарі, викликає занепокоєння. Тож особливо у випадках, коли нам потрібно буде відтворити середовище користувача, повинен бути визначений механізм захисту конфіденційних даних. Механізм значною мірою визначається обсягом використовуваних даних тестів.
# 5) Автоматизація
Подібно до того, як ми застосовуємо автоматизацію для повторюваних тестів або для проведення одних і тих же тестів з різними типами даних, ми також можемо автоматизувати створення тестових даних. Це допомогло б виявити будь-які помилки, які можуть виникнути щодо даних під час тестування. Можливий спосіб зробити це шляхом порівняння результатів, отриманих набором даних із послідовних тестових запусків. Далі автоматизуйте цей процес порівняння.
# 6) Ефективне оновлення даних за допомогою центрального сховища
Це на сьогоднішній день найважливіша методологія і становить серце впровадження управління даними. Усі вищезазначені пункти, особливо щодо налаштування даних, очищення даних, прямо чи опосередковано пов'язані з цим.
Багато зусиль для створення тестових даних можна заощадити, підтримуючи центральне сховище, яке містить усі види даних, які можуть знадобитися для різних видів тестування. Як це робиться? У послідовних циклах тестування для нового тестування або модифікованого тестування перевіряйте наявність даних у сховищі. Якщо таких даних немає, спочатку вкажіть ці дані у тестовому середовищі.
Далі це можна направити до цього сховища для подальшого використання. Тепер для послідовних циклів випуску команда випробувачів може використовувати всі ці підмножини цих даних. Чи не очевидна перевага? Залежно від наборів даних, які часто використовуються, застарілі дані можна легко усунути і, отже, забезпечити постійне присутність правильних даних, зменшуючи тим самим витрати на зберігання цих непотрібних даних.
По-друге, ви також можете зберегти кілька версій цього сховища або переглянути його за необхідності. Наявність різних версій сховища може суттєво допомогти при регресійному тестуванні визначити, які зміни даних можуть призвести до поломки коду.
Висновок
Тестове середовище має бути першочерговим у кожній тестовій групі. Кожен цикл випуску принесе цілу низку нових викликів для боротьби з ненадійним та незапланованим тестовим середовищем.
В якості революційного заходу зараз багато організацій застосовують такі стратегії, як формування спеціальних команд з обслуговування тестового середовища, які встановлюють певні рамки для ефективного обслуговування тестових середовищ, щоб забезпечити більш плавні цикли випуску.
Покращене тестування - це лише очевидний ефект від впорядкування управління тестовими даними. Ключова суть цього полягає в тому, що забезпечує економічно ефективне рішення для організацій, не роблячи при цьому жодних компромісів щодо надійності продукту.
Повідомте нас, як ви керуєте тестовим середовищем та як готуєте дані тесту? Хочете додати будь-які поради?
Рекомендована література
- 14 найкращих інструментів управління тестовими даними у 2021 році
- 10 найкращих інструментів аналізу даних для ідеального управління даними (СПИСОК 2021)
- Підручник з управління тестами: Кінцевий посібник з управління тестами
- Що таке дані тесту? Методи підготовки даних тесту на прикладі
- Функція пулу даних в IBM Rational Quality Manager для управління тестовими даними
- Створення Framework селену та доступ до тестових даних з Excel - Підручник селену №21
- Тестуйте генерацію даних за допомогою Інструменту GEDIS Studio Online (Частина 2)