Контролно-пропускателни пунктове в QTP/UFT с Пример

⚡ Умно обобщение

Контролно-пропускателни пунктове в UFT/QTP проверете дали приложението връща точната стойност на свойство, текст, изображение или база данни, на която тестерът очаква на дадена стъпка, превръщайки записаното възпроизвеждане в оценка „минал“ или „неминал“, на която автоматизираните екипи могат да се доверят.

  • ???? Определение: Контролната точка сравнява заснета очаквана стойност с текущата стойност на свойство на обект по време на изпълнение.
  • 🎯 Основание: Контролните точки превръщат записан скрипт за възпроизвеждане във функционален тест с измерим резултат PASS (преминал) или FAIL (неуспешен).
  • 🧩 Видове: UFT/QTP предлага десет типа контролни точки, включително стандартни, растерни, бази данни, таблици, XML, страници, изображения, текст, текстова област и достъпност.
  • 🆚 Разграничение: Контролната точка проверява и може да не успее дадена стъпка, докато изходната стойност само събира данни за по-късна повторна употреба.
  • 🛠️ Вмъкване: Повечето типове контролни точки се добавят само по време на запис, чрез подменюто „Контролни точки“.
  • ⚠️ Често срещан капан: Контролната точка генерира грешка по време на изпълнение, ако предишната стъпка затвори обекта, към който е насочена.
  • ???? Най-добри практики: Предпочитайте контролни точки на база данни или XML пред контролни точки на растерни изображения за валидиране на данни.

Какво е контролно-пропускателен пункт в UFT/QTP?

A контролно-пропускателен пункт in UFT/QTP е точка на проверка, която сравнява текущата стойност на зададено свойство на обект, атрибут на страница или източник на данни с очаквана стойност, заснета по-рано в теста. Ако текущата и очакваната стойност съвпадат, UFT записва статус „ПРЕСЛЕДЕН“; ако не го направят, записва статус „НЕУСПЕШЕН“.

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

Защо да използваме контролни точки в автоматизацията на тестването?

Записването на скрипт само възпроизвежда поредица от кликвания и натискания на клавиши; никога не потвърждава дали приложението е дало правилния резултат. Контролните точки запълват тази празнина, като превръщат всяко записано действие в проверимо твърдение с измерим резултат.

  • Преобразувайте възпроизвеждането в проверка, така че всяко изпълнение да дава ясен резултат PASS или FAIL, вместо просто завършен скрипт.
  • Откривайте регресии рано, преди дефектът да достигне до компилация, която тестерите приемат за стабилна.
  • Валидирайте данни, които са невидими по време на ръчно наблюдение, като например XML полезни товари, редове от базата данни или свойства на скрити обекти.
  • Документирайте очакваното поведение, така че всеки, който чете скрипта, да разбере какво означава „правилно“ за тази стъпка.

Тъй като контролните точки се изпълняват автоматично при всяко изпълнение, те премахват необходимостта тестерът да проверява ръчно всеки екран след всеки цикъл, което прави UFT/QTP практично за многократно регресионно тестване в различните компилации.

Видове контролно-пропускателни пунктове в UFT/QTP

UFT/QTP предоставя няколко типа контролни точки, така че тестерът да може да валидира точния аспект на приложението, който е важен на дадена стъпка – статично свойство, блок от текст, растерно изображение, запис в базата данни или цял XML документ. Изборът на типа, който съответства на тествания обект, поддържа стъпката фокусирана и лесна за поддръжка.

  1. Стандартен контролен пункт: Сравнява очакваните стойности на свойствата на обекта, заснети по време на запис, с текущите стойности на обекта по време на сесия на изпълнение. Поддържа се от всяка среда за добавки.
  2. Контролна точка на страницата: Стандартна контролна точка, създадена за уеб страница. Тя проверява общия брой връзки и изображения на страницата и може да измерва времето за зареждане на страницата.
  3. Контролна точка за текст: Проверява дали специфичен текст се появява в определена област на уеб страница или Windows-базирано приложение.
  4. Контролна точка на текстовата област: Проверява дали текстов низ се показва в определена област на екрана на Windowsприложение, базирано на -, според критерии като съвпадение на главни и малки букви или съвпадение на заместващи символи.
  5. Контролна точка на растерното изображение: Проверява растерното изображение или цяла уеб страница чрез сравнение пиксел по пиксел между действителното и очакваното изображение.
  6. Контролна точка на изображението: Проверява свойствата на уеб изображение, като например местоположението на изходния файл. За разлика от контролната точка на растерното изображение, тя не сравнява пиксели.
  7. Контролен пункт за достъпност: Проверява съответствието с указанията на World Wide Web Consortium (W3C) за уеб-базирани технологии, което улеснява използването на приложението от хора с увреждания.
  8. Контролна точка на базата данни: Изпълнява заявка по време на запис и съхранява върнатите стойности от базата данни като очаквани стойности; същата заявка се изпълнява отново по време на изпълнение, така че действителните и очакваните стойности да могат да бъдат сравнени.
  9. Контролна точка на масата: Динамично проверява съдържанието на клетките в таблица или мрежа, заедно със свойствата на таблицата, като височина на реда и ширина на клетката. Подобно е на контролна точка в базата данни.
  10. XML контролна точка: Проверява XML данни, XML схема и XML ресурси, вградени в уеб страница или в самостоятелен .xml документ.

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

Тип контролна точка Проверява Най-добре се използва за
Standard Стойности на свойствата на обекта Валидиране с общо предназначение на всеки добавен обект
страница Връзки, изображения, време за зареждане Потвърждаване на пълното зареждане на уеб страница
Текст Наличие на специфичен текст Потвърждаване на появата на съобщение или етикет
Текстова област Текст в рамките на област на екрана Windows приложения с нестандартни текстови контроли
Bitmap Съвпадение на изображението на ниво пиксел Визуална регресия на диаграми, лога, оформления
Изображение Свойства на източника на изображението Потвърждаване, че се предоставя правилният файл с изображение
Достъпност Съответствие с W3C Одитиране на уеб страници за пропуски в достъпността
База данни Стойности на резултатите от заявката Потвърждаване на съответствието на данните от сървъра с потребителския интерфейс
Маса Съдържание и оформление на клетките в мрежата Отчети, резултати от търсенето и таблици с данни
XML XML данни и схема Уеб услуги и XML-базирани страници

Контролна точка срещу изходна стойност: Каква е разликата?

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

Аспект Контролно-пропускателен пункт Изходна стойност
Цел Потвърждава, че записаното свойство съответства на очаквана стойност Записва свойство по време на изпълнение, така че по-късна стъпка да може да го използва повторно
Въздействие на успешно/неуспешно оценяване Не успява стъпката и докладва несъответствие в резултатите Никога не се проваля на теста сам по себе си
Къде отива стойността Сравнено вътрешно, показано като PASS/FAIL в резултатите от теста Съхранява се в таблицата с данни по време на изпълнение или в променлива
Типична употреба Потвърдете заглавието на страницата или общата сума в базата данни Предайте генериран номер на поръчка в следващото действие

Използвайте контролна точка, когато скриптът се нуждае от доказателство за успешно/неуспешно преминаване, и изходна стойност, когато по-късна стъпка се нуждае от заснетите данни като вход.

Как да вмъкнете контролна точка в UFT/QTP

Повечето типове контролни точки могат да бъдат вмъкнати само докато UFT записва; след като записът спре, менюто с контролни точки става недостъпно за нови вмъквания. Стъпките по-долу вмъкват стандартна контролна точка, най-често използваният тип.

Кликнете тук ако видеото не е достъпно

  1. Отворете тестваното приложение и започнете запис in UFT.
  2. Придвижете се до екрана или обекта за проверка, след което щракнете с десния бутон върху стъпката, непосредствено след която се намира контролната точка.
  3. От контекстното меню изберете „Вмъкни стандартна контролна точка“ или изберете конкретен тип – растерно изображение, база данни, таблица и т.н. – от подменюто „Контрольна точка“.
  4. В диалоговия прозорец „Свойства на контролната точка“ запазете името на контролната точка по подразбиране или го заменете с описателно.
  5. Изберете свойствата на обекта за проверка. Всяко избрано свойство е маркирано с отметка; иконата ABC маркира постоянна стойност и иконата се променя, ако свойството е параметризирано.
  6. Кликнете върху OK. UFT вмъква оператор Check веднага след текущата стъпка.
  7. Спрете записа и пуснете теста отново, за да потвърдите, че контролните точки са отчели PASS (УСПЕШЕН).

⚠ Често срещана грешка: Ако стъпката непосредствено преди контролната точка се затваря или замества прозореца, към който е насочена, UFT хвърля грешка по време на изпълнение, защото обектът вече не съществува, когато контролната точка се опита да го прочете. В HP QTPПренареждането на засегнатите стъпки, така че целевият обект да е все още отворен, когато контролната точка се изпълни, обикновено е достатъчно, за да се поправи проблемът.

Откъсът от VBScript по-долу показва същата идея, изразена чрез UFT обектен модел за автоматизация: оператор Check, който връща булева стойност, която скриптът след това докладва чрез обекта Reporter.

Dim Result ' Holds the PASS/FAIL outcome of the checkpoint

Browser("Flight Reservation").Page("Flight Reservation").WinEdit("Agent Name:").Set "Diana"
Browser("Flight Reservation").Page("Flight Reservation").WinButton("OK").Click

' Run the Standard Checkpoint that was inserted after the OK click
Result = Browser("Flight Reservation").Page("Flight Reservation").Check(CheckPoint("Flight Reservation Window"))

If Result Then
    Reporter.ReportEvent micPass, "Checkpoint Passed", "Flight Reservation window matches expected values"
Else
    Reporter.ReportEvent micFail, "Checkpoint Failed", "Flight Reservation window does not match expected values"
End If

Това видео показва различните видове контролни точки, налични в UFT/QTP, включително стандартни, растерни и контролни точки за бази данни в действие.

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

Контролната точка е надеждна само толкова, колкото са надеждни обектът и свойството, към които е насочена. Практиките по-долу поддържат контролните точки точни, когато тестваното приложение се променя.

  • Проверете конкретния обект, а не цялата страница, за да избегнете нестабилни тестове, които се провалят при несвързани промени в потребителския интерфейс.
  • Дръжте проверения обект отворен, когато контролната точка се изпълни; пренареждането на стъпка често е решението за грешката по време на изпълнение „обектът не е намерен“, описана по-горе.
  • предпочитам База данни или XML контролни точки вместо Bitmap контролни точки за валидиране на данни — сравненията на bitmap прекъсват при промени в шрифта, резолюцията или темата, които нямат нищо общо с данните.
  • Параметризирайте стойностите на контролните точки от таблица с данни, когато една и съща проверка трябва да се изпълни в множество тестови итерации.
  • Наименувайте всяка контролна точка описателно, така че евентуална грешка да бъде лесно откриваема в прозореца с резултати от теста.
  • Сдвояване на контролни точки със синхронизация, като например оператор Wait или Sync метод, така че проверката никога не се изпълнява, преди страницата да се зареди напълно.

Въпроси и Отговори

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

Да. Щракнете с десния бутон върху оператора за проверка в изгледа „Ключови думи“ или „Експертен изглед“ и изберете „Свойства на контролната точка“, за да промените проверяваните свойства, очакваните стойности или името на контролната точка по всяко време.

Да, когато тестът използва UFT Мобилна добавка. Стандартните, растерните и текстовите контролни точки работят върху оригинални и хибридни мобилни обекти по същия начин, както работят върху настолни и уеб обекти.

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

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

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