Какво представлява тестването, управлявано от данни? Научете се да създавате Framework
Тестване, управлявано от данни
Тестване, управлявано от данни е метод за тестване на софтуер, при който тестовите данни се съхраняват във формат на таблица или електронна таблица. Тестването, управлявано от данни, позволява на тестерите да въведат един тестов скрипт, който може да изпълнява тестове за всички тестови данни от таблица и да очаква резултата от теста в същата таблица. Нарича се още тестване, управлявано от таблица, или параметризирано тестване.
Управлявана от данни рамка
Управлявана от данни рамка е рамка за автоматизирано тестване, в която входните стойности се четат от файлове с данни и се съхраняват в променливи в тестови скриптове. Той позволява на тестерите да създават както положителни, така и отрицателни тестови случаи в един тест. Входните данни в рамката, управлявана от данни, могат да се съхраняват в един или множество източници на данни като .xls, .xml, .csv и бази данни.
Защо тестване, управлявано от данни?
Тестване, управлявано от данни е важно, тъй като тестерите често имат множество набори от данни за един тест и създаването на отделни тестове за всеки набор от данни може да отнеме много време. Тестването, управлявано от данни, помага за запазването на данните отделно от тестовите скриптове и едни и същи тестови скриптове могат да бъдат изпълнени за различни комбинации от входни тестови данни и резултатите от теста могат да бъдат генерирани ефективно.
Пример:
Например, искаме да тестваме системата за влизане с множество полета за въвеждане с 1000 различни набора от данни.
За да тествате това, можете да използвате следните различни подходи:
Подход 1) Създайте 1000 скрипта по един за всеки набор от данни и стартирайте всеки тест отделно един по един.
Подход 2) Променете ръчно стойността в тестовия скрипт и го изпълнете няколко пъти.
Подход 3) Импортирайте данните от Excel листа. Извлечете тестови данни от редовете на excel един по един и изпълнете скрипта.
В дадените три сценария първите два са трудоемки и отнемат време. Затова е идеално да следвате третия подход.
По този начин третият подход не е нищо друго освен рамка, управлявана от данни.
Как да създадете управлявана от данни рамка за автоматизация
Помислете, че искате да тествате функционалността за влизане на приложение.
Стъпка 1) Идентифицирайте тестовите случаи
- Въведете правилно потребителско име и парола – влизането е успешно
- Въведете неправилно потребителско име и правилна парола – неуспешно влизане
- Въведете правилно потребителско име и неправилна парола – неуспешно влизане
Стъпка 2) Създайте подробни тестови стъпки за горните 3 тестови случая
Тестов случай № | Descriptйон | Тестови стъпки | Данни от теста | Очаквани резултати |
---|---|---|---|---|
1 | Проверете Вход за валидни идентификационни данни |
|
Потребителско име: валидна парола: валидна | Успешно влизане |
2 | Проверете Вход за невалидни идентификационни данни |
|
Потребителско име: невалидна парола: валидна | Неуспешно влизане |
3 | Проверете Вход за невалидни идентификационни данни |
|
Потребителско име: валидна парола: невалидна | Неуспешно влизане |
Стъпка 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
- Въведете неправилно потребителско име и неправилна парола – неуспешно влизане
- Въведете правилно потребителско име и парола празно – Входът е неуспешен
- Въведете празно потребителско име и празна парола– Неуспешно влизане
И така нататък
Най-добри практики за тестване, управлявано от данни
По-долу са дадени най-добрите практики за тестване за тестване, управлявано от данни:
- Идеално е да използвате реалистична информация по време на процеса на тестване, базиран на данни
- Навигацията в тестовия поток трябва да бъде кодирана в тестовия скрипт
- Управлявайте виртуални API със значими данни
- Използвайте данни за стимулиране на динамични твърдения
- Тествайте както положителни, така и отрицателни резултати
- Преназначение на управлявани от данни функционални тестове за сигурност и производителност
Предимства на тестването, управлявано от данни
Управляваните от данни предлагат много предимства, някои от тях са:
- Позволява да се тества приложение с множество набори от стойности на данни по време на регресионно тестване
- Тестовите данни и данните за проверка могат да бъдат организирани само в един файл и той е отделен от логиката на тестовия случай.
- Въз основа на инструмента е възможно тестовите скриптове да бъдат в едно хранилище. Това прави текстовете лесни за разбиране, поддръжка и управление.
- Действията и функциите могат да се използват повторно в различни тестове.
- Някои инструменти автоматично генерират тестови данни. Това е полезно, когато са необходими големи обеми произволни тестови данни, което помага да се спести време.
- Тестването, управлявано от данни, може да извърши всяка фаза от разработката. Тестът, управляван от данни, обикновено се обединява в един процес. Въпреки това, той може да се използва в множество тестови случаи.
- Позволява на разработчиците и тестерите да имат ясно разделение на логиката на техните тестови случаи/скриптове от тестовите данни.
- Едни и същи тестови случаи могат да се изпълняват няколко пъти, което помага за намаляване на тестовите случаи и скриптове.
- Всички промени в тестовия скрипт не оказват влияние върху тестовите данни
Недостатъци на тестването, управлявано от данни
Някои недостатъци на метода за тестване на автоматизация, управлявана от данни, са:
- Качеството на теста зависи от уменията за автоматизация на екипа по внедряване
- Валидирането на данни е отнемаща време задача при тестване на голямо количество данни.
- Поддръжката е голям проблем, тъй като е необходимо голямо количество кодиране за тестване, управлявано от данни.
- Необходими са технически умения на високо ниво. Тестерът може да трябва да научи изцяло нов скриптов език.
- Ще има още документи. Най-вече свързани с инфраструктура за тестове за управление на скриптове и резултати от тестове.
- За създаване и поддържане на файлове с данни е необходим текстов редактор като Notepad.
Заключение
- Управляван от данни е рамка за автоматизиране на тестове, която съхранява тестови данни във формат на таблица или електронна таблица.
- В рамката за автоматизиране на тестове, управлявана от данни, входните данни могат да се съхраняват в един или множество източници на данни като xls, XML, csv и бази данни.
- Създаването на индивидуален тест за всеки набор от данни е дълъг и отнемащ време процес. Рамката за управлявано от данни тестване разрешава този проблем, като държи данните отделно от функционалните тестове.
- При тестване, управлявано от данни, това е идеална опция за използване на реалистична информация
- Позволява тестване на приложение с множество набори от стойности на данни по време на Регресионно тестване
- Недостатъкът на този метод е, че той зависи от уменията за автоматизация на екипа за внедряване