Тестване на данни
Data Driven Testing е софтуерен метод за тестване, при който данните от теста се съхраняват в табличен или електронна таблица. Тестването, управлявано от данни, позволява на тестерите да въведат един тестов скрипт, който може да изпълнява тестове за всички тестови данни от таблица и да очаква изхода на теста в същата таблица. Нарича се още тестване, управлявано от таблица, или параметризирано тестване.
Рамка за управление на данни
Data Driven Framework е рамка за тестване на автоматизация, при която входните стойности се четат от файлове с данни и се съхраняват в променливи в тестовите скриптове. Той дава възможност на тестерите да изграждат положителни и отрицателни тестови случаи в един тест. Входящите данни в управляваната от данни рамка могат да се съхраняват в единични или множество източници на данни като .xls, .xml, .csv и бази данни.
В този урок ще научите
- Какво е тестване на данни?
- Защо тестване на данни?
- Как да създам рамка за автоматизация, управлявана от данни
- Най-добри практики за тестване на данни:
- Предимства на тестването на данни
- Недостатъци на тестваното от данни:
Защо тестване на данни?
Тестването, управлявано от данни, е важно, тъй като тестерите често имат множество набори от данни за един тест и създаването на индивидуални тестове за всеки набор от данни може да отнеме много време. Тестването, управлявано от данни, помага да се пазят данните отделно от тестовите скриптове и едни и същи тестови скриптове могат да бъдат изпълнени за различни комбинации от входни тестови данни и резултатите от теста могат да бъдат генерирани ефективно.
Пример:
Например искаме да тестваме системата за вход с множество полета за въвеждане с 1000 различни набора от данни.
За да тествате това, можете да предприемете следните различни подходи:
Подход 1) Създайте 1000 скрипта по един за всеки набор от данни и изпълнява всеки тест поотделно един по един.
Подход 2) Променете ръчно стойността в тестовия скрипт и я стартирайте няколко пъти.
Подход 3) Импортирайте данните от Excel листа. Вземете тестови данни от Excel редове един по един и изпълнете скрипта.
В дадените три сценария първите два са трудоемки и отнемат много време. Ето защо е идеално да следвате третия подход.
По този начин третият подход не е нищо друго освен рамка, управлявана от данни.
Как да създам рамка за автоматизация, управлявана от данни
Помислете, че искате да тествате функционалността за вход на приложение.
Стъпка 1) Идентифицирайте тестовите случаи
- Въведете правилно потребителско име и парола - Успешен вход
- Въведете неправилно потребителско име и правилна парола - Неуспешно влизане
- Въведете правилно потребителско име и грешна парола - Неуспешно влизане
Стъпка 2) Създайте подробни приблизителни стъпки за над 3 тестови случая
Тестов случай# | Описание | Тестови стъпки | Данни от теста | Очаквани резултати |
---|---|---|---|---|
1 | Проверете Login за валидни идентификационни данни |
| Потребителско име: валидна парола: валидна | Вход Успех |
2 | Проверете Login за невалидни идентификационни данни |
| Потребителско име: невалидна парола: валидна | Неуспешно влизане |
3 | Проверете Login за невалидни идентификационни данни |
| Потребителско име: валидна парола: невалидна | Неуспешно влизане |
Стъпка 3) Създаване на тестов скрипт
Ако наблюдавате тестовите стъпки, останете често срещани през 3 тестови стъпки. Трябва да създадете тестов скрипт, за да изпълните тези стъпки
// Това е псевдо код// Тествайте стъпка 1: Стартирайте приложениетоdriver.get ("URL адрес на приложението");// Тествайте стъпка 2: Въведете потребителско имеtxtbox_username.sendKeys ("валиден");// Тествайте стъпка 3: Въведете паролаtxtbox_password.sendKeys ("невалиден");// Тествайте стъпка 4: Проверете резултатитеАко (Следващ екран) успехът на печат е неуспешен
Стъпка 4) Създайте excel / csv с входните тестови данни
Стъпка 5) Стъпка Променете скрипта, за да повторите входящите тестови данни. Командите за въвеждане също трябва да бъдат параметризирани
// Това е псевдо код// Цикъл 3 пътиза (i = 0; i & lt; = 3; i ++) {// Четене на данни от Excel и съхраняване в променливиint input_1 = ReadExcel (i, 0);int input_2 = ReadExcel (i, 1);// Тествайте стъпка 1: Стартирайте приложениетоdriver.get ("URL адрес на приложението");// Тествайте стъпка 2: Въведете потребителско имеtxtbox_username.sendKeys (вход_1);// Тествайте стъпка 3: Въведете паролаtxtbox_password.sendKeys (вход_2);// Тествайте стъпка 4: Проверете резултатитеАко (Следващ екран) успешен печатиначе Неуспешно}
По-горе има само 3 тестови случая. Тестовият скрипт може да се използва за прелитане на следващите тестови случаи само чрез добавяне на стойности на тестови данни към Excel
- Въведете неправилно потребителско име и грешна парола - Неуспешно влизане
- Въведете правилно потребителско име и парола празни - Неуспешно влизане
- Въведете празно потребителско име и празна парола - Неуспешно влизане
И така нататък
Най-добри практики за тестване на данни:
По-долу са дадени най-добрите тестови практики за тестване на данни:
- Идеално е да се използва реалистична информация по време на процеса на тестване на данни
- Навигацията на тестовия поток трябва да бъде кодирана в тестовия скрипт
- Управлявайте виртуални приложни програмни интерфейси (API) със значими данни
- Използвайте данни, за да стимулирате динамични твърдения
- Тествайте положителни, както и отрицателни резултати
- Преназначете управлявани от данни функционални тестове за сигурност и производителност
Предимства на тестването на данни
Управлението на данни предлага много предимства, някои от тях са:
- Позволява да се тества приложение с множество набори от стойности на данни по време на тестване на регресия
- Тестовите данни и данните за проверка могат да бъдат организирани само в един файл и са отделни от логиката на тестовия случай.
- Въз основа на инструмента е възможно тестовите скриптове да бъдат в едно хранилище. Това прави текстовете лесни за разбиране, поддържане и управление.
- Действията и функциите могат да бъдат използвани повторно в различни тестове.
- Някои инструменти генерират тестови данни автоматично. Това е полезно, когато са необходими големи обеми от случайни тестови данни, което помага да се спести време.
- Тестването, управлявано от данни, може да извърши всяка фаза от разработката. Тестовите грижи, управлявани от данни, обикновено се обединяват в един процес. Той обаче може да се използва в множество тестови случаи.
- Позволява на разработчиците и тестерите да имат ясно разделение за логиката на своите тестови случаи / скриптове от тестовите данни.
- Същите тестови случаи могат да бъдат изпълнени няколко пъти, което помага да се намалят тестовите случаи и скриптове.
- Всички промени в тестовия скрипт не влияят на тестовите данни
Недостатъци на тестваното от данни:
Някои недостатъци на метода за тестване на автоматизирани данни са:
- Качеството на теста зависи от уменията за автоматизация на изпълнителния екип
- Проверката на данните е отнемаща време задача при тестване на голямо количество данни.
- Поддръжката е голям проблем, тъй като голямо количество кодиране е необходимо за тестване на данни.
- Изискват се технически умения на високо ниво. Може да се наложи тестерът да научи изцяло нов скриптов език.
- Ще има още документация. Най-вече свързани с инфраструктурата на тестовете за управление на скриптове и резултатите от тестовете.
- За създаване и поддържане на файлове с данни се изисква текстов редактор като Notepad.
Заключение:
- Управлението на данни е рамка за автоматизация на тестове, която съхранява тестови данни в таблица или формат на електронна таблица.
- В рамката за автоматизация на тестове, управлявана от данни, входните данни могат да се съхраняват в единични или множество източници на данни като xls, XML, csv и бази данни.
- Създаването на индивидуален тест за всеки набор от данни е дълъг и отнемащ време процес. Data Driven Testing framework решава този проблем, като запазва данните отделно от функционалните тестове.
- При тестването на данни е идеална възможност за използване на реалистична информация
- Тя позволява тестване на приложение с множество набори от стойности на данни по време на тестване на регресия
- Недостатъкът на този метод е, че той зависи от уменията за автоматизация на изпълнителния екип