Какво представлява тестването, управлявано от данни? Научете се да създавате Framework

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

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

Управлявана от данни рамка

Управлявана от данни рамка е рамка за автоматизирано тестване, в която входните стойности се четат от файлове с данни и се съхраняват в променливи в тестови скриптове. Той позволява на тестерите да създават както положителни, така и отрицателни тестови случаи в един тест. Входните данни в рамката, управлявана от данни, могат да се съхраняват в един или множество източници на данни като .xls, .xml, .csv и бази данни.

Управлявана от данни рамка

Защо тестване, управлявано от данни?

Тестване, управлявано от данни е важно, тъй като тестерите често имат множество набори от данни за един тест и създаването на отделни тестове за всеки набор от данни може да отнеме много време. Тестването, управлявано от данни, помага за запазването на данните отделно от тестовите скриптове и едни и същи тестови скриптове могат да бъдат изпълнени за различни комбинации от входни тестови данни и резултатите от теста могат да бъдат генерирани ефективно.

Пример:

Например, искаме да тестваме системата за влизане с множество полета за въвеждане с 1000 различни набора от данни.

За да тествате това, можете да използвате следните различни подходи:

Подход 1) Създайте 1000 скрипта по един за всеки набор от данни и стартирайте всеки тест отделно един по един.

Подход 2) Променете ръчно стойността в тестовия скрипт и го изпълнете няколко пъти.

Подход 3) Импортирайте данните от Excel листа. Извлечете тестови данни от редовете на excel един по един и изпълнете скрипта.

В дадените три сценария първите два са трудоемки и отнемат време. Затова е идеално да следвате третия подход.

По този начин третият подход не е нищо друго освен рамка, управлявана от данни.

Как да създадете управлявана от данни рамка за автоматизация

Рамка за автоматизация, управлявана от данни

Помислете, че искате да тествате функционалността за влизане на приложение.

Стъпка 1) Идентифицирайте тестовите случаи

  • Въведете правилно потребителско име и парола – влизането е успешно
  • Въведете неправилно потребителско име и правилна парола – неуспешно влизане
  • Въведете правилно потребителско име и неправилна парола – неуспешно влизане

Стъпка 2) Създайте подробни тестови стъпки за горните 3 тестови случая

Тестов случай № Descriptйон Тестови стъпки Данни от теста Очаквани резултати
1 Проверете Вход за валидни идентификационни данни
  1. Стартирайте приложението
  2. Въведете парола за потребителско име
  3. Щракнете върху OK
  4. Проверете резултатите
Потребителско име: валидна парола: валидна Успешно влизане
2 Проверете Вход за невалидни идентификационни данни
  1. Стартирайте приложението
  2. Въведете парола за потребителско име
  3. Щракнете върху OK
  4. Проверете резултатите
Потребителско име: невалидна парола: валидна Неуспешно влизане
3 Проверете Вход за невалидни идентификационни данни
  1. Стартирайте приложението
  2. Въведете парола за потребителско име
  3. Щракнете върху OK
  4. Проверете резултатите
Потребителско име: валидна парола: невалидна Неуспешно влизане

Стъпка 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 тестови случая. Тестовият скрипт може да се използва за преминаване през следните тестови случаи само чрез добавяне на стойности на тестови данни към Excel

  • Въведете неправилно потребителско име и неправилна парола – неуспешно влизане
  • Въведете правилно потребителско име и парола празно – Входът е неуспешен
  • Въведете празно потребителско име и празна парола– Неуспешно влизане

И така нататък

Най-добрият инструмент за тестване, базирано на данни

1) Тест сигма

Тест сигма е облачна платформа за тестване, базирана на данни, която намирам за безценна за максимизиране на тестовото покритие чрез отделяне на тестовата логика от тестовите данни. Тя е специално разработена за екипи, които трябва да валидират приложения спрямо различни набори от данни, гранични случаи и бизнес сценарии, без да създават излишни тестови скриптове, рационализирайки целия работен процес за тестване, базиран на данни.

По време на моите проекти за тестване, базирани на данни, използвах възможностите за параметризация на Testsigma, за да изпълнявам идентични тестови сценарии спрямо множество комбинации от данни от външни източници като Excel и CSV файлове. Способността на платформата да итерира през редове с данни автоматично значително разшири обхвата на тестовете ми, докато детайлното отчитане на резултатите на ниво данни ми помогна бързо да идентифицирам кои специфични входни комбинации са задействали неуспехи в уеб, мобилни и API слоеве.

Тест сигма

Характеристики:

  • Интеграция на външни източници на данни: Тази функция позволява директни връзки към електронни таблици в Excel, CSV файлове и таблици в база данни за централизирано управление на тестови данни. Тя елиминира твърдо кодираните стойности и ви позволява да поддържате тестовите данни независимо от тестовата логика. Можете да актуализирате набори от данни, без да променяте тестови скриптове, което гарантира гъвкавост и поддръжка. Използвам това, за да управлявам стотици вариации на данни ефективно, като същевременно поддържам тестовите сценарии чисти и многократно използваеми.
  • Автоматизирана итерация на многоредови данни: Testsigma автоматично изпълнява тестови сценарии в множество редове с данни в едно тестово изпълнение, като по този начин драстично разширява обхвата. Можете да валидирате множество входни комбинации, гранични условия и вариации на бизнес правила, без да дублирате тестови случаи. Тази функция обработва последователността на данните и логиката на итерациите прозрачно. Намерих това за особено ефективно за цялостно регресионно тестване с минимални разходи за поддръжка на скриптове.
  • Параметризиране на стъпката на динамичен тест: Тя ви позволява да замените статичните стойности с динамични параметри, които извличат данни от външни източници по време на изпълнение. Можете да конфигурирате стъпките на теста, за да се адаптират към различни входни данни, условия и очаквани резултати въз основа на стойностите на набора от данни. Тази функция поддържа сложни трансформации на данни и условна логика. Разчитам на нея, за да изградя гъвкави тестови сценарии, които отговарят на разнообразни бизнес изисквания и потребителски работни потоци.
  • Отчитане на изпълнението на ниво данни: Платформата генерира подробни отчети, които разделят резултатите от тестовете по отделни комбинации от данни, показвайки точно кои входни данни са преминали или кои не са. Можете да анализирате модели, да идентифицирате проблемни диапазони от данни и да проследявате неуспехите до конкретни редове от набори от данни. Тази функция предоставя визуални табла за управление и експортируеми анализи за комуникация със заинтересованите страни. Препоръчвам да използвате тези анализи, за да приоритизирате подобренията в качеството на данните и да усъвършенствате стратегиите за тестови данни.
  • Поддръжка, базирана на данни, за различни платформи: Testsigma разширява възможностите, базирани на данни, в уеб, мобилни и API тестове в рамките на унифицирани работни процеси. Можете да прилагате едни и същи набори от данни, за да валидирате съгласуваност между различни слоеве и технологии на приложението. Тази функция осигурява цялостна валидация от край до край с параметризирани потоци от данни. Използвал съм я, за да проверя дали обработката на данни от backend-а се отразява правилно във frontend интерфейсите на множество платформи едновременно.

Предимства

  • Получих по-широко тестово покритие, без драстично да увелича общия брой изпълнени тестови случаи.
  • Свързването с общи източници на данни е лесно и намалява времето за настройка на ежедневните работни процеси за тестване.
  • Подробното отчитане на ниво данни улеснява бързото идентифициране на точно кои комбинации се провалят

Недостатъци

  • Трябваше да управлявам внимателно наборите от данни, защото големите обеми могат бързо да станат объркващи

Pricing:

  • Цена: Персонализирано ценообразуване с възможности за тестване, базирано на данни, включени като част от цялостния абонаментен план
  • Безплатен пробен период: 14-дневна безплатна пробна версия

Посетете Testsigma >>

14-дневна безплатна пробна версия

Най-добри практики за тестване, управлявано от данни

По-долу са дадени най-добрите практики за тестване за тестване, управлявано от данни:

  • Идеално е да използвате реалистична информация по време на процеса на тестване, базиран на данни
  • Навигацията в тестовия поток трябва да бъде кодирана в тестовия скрипт
  • Управлявайте виртуални API със значими данни
  • Използвайте данни за стимулиране на динамични твърдения
  • Тествайте както положителни, така и отрицателни резултати
  • Преназначение на управлявани от данни функционални тестове за сигурност и производителност

Предимства на тестването, управлявано от данни

Управляваните от данни предлагат много предимства, някои от тях са:

  1. Позволява да се тества приложение с множество набори от стойности на данни по време на регресионно тестване
  2. Тестовите данни и данните за проверка могат да бъдат организирани само в един файл и той е отделен от логиката на тестовия случай.
  3. Въз основа на инструмента е възможно тестовите скриптове да бъдат в едно хранилище. Това прави текстовете лесни за разбиране, поддръжка и управление.
  4. Действията и функциите могат да се използват повторно в различни тестове.
  5. Някои инструменти автоматично генерират тестови данни. Това е полезно, когато са необходими големи обеми произволни тестови данни, което помага да се спести време.
  6. Тестването, управлявано от данни, може да извърши всяка фаза от разработката. Тестът, управляван от данни, обикновено се обединява в един процес. Въпреки това, той може да се използва в множество тестови случаи.
  7. Позволява на разработчиците и тестерите да имат ясно разделение на логиката на техните тестови случаи/скриптове от тестовите данни.
  8. Едни и същи тестови случаи могат да се изпълняват няколко пъти, което помага за намаляване на тестовите случаи и скриптове.
  9. Всички промени в тестовия скрипт не оказват влияние върху тестовите данни

Недостатъци на тестването, управлявано от данни

Някои недостатъци на метода за тестване на автоматизация, управлявана от данни, са:

  1. Качеството на теста зависи от уменията за автоматизация на екипа по внедряване
  2. Валидирането на данни е отнемаща време задача при тестване на голямо количество данни.
  3. Поддръжката е голям проблем, тъй като е необходимо голямо количество кодиране за тестване, управлявано от данни.
  4. Необходими са технически умения на високо ниво. Тестерът може да трябва да научи изцяло нов скриптов език.
  5. Ще има още документи. Най-вече свързани с инфраструктура за тестове за управление на скриптове и резултати от тестове.
  6. За създаване и поддържане на файлове с данни е необходим текстов редактор като Notepad.

Заключение

  • Управляван от данни е рамка за автоматизиране на тестове, която съхранява тестови данни във формат на таблица или електронна таблица.
  • В рамката за автоматизиране на тестове, управлявана от данни, входните данни могат да се съхраняват в един или множество източници на данни като xls, XML, csv и бази данни.
  • Създаването на индивидуален тест за всеки набор от данни е дълъг и отнемащ време процес. Рамката за управлявано от данни тестване разрешава този проблем, като държи данните отделно от функционалните тестове.
  • При тестване, управлявано от данни, това е идеална опция за използване на реалистична информация
  • Позволява тестване на приложение с множество набори от стойности на данни по време на Регресионно тестване
  • Недостатъкът на този метод е, че той зависи от уменията за автоматизация на екипа за внедряване

Обобщете тази публикация с: