qtp frameworks test automation frameworks keyword driven
=> Щракнете тук за серията учебни уроци за QTP
най-доброто шпионско приложение за мобилен телефон
Какво е Framework за автоматизация на тестовете и какво е QTP Framework?
В контекста на успешно прилагане на QTP за проект за тестване на софтуер често срещаме концепцията за рамки. Рамката не е нищо друго освен подходът, който последователно следваме по време на процеса на автоматизация - набор от насоки.
Лично аз не обичам да давам имена и да казвам, че едното работи по-добре от другото. Изборът на определена рамка не е началото на проект. Вярно е обратното. В процеса на разработване на стратегия за тестване, вие изграждате правилата, приложими към текущата ситуация на тестера и точно там е вашата рамка.
Като казахме това, следните са някои от важните моменти, които трябва да вземем предвид:
- Многократна употреба
- Лесна поддръжка на скрипта
- Четливост на скриптове
- Добра работеща структура на папките за всички тестови активи
- Няма твърди стойности за кодиране
- Без каскада от неуспехи. (т.е. ако един тест не успее, той не трябва да причинява неуспех или спиране на останалите)
Това е основният списък и може да се добавят още на базата на изискването.
Всяка стратегия за тестване, която се опитва да включи някои или всички от горепосочените точки, е вашата рамка за автоматизация на тестовете.
Има различни имена и видове рамки. Следва списъкът на рамки според мен:
Какво ще научите:
- Видове рамки за автоматизация: (Прилага се за QTP Framework)
- Линейна рамка
- Управлявана от ключови думи рамка
- Препоръчително четене
Видове рамки за автоматизация: (Прилага се за QTP Framework)
- Линейна - Най-проста форма за създаване на тест. Просто напишете една единствена програма без модулност в последователни стъпки
- Управляван от ключови думи - Създайте различни ключови думи за различен набор от операции и в основния скрипт можем просто да се позовем на тези ключови думи.
- Управлявани от данни - За да стартирате един и същ набор от операции върху множество набори от данни, които се съхраняват в отделни файлове, най-вече Excel листове.
- Хибрид - Комбинирана рамка, която може да бъде частично управлявана от данни и частично управлявана от ключови думи
- BPT - Това просто означава, че програмите се разбиват на бизнес компоненти и се използват с един или друг от горните типове рамки
Линейна рамка
Както беше обсъдено, този подход включва просто писане на кода, докато записваме и продължаваме.
Например, ако операцията, която трябва да проверите, е създаването на нов акаунт в Gmail, стъпките ще бъдат следните:
- Отворете gmail.com
- Кликнете върху „Създаване на акаунт“
- Въведете подробностите
- Проверете подробностите
- Създайте акаунта
'Open GMail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click
Горното е пример за това как изглежда програма, която използва линейния метод. На този етап е очевидно какви са предимствата и недостатъците на този метод.
Предимства:
- Простота. За начинаещия програмист този метод е подходящ
- Време - Не е необходимо много време за създаване на теста
- Изисква се много малко планиране
Недостатъци:
- Без никаква повторна употреба
- Ако има друг скрипт, който потвърждава определен аспект на страницата „Google акаунти“, ще трябва да пренапишете кода, за да стартирате и страницата gmail.com. Толкова много повторения.
- Всички данни са директно вградени в код. Твърдото кодиране не позволява кодът да се използва за друг набор от данни.
- Склонен към грешки и поддръжка е трудно
Докато минусите надвишават плюсовете, този метод може да се използва, когато целта ви е строга за изпълнение на задача без валидиране.
Компонентите на тестовите активи в този вид рамки са:
- Тестов скрипт
- Хранилище на обекти (Това може да се избегне чрез използване на описателно програмиране, ако е необходимо)
Управлявана от ключови думи рамка
Как можем да направим горния тест за линейна рамка по-добър? Как можем да преодолеем минусите?
добро приложение за изтегляне на mp3 за android
Очевидно е, че се нуждаем от многократна употреба, модулност и четливост. Опитът да се включат тези функции и постигането на оптимално решение не е нищо друго освен опит за създаване на нова, по-подобрена рамка.
Какви са компонентите за многократна употреба?
- Стартиране на Gmail и пристигане на страницата „Google акаунти“. Това е даденост, тъй като валидирането на тази страница означава първо да стигнете до тук. „GoTo Google Account“ - може да се превърне в отделна функция, която може да се извиква отново и отново.
- Въведете подробностите и ги проверете - Можете допълнително да разделите това на положителни и отрицателни блокове, за да включите повече ниво на модулност
- Създаване на акаунт - Последното ниво на валидиране и изпълнение на разглежданата задача
След като пристигнете тук, не само сте идентифицирали компоненти, които могат да бъдат извиквани отново и отново, но и сте разделили линейната си програма на модули.
Функции:
Досега в нашата поредица не сме се занимавали с функции. Функциите не са нищо друго освен парче код, което извършва определени операции. Той приема входни параметри от програмата, която го извиква и му връща стойност.
Като обща практика всички парчета код за многократна употреба са групирани във файл, който съдържа всички функции за многократна употреба. Този файл е свързан с ресурс за вашия QTP тест. Обикновено библиотеката с функции може да бъде файл от типа: .vbs, .txt или .qfl
Обратно към нашия пример- Ето как може да бъде файлът на библиотеката с функции:
Function gotoGoogleAccount() 'Open Gmail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details End Function Function EnterDetails() Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details End Function Function SubmitToCreate() ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click End Function
Сега вашият действителен скрипт ще бъде:
'Open GMail gotoGoogleAccount() ‘Enter the details EnterDetails() ‘Submit SubmitToCreate()
От горната програма вече е ясно, че сме постигнали четливост, модулност и ако в случай, че друга програма иска да използва функцията за вход, със сигурност можем да я използваме повторно. Всичко, което трябва да направите, е да свържете библиотеката с функции към новия тест също и сте готови.
Можете също така да видите, че във вашия скрипт имената на функциите функционират така, сякаш са VBScript’s ключови думи и оттам и името на тази рамка.
Компонентите на тестовите активи в този вид рамки са:
- Тестови скриптове
- Споделено ИЛИ
- Библиотека със споделени функции
Сега, какво друго би направило тази програма още по-добра? Ако бихме могли да направим функцията EnterDetails () да приема различни набори от данни и да създава различни акаунти и да не се ограничава до данните, които сме кодирали трудно в програмата. Това точно е следващата стъпка. Данните, управляващи вашите тестове, и подходът, при който правим това, е рамката, управлявана от данни.
Ще обсъдим Управлявани от данни и хибридни рамки подробно в следващия урок.
=> Посетете тук за серията учебни уроци за QTP
най-доброто безплатно приложение за изтегляне на музика за mp3
Ако имате някакви проблеми, свързани с QTP рамката, с които се сблъсквате, които не са разгледани в тези статии, уведомете ни. Определено ще се опитаме да отговорим на вашите въпроси.
Препоръчително четене
- Най-популярните рамки за автоматизация на тестове с плюсове и минуси на всеки - Урок № 20 за селен
- Автоматизация на тестовете - Специализирана кариера ли е? Могат ли нормалните тестери да правят и автоматизация?
- Защо ни е необходима рамка за тестова автоматизация?
- Урок за QTP # 18 - Управлявани от данни и хибридни рамки, обяснени с примери за QTP
- Как се различава планирането на тестове за ръчни проекти и проекти за автоматизация?
- Как работи тестването, управлявано от данни (примери за QTP и селен)
- Как да изберем най-добрия инструмент за тестване на автоматизация (Пълно ръководство)
- Управлявана от данни рамка в Selenium WebDriver, използваща Apache POI