qtp frameworks test automation frameworks keyword driven
=> Кликните овде за серију КТП Туториалс Траининг
питања која треба поставити пословном аналитичару
Шта је Тест Аутоматион Фрамеворк, а шта КТП Фрамеворк?
У контексту успешне примене КТП за пројекат тестирања софтвера често наилазимо на концепт оквира. Оквир није ништа друго до приступ који доследно следимо током процеса аутоматизације - скуп смерница.
Лично не волим да дајем имена и кажем да једно делује боље од другог. Избор одређеног оквира није почетак пројекта. Тачно је обрнуто. У процесу осмишљавања стратегије тестирања ви градите правила која су применљива на тренутну ситуацију тестера и тачно ту је ваш оквир.
Имајући то у виду, следеће су неке од важних тачака које морамо узети у обзир:
- Могућност поновне употребе
- Једноставно одржавање скрипте
- Читљивост скрипти
- Добра изводљива структура фасцикли за сва средства за тестирање
- Нема тврдих вредности кодирања
- Нема каскаде кварова. (тј. ако један тест не успе, не би требало да изазове неуспех или заустављање осталих)
Ово је основна листа и на основу захтева се може додати још тога.
Било која стратегија тестирања која покушава да укључи неке или све горе наведене тачке је ваш оквир за аутоматизацију теста.
Постоје различита имена и врсте оквира. Следи листа оквира према мени:
Шта ћете научити:
- Типови оквира за аутоматизацију: (односи се на КТП оквир)
- Линеар Фрамеворк
- Оквир вођен кључним речима
- Препоручено читање
Типови оквира за аутоматизацију: (односи се на КТП оквир)
- Линеарно - Најједноставнији облик израде теста. Само напишите један програм без модуларности у секвенцијалним корацима
- На основу кључних речи - Створите различите кључне речи за различити скуп операција и у главној скрипти можемо се само позвати на ове кључне речи.
- На основу података - За покретање истог скупа операција на више скупова података који се чувају у одвојеним датотекама, углавном екцел листовима.
- Хибрид - Комбиновани оквир који може бити делимично вођен подацима, а делом кључним речима
- БПТ - То само значи да се програми рашчлањују на пословне компоненте и користе са једним или другим од горе наведених типова оквира
Линеар Фрамеворк
Као што је већ речено, овај приступ укључује једноставно писање кода док биљежимо и настављамо даље.
На пример, ако је операција коју морате да верификујете отварање новог налога у Гмаил-у, следећи кораци:
- Отворите гмаил.цом
- Кликните на „Направи налог“
- Унесите детаље
- Проверите детаље
- Отворите рачун
'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
Горе наведено је пример како изгледа програм који користи линеарну методу. У овом тренутку је очигледно које су предности и недостаци ове методе.
Предности:
- Једноставност. За програмере почетнике овај метод је прикладан
- Време - Не треба вам пуно времена за израду теста
- Потребно је врло мало планирања
Мане:
- Нема поновне употребљивости уопште
- Ако постоји друга скрипта која потврђује одређени аспект странице „Гоогле налози“, мораћете да препишете код да бисте покренули и страницу гмаил.цом. Толико понављања.
- Сви подаци су директно уграђени у код. Тврдо кодирање не дозвољава да се код користи за било који други скуп података.
- Склоност грешкама и одржавање је тешко
Иако су слабости веће од предности, овај метод се може користити када је ваш циљ строг за извршавање задатка без валидације.
Компоненте тест средстава у овој врсти оквира су:
- Тест сцрипт
- Спремиште објеката (ово се може избећи коришћењем описног програмирања ако је потребно)
Оквир вођен кључним речима
Како можемо побољшати горњи линеарни оквирни тест? Како можемо превазићи минус?
план испитивања и разлика у стратегији испитивања
Очигледно нам је потребна поновна употребљивост, модуларност и читљивост. Покушај инкорпорирања ових карактеристика и постизање оптималног решења није ништа друго до покушај стварања новог, побољшанијег оквира.
Које су компоненте за вишекратну употребу?
- Покретање Гмаил-а и долазак на страницу „Гоогле налози“. Ово је дато, јер потврђивање ове странице значи прво доћи овде. „ГоТо Гоогле Аццоунт“ - може се претворити у засебну функцију која се може позивати изнова и изнова.
- Унесите детаље и потврдите их - Ово можете даље раставити на позитивне и негативне блокове да бисте укључили већи ниво модуларности
- Отварање рачуна - Коначни ниво потврде и извршења задатка
Када стигнете овде, не само да сте идентификовали компоненте које се могу позивати изнова и изнова, већ сте и свој линеарни програм разломили на модуле.
Функције:
До сада у нашој серији нисмо се бавили функцијама. Функције нису ништа друго до део кода који извршава одређене операције. Прихвата улазне параметре од програма који га позива и враћа му вредност.
Као општа пракса, сви делови кода за вишекратну употребу груписани су у датотеку која садржи све функције за поновну употребу. Ова датотека је повезана са ресурсом вашег КТП теста. Типично библиотека функција може бити датотека типа: .вбс, .ткт или .кфл
Вратимо се нашем примеру- Ево како датотека библиотеке функција може бити:
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()
Из горњег програма сада је јасно да смо постигли читљивост, модуларност и ако случај да други програм жели да користи функцију пријаве, можемо је сигурно поново користити. Све што треба да урадите је да повежете библиотеку функција са тим новим тестом и спремни сте за почетак.
Такође можете видети да у вашој скрипти имена функција функционишу као да јесу ВБСцрипт'с кључне речи и отуда назив за овај оквир.
Компоненте тест средстава у овој врсти оквира су:
- Тест скрипте
- Дељено ИЛИ
- Библиотека заједничких функција
Шта би још учинило овај програм још бољим? Кад бисмо могли да функцију ЕнтерДетаилс () узмемо различите скупове података и креирамо различите налоге, а не да се ограничимо на податке које смо тешко кодирали у програм. То је управо следећи корак. Подаци који покрећу ваше тестове и приступ где то радимо је оквир вођен подацима.
Ћемо дискутовати Подаци и хибридни оквири детаљно у наредном водичу.
=> Посетите овде за серију КТП Туториалс Траининг
Ако имате било каквих проблема везаних за КТП оквир са којима се суочавате и који нису обрађени у овим чланцима, обавестите нас. Свакако ћемо покушати да одговоримо на ваша питања.
Препоручено читање
- Најпопуларнији оквири за аутоматизацију тестова са разлозима за и против - Селен Туториал # 20
- Тест аутоматизација - да ли је то специјализована каријера? Да ли могу и нормални тестери да раде аутоматизацију?
- Зашто нам је потребан оквир за аутоматизацију испитивања?
- КТП водич # 18 - Хибридни оквири вођени подацима и објашњени примерима КТП-а
- Како се разликује планирање теста за ручне и аутоматизационе пројекте?
- Како функционише тестирање на основу података (примери КТП и селена)
- Како одабрати најбољи алат за тестирање аутоматизације (Комплетан водич)
- Оквир вођен подацима у програму Селениум ВебДривер који користи Апацхе ПОИ