Как да използвате Транзакции в QTP/UFT

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

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

  • 🔘 Основание: Транзакцията умножава времето на един бизнес поток, като например резервиране на полет, а не на целия тест.
  • ☑️ Вмъкване: Менюто „Вмъкване“ добавя оператори „Начало на транзакция“ и „Край на транзакцията“ около избраните стъпки.
  • Изявления: Services.StartTransaction и Services.EndTransaction вършат същата работа директно в редактора.
  • 🧪 Резултати: Крайното изявление отчита име, статус, обща продължителност и загубено време.
  • 🛠️ Влагане: Транзакциите могат да бъдат вложени, но две отворени транзакции никога не трябва да споделят едно и също име.
  • ⚠️ интеграция: LoadRunner и Business Process Monitor само за четене на данни, записани в рамките на транзакция.

Как да използвате Транзакции в QTP UFT

In UFT Един/QTPМожете да измерите колко време отнема изпълнението на раздел от теста ви, като дефинирате Транзакции. Дефинирате транзакциите в рамките на теста си, като ограждате съответните раздели на теста с начални и крайни оператори за транзакции.

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

⚠️ Наименование на продукта: инструментът, доставен като HP QuickTest Professional (QTP), стана HP, а след това Micro Focus Unified Functional Testing и се продава днес от OpenText, чиито текущи помощни страници го наричат OpenText Функционално тестване. Транзакциите работят по един и същи начин във всяка една от тези версии.

Как да вмъкнете транзакции в QTP?

Можете също да вмъкнете транзакция в транзакция

Следващият видеоклип ви превежда през стъпките за вмъкване на транзакция UFT One.

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

Например, може да искате да отбележите времето, необходимо за Резервирай Полет.

  1. In QTP, изберете съответния щат, в който искате да започнете транзакцията си.
  2. Изберете Вмъкване на стартиране на транзакция. Стартиране на диалогов прозорец за транзакция Box отваря
  3. Дайте подходящо име на транзакцията, кажете „Време за резервация“
  4. В теста се добавя изявление за стартиране на транзакция
  5. Изберете държавата, в която искате да приключите транзакцията
  6. Щракнете върху Вмъкване > Край на транзакцията
  7. Диалогов прозорец за край на транзакцията Box Отваря се със списъка на всички налични транзакции
  8. Щракнете върху OK. Добавя се извлечение за край на транзакцията
  9. Нека направим теста
  10. В резултатите изявлението за крайна транзакция дава времето, необходимо за въвеждане на поръчката

Забележка: същите диалогови прозорци се достигат от Преглед на ключови думии стъпката Generator вмъква идентичните оператори, без да отваря менюто „Вмъкване“.

Отчетите за транзакции в редактора

Диалоговите прозорци по-горе изписват две vbscript редове в теста. Тайping Самостоятелното им създаване в редактора е по-бързо, след като шаблонът е запознат, и е единствената опция, когато стъпките се генерират от код.

Services.StartTransaction "Booking Time"

' the steps that book the flight go here

Services.EndTransaction "Booking Time"

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

Изявление Аргументи Какво го прави
Услуги.СтартТранзакция Име Започва измерването на времето в този момент от бягането
Услуги.Край на транзакцията Име, [Статус] Спира измерването и записва резултата

Незадължителният статус определя как ще бъде оценена транзакцията. Пропускането му е същото като преминаване. Автоматичен.

  • Автоматичен — преминава, освен ако не е възникнала грешка между двете твърдения. Това е настройката по подразбиране.
  • Pass — винаги завършва със статус „Успешен“.
  • Fail — винаги завършва със статус „Неуспешно“.
Services.StartTransaction "Booking Time"
Wait 1
Services.EndTransaction "Booking Time", Pass

Четене на резултатите от транзакциите

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

Поле за резултати Значение
Име на транзакцията Името, посочено в началния оператор
Краен статус Преминал или неминал, определя се от аргумента за състояние или от Auto
Обща продължителност Изминало време между началните и крайните оператори
Изгубено време Време в рамките на продължителността, която UFT Един от тях добави

Загубеното време е от значение, защото инструментът изпълнява фонови процеси, докато транзакцията е отворена.tracВземете го от общата продължителност, за да прецените какво би отнело само приложението, което е числото, което си струва да се сравни между компилациите.

Продължителността на работа с един потребител е функционален бенчмарк, а не показател на натоварване. Едновременността се измерва с тестване на производителността инструмент, а транзакция, която е добра за един потребител, все още може да се срине под сто.

Вложени и разпределени транзакции

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

Две правила осигуряват безопасността на гнезденето.

  • Всяко име се нуждае от съответстваща двойка, а началният оператор трябва да се появява преди крайния оператор.
  • Само една транзакция с дадено име може да бъде отворена едновременно. Отварянето на втора транзакция със същото име завършва първата със статус „Неуспешно“.

Разпределената транзакция отива по-далеч и обхваща два теста: Услуги.СтартДистрибуиранаТранзакция отваря го в първия тест и Услуги.Край на разпределената транзакция затваря го във втората, съпоставен с уникален идентификатор, а не с име. Съществува за Business Process Monitor и LoadRunner сценарии, които четат само данните, записани в рамките на транзакцията, и игнорират всичко извън нея.

Когато дадена стъпка в рамките на транзакция може легитимно да се провали, сдвоете транзакцията с сценарий за възстановяване така че run достига до end оператора, вместо до stopping наполовина.

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

Транзакцията докладва именуван резултат със статус в резултатите от изпълнението и в LoadRunner. MercuryТаймерът измерва само изминалите милисекунди в скрипта, които след това вие отчитате или конвертирате сами.

Времето за несвързана операция с MercuryТаймер, след което предайте стойността на Services.AddWastedTime. Загубеното време се приспада от всяка отворена транзакция, така че отчетената продължителност отразява само тествания поток.

Грешка преди крайния оператор спира изпълнението по подразбиране. В панела „Изпълнение“ на „Настройки на теста“ задайте опцията за грешка, за да продължите към следващата стъпка, така че крайният оператор все пак да бъде достигнат и транзакцията да бъде записана.

В LoadRunner контролера, а не в прозореца Run Results. Изпращат се само стъпки, затворени в транзакция, така че всичко извън началната и крайната двойка никога не достига до отчета за производителността.

Да. Services.SetTransaction приема име, продължителност в секунди и статус, което позволява на скрипта да регистрира измерване, което сам е изчислил, вместо такова, което инструментът е замерил.

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

Да. Копилот на GitHub допълва двойката Services.StartTransaction и Services.EndTransaction от коментар, въпреки че името на транзакцията и константата за състояние все още се нуждаят от проверка спрямо използваната конвенция за именуване.

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

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