Parameetrid, funktsioonid, tehingud LoadRunneris
⚡ Nutikas kokkuvõte
Parameetristamine, tehingud ja käitusaja seaded on kolm täiustust, mis muudavad tavalise VuGeni salvestuse skriptiks, mis käitub nagu päris kasutaja ja annab aru ajastustest, mida saab tegelikult usaldada.

Salvestatud skript võib simuleerida virtuaalset kasutajat; aga pelgalt salvestusest ei pruugi piisata tegeliku kasutaja käitumise jäljendamiseks.
Kui skript salvestatakse, hõlmab see ühte sirget voogu läbi kõnealuse rakenduse. Päris kasutaja võib enne väljalogimist protsessi mitu korda korrata. Nuppude klõpsamise vaheline viivitus (mõtle ajale) on inimeseti erinev ja mõned kasutajad jõuavad teie rakendusse kiire ühenduse kaudu, teised aga mitte. Seega, et saada lõppkasutaja tegeliku tunde, peame oma skripte täiustama, et need käituksid väga sarnaselt päris kasutajate omaga.
See on kõige olulisem kaalutlus läbiviimisel „Jõudluse testimine”, aga VUser-skriptil on enamat. Kuidas mõõta VUseri tööks kuluvat aega koormuse all oleva süsteemi (SUL) testimise ajal? Kuidas teada saada, kas VUser sooritas testi mingil hetkel edukalt või mitte ning kas mõni taustprotsess ebaõnnestus või serveri ressursid said otsa?
Kõigile ülaltoodud küsimustele vastamiseks peame oma skripti täiustama.
Brändi märkus: VuGenit tarniti HP, seejärel Micro Focusana ja see on nüüd osa ettevõttest OpenText Professionaalne jõudlustehnikaAllolevad funktsioonid ja sätted jäävad samaks.
Tehingute kasutamine
Tehingud mõõdavad serveri reageerimisaega mis tahes toimingu puhul. Lihtsamalt öeldes mõõdab „tehing” aega, mis süsteemil konkreetse päringu täitmiseks kulub. See võib olla nii väike kui nupuklõps või AJAX-kõne, mis käivitatakse tekstikasti fookuse kaotamisel.
Tehingute rakendamine on lihtne. Kirjutage enne päringu esitamist üks koodirida ja sulgege tehing pärast päringu lõppu. LoadRunner vajab tehingu nimena ainult stringi.
Tehingu avamiseks kasutage seda koodirida:
lr_start_transaction(“Transaction Name”);
Tehingu sulgemiseks kasutage seda koodirida:
lr_end_transaction(“Transaction Name”, <status>);
The teatab LoadRunnerile, kas see konkreetne tehing oli edukas või ebaõnnestunud. Võimalikud parameetrid võivad olla järgmised:
- LR_AUTO
- LR_PASS
- LR_FAIL
Näide:
lr_end_transaction(“My_Login”, LR_AUTO); lr_end_transaction(“001_Opening_Dashboard Name”, LR_PASS); lr_end_transaction(“Business_Workflow_Transaction Name”, LR_FAIL);
Code märkused: Koodijupid on reprodutseeritud täpselt nii, nagu need avaldati, koos tüpograafiliste tsitaatidega. Päris VuGeni skript vajab sirgeid ASCII jutumärke, seega tippige need uuesti, kui kopeerite selle koodi.
Märkused:
- Ärge unustage, et töötate tähega C ja see on tõstutundlik keel.
- Punkt (.) ei ole tehingu nimes lubatud, kuigi tühikuid ja alakriipse saab kasutada.
- Kui olete oma koodi hästi hargnenud ja lisanud kontrollpunktid serveri vastuse kontrollimiseks, saate kasutada kohandatud veakäsitlust, näiteks LR_PASS või LR_FAIL. Vastasel juhul võite kasutada LR_AUTO ja LoadRunner käsitleb serverivigu (HTTP 500, 400 jne) automaatselt.
- Tehingute rakendamisel veenduge, et sinna ei oleks lisatud mõtlemisaja lauset, vastasel juhul sisaldab teie tehing seda perioodi alati.
- Kuna LoadRunner nõuab tehingu nimena konstantset stringi, on tehingute rakendamisel levinud probleemiks stringide mittevastavus. Kui annate tehingu avamisel ja sulgemisel erineva nime, saate vähemalt kaks viga. Avatud tehingut ei suletud kunagi, seega annab LoadRunner vea; ja tehingut, mida proovite sulgeda, ei avatud kunagi, mis annab teise vea.
- Mõlemad vead ilmuvad korduslogisse, seega kontrollige alati, kui kumbagi neist teatatakse, kõigepealt tehingu nime avamis- ja sulgemisavaldusel.
- Kuna LoadRunner hoolitseb päringute ja vastuste sünkroonimise eest automaatselt, ei pea te tehingute rakendamisel vastuste pärast muretsema.
Kohtumispunktid, kommentaarid ja skriptifunktsioonid
Kolm väiksemat täiustust muudavad skripti käituma ja lugema nagu tootmiskoodi: kohtumispunktid, kommentaarid ja VuGeni sisseehitatud funktsioonide brauser.
Kohtumispunktid
Kohtumispunkt on „kohtumispunkt“. See on üksik lause, mis käsib LoadRunneril sisse viia samaaegsuse. Kohtumispunktid lisatakse VUser-skriptidesse, et jäljendada serveri suurt kasutajakoormust.
Kohtumispunktid annavad VUserile käsu täitmise ajal oodata, kuni mitu VUserit saabuvad teatud punkti, et nad saaksid samaaegselt ülesannet täita. Näiteks pangaserveri tippkoormuse jäljendamiseks sisestage kohtumispunkt, mis annab 100 VUserile käsu sularaha samaaegselt sisse maksta.
Kui kohtumispunktid pole õigesti paigutatud, pääsevad virtuaalkasutajad (VUser) ligi rakenduse erinevatele osadele isegi sama skripti puhul. Selle põhjuseks on asjaolu, et igal VUseril on erinev reageerimisaeg ja seetõttu jäävad mõned kasutajad maha.
süntaksit:
lr_rendezvous(“Logical Name”);
Parandusmärkus: avaldatud lehel on kirjapilt järgmine lr_rendezvousÕige funktsiooni nimi on lr_kohtumispaik; valesti kirjutatud vorm ei kompileeru.
Parimad tavad:
- Koodi parema loetavuse huvides lisage kohtumispunkti ees "rdv_"; nt "rdv_Login"
- Eemalda kõik vahetult kõrvutiasetsevad mõtlemisaja laused
- Rakenda pärast salvestamist skriptivaates kohtumispunkte
Allolev skriptivaade näitab salvestatud toimingusse lisatud kohtumisavaldust:
Kommentaarid
Lisage kommentaare tegevuse, koodijupi või koodirea kirjeldamiseks. Kommentaarid aitavad koodi arusaadavaks teha kõigile, kes sellele tulevikus viitavad. Need annavad teavet konkreetse toimingu kohta ja eraldavad eristamiseks kaks osa.
Saate lisada kommentaare
- Salvestamise ajal (tööriista kasutades)
- Pärast salvestamist (otse koodi kirjutamine)
Parim tava: märkige iga skriptifaili ülaosas olevad kommentaarid.
Funktsioonide lisamine menüü kaudu
Kuigi lihtsaid koodiridu saab otse kirjutada, võib funktsiooni meeldejätmiseks vaja minna vihjet. Funktsioonide leidmiseks ja otse skripti lisamiseks saab kasutada ka tööriistakasti Steps (enne versiooni 12 tuntud kui funktsiooni lisamine).
Sammude tööriistakasti leiad menüüst Vaade → Sammude tööriistakast, nagu allpool näidatud.
See avab külgakna. Vaadake hetktõmmist:
Mis on parameetristamine?
VuGeni parameeter on konteiner, mis sisaldab salvestatud väärtust, mida erinevate kasutajate jaoks asendatakse.
Skripti täitmise ajal (VuGenis või kontroller) asendab parameetri eelmise väärtuse välise allika (nt .txt-faili, XML-i või andmebaasi) väärtus.
Parameetristamine on kasulik dünaamiliste (või unikaalsete) väärtuste serverisse saatmiseks. Näiteks võib äriprotsess olla kohustatud käivitama 10 iteratsiooni, valides iga kord unikaalse kasutajanime.
See aitab simuleerida ka reaalse elu käitumist õppeaine süsteemi suhtes. Vaadake allolevaid näiteid.
Probleemi näited:
- Äriprotsess töötab ainult praeguse kuupäeva jaoks, mis tuleb serverist, seega ei saa seda edastada kõvakodeeritud päringuna.
- Mõnikord edastab kliendirakendus serverile unikaalse ID (näiteks session_id), et protsess saaks jätkuda isegi ühe kasutaja puhul. Sellisel juhul aitab parameetriseerimine.
- Tihti hoiab kliendirakendus serverisse saadetavate ja serverist tulevate andmete vahemälu. Selle tulemusel ei saa server tegelikku kasutajakäitumist (kus server käitab otsingukriteeriumidest olenevalt erinevat algoritmi). VUser-skript käivitub edukalt, kuid saadud jõudlusstatistika ei ole oluline. Erinevate andmete kasutamine parameetrite abil aitab jäljendada serveripoolset tegevust, näiteks salvestatud protseduure, ja treenib süsteemi.
- Salvestamise ajal VUuserisse kõvakodeeritud kuupäev ei pruugi pärast selle kuupäeva möödumist enam kehtida. Kuupäeva parameetriseerimine võimaldab VUseril edukalt käivitada, asendades kõvakodeeritud kuupäeva. Sellised väljad või päringud on parameetriseerimiseks sobivad kandidaadid.
Selle loomiseks paremklõpsake skriptivaates salvestatud väärtusel ja valige „Asenda parameetriga”. Seejärel küsib VuGen, milline tüüp väärtuse annab:
| Parameetri tüüp | Väärtus, mida see pakub |
|---|---|
| Fail | .dat-faili veerust loetud väärtused. |
| Tabel | Ridade ja veergude plokk korraga. |
| Kuupäev / kellaaeg | Praegune kuupäev ja kellaaeg valitud vormingus. |
| Juhuslik arv | Arv teie määratud vahemikust. |
| Unikaalne number | Eraldiseisev number iga VUseri kohta, algväärtusest ja ploki suurusest lähtuvalt. |
| Iteratsiooni number | Praegune iteratsioonide arv. |
| Vuseri ID | Taasesituse ajal määratud identifikaator. |
| Grupp / Laadimine Generator Eesnimi | VUser grupp või generaatormasin. |
| XML | XML-andmestiku fragment. |
| Kasutaja defineeritud funktsioon | Teie enda teekifunktsiooni tagastatud väärtus. |
Kaks täiendavat valikut määravad, kuidas andmeid iteratsioonide vahel tarbitakse:
| valik | Valikuid | Mida see kontrollib |
|---|---|---|
| Vali järgmine rida | Järjestikune, juhuslik, ainulaadne | Millist rida VUser järgmisena loeb. |
| Väärtuse värskendamine | Iga iteratsioon, iga esinemine, üks kord | Kui väärtust värskendatakse. |
Allolev samm näitab salvestatud skriptile rakendatud parameetrite määramist:
Click siin kui videole ligipääs pole võimalik.
Käitusaja sätted ja nende mõju VUser simulatsioonile
Käitusaja sätted on sama olulised kui teie VuGeni skript. Erinevate konfiguratsioonidega saate saada täiesti erinevaid testidisainilahendusi, mistõttu on ebajärjekindlad käitusaja sätted tavaliselt kordumatute tulemuste põhjuseks. Arutagem iga atribuuti eraldi.
Käivitage Logic
Run Logic määrab, mitu korda kõiki toiminguid, välja arvatud vuser_init ja vuser_end, teostatakse.
See teeb ilmselt selgemaks, miks LoadRunner soovitab kee'iping kogu sisselogimiskood failis vuser_init ja väljalogimisosa failis vuser_end, mõlemad ainult.
Kui olete loonud mitu toimingut – näiteks sisselogimine, ekraani avamine, üüri arvutamine, raha esitamine, saldo kontrollimine ja väljalogimine –, siis toimub iga virtuaalkasutaja jaoks järgmine stsenaarium:
Kõik virtuaalkasutajad logivad sisse, teevad toimingud „Ava ekraan“, „Arvuta üürihind“, „Esita raha“ ja „Kontrolli saldot“, seejärel uuesti „Ava ekraan“, „Arvuta üürihind“ ja nii edasi, korrates seda 10 korda, millele järgneb väljalogimine (üks kord).
See on võimas säte, mis laseb skriptil käituda nagu päris kasutaja. Pea meeles, et päris kasutaja ei logi iga kord sisse ega välja; tavaliselt kordab ta samu samme.
Mitu korda sa enne väljalogimist e-posti kontrollides vajutad nuppu „Postkast”?
kõndimine
See on oluline. Enamik inimesi ei suuda mõista tempo ja mõtlemisaja erinevust. Ainus erinevus on see, et tempo viitab iteratsioonide vahelisele viivitusele, samas kui mõtlemisaeg on viivitus kahe mis tahes sammu vahel.
Soovitatav säte sõltub testi ülesehitusest. Kui aga soovite rakendada agressiivset koormust, kaaluge allpool näidatud viisil valikut „Niipea kui eelmine iteratsioon lõpeb“.
Logi
Üldiselt mõistetakse logina kõigi LoadRunneri käitamise ajal toimunud sündmuste salvestust. Saate logi lubada, et teada saada, mis teie rakenduse ja serveri vahel toimub.
LoadRunner pakub võimsat logimismehhanismi, mis on iseenesest töökindel ja skaleeritav. See võimaldab teil pidada ainult „standardset logi“, üksikasjalikku ja konfigureeritavat laiendatud logi või logimise täielikult keelata.
Standardne logi on informatiivne ja kergesti mõistetav. See sisaldab just parajal hulgal teavet, mida tavaliselt vajate oma VUser-skriptide tõrkeotsinguks.
Laiendatud logi puhul on kogu standardne logiteave alamhulk. Lisaks saab kasutada parameetrite asendamist. See annab LoadRunneri komponendile käsu lisada täielik teave kõigi parameetrite kohta (alates parameetrite määramisest), sealhulgas nii päringud kui ka vastuseandmed.
Kui lisate valiku „Serveri tagastatud andmed”, siis teie logi pikkus kasvab. See sisaldab kogu HTML-i, silte, ressursse ja mitte-ressurssidega seotud teavet otse logis. See valik on hea ainult siis, kui vajate tõsist tõrkeotsingut. Tavaliselt muudab see logifaili väga suureks ja raskesti mõistetavaks.
Nagu te juba arvata võisite, kui valite valiku „Täpsemalt”, Trac„e” on teie logifail tohutu. Peate seda proovima. Märkate, et ka VuGeni poolt kuluv aeg suureneb märkimisväärselt, kuigi see ei mõjuta VuGeni teatatud tehingule reageerimise aega. See on väga edasijõudnud teave ja see on kasulik ainult siis, kui te mõistate kõnealust rakendust, kliendi ja serveri vahelist suhtlust teie rakenduse ja riistvara vahel ning protokolli tasemel üksikasju. Tavaliselt nõuab selle teabe lugemine ja tõrkeotsing äärmist pingutust.
Nõuanne:
- Pole tähtis, kui palju aega VuGen logimise lubamisel võtab, ei mõjuta see tehingule reageerimise aega – logimise üldkulud mõõdetud ajast välja arvata.
- Keelake logi, kui see pole vajalik.
- Kui olete skriptidega lõpetanud, keelake logi. Logimisega skriptide lisamine aeglustab kontrolleri tööd ja annab häirivaid teateid.
- Logi keelamine suurendab LoadRunneri abil simuleeritavate kasutajate maksimaalset arvu.
- Kaalu valiku „Saada sõnumeid ainult vea ilmnemisel” kasutamist – see vaigistab ebavajalikud teavitused ja kuvab ainult veaga seotud teateid.
Mõtle Timesile
Mõelge, et aeg on lihtsalt kahe etapi vaheline viivitus.
Mõtteaeg aitab jäljendada kasutaja käitumist, kuna ükski päris kasutaja ei saa rakendust kasutada nagu masin. VuGen genereerib mõtlemisaega automaatselt. Teil on endiselt täielik kontroll mõtlemisaja kestuse eemaldamise, korrutamise või muutmise üle.
Paremaks mõistmiseks: kasutaja võib avada ekraani (vastuse, millele järgneb päring) ja seejärel sisestada kasutajanime ja parooli enne sisestusklahvi vajutamist. Järgmine suhtlus rakenduse ja serveri vahel toimub siis, kui kasutaja klõpsab nupul „Logi sisse“. Aeg, mis kasutajal kulus kasutajanime ja parooli sisestamiseks, on LoadRunneris Think Time.
Kui soovite simuleerida rakenduse agressiivset koormust, kaaluge mõtlemisaja täielikku keelamist.
Reaalse käitumise simuleerimiseks võite aga valida „Kasuta juhuslikku mõtlemisaega“ ja määrata soovitud protsendid.
Kaalu mõtteaja piiramist, et see mõistliku aja peale piirata. Tavaliselt on 30 sekundit üsna piisav.
Kiiruse simulatsioon
Kiiruse simulatsioon viitab lihtsalt iga kliendimasina ribalaiuse mahutavusele.
Kuna simuleerime LoadRunneri kaudu tuhandeid virtuaalkasutajaid, on tähelepanuväärne, kui lihtsaks on LoadRunner ribalaiuse ja võrgukiiruse simulatsiooni teinud.
Kui teie kliendid pääsevad teie rakendusele juurde kiirusega üle 128 kbit/s, saate seda siit kontrollida. Saate simuleerida reaalset käitumist, mis peaks aitama teil saada õigeid jõudlusstatistikat.
Parim soovitus on seadistada „Kasuta maksimaalset ribalaiust“. See aitab teil ignoreerida võrguga seotud jõudluse kitsaskohti ja keskenduda esmalt rakenduse võimalikele probleemidele. Testi saab alati mitu korda käivitada, et näha erinevat käitumist erinevates olukordades.
Brauseri emulatsioon
Kasutajakogemus ei sõltu lõppkasutaja kasutatavast brauserist, seega jääb see suuresti jõudlusmõõdikute ulatusest välja. Siiski saate valida, millist brauserit soovite jäljendada, nagu allolev paan näitab.
Millal täpselt on selles konfiguratsioonis valitud brauseril tegelikult tähtsust?
Seda konfiguratsiooni kasutatakse juhul, kui tegemist on veebirakendusega, mis tagastab erinevate brauserite puhul erinevaid vastuseid. Näiteks võidakse Internet Exploreri ja teiste brauserite puhul kuvada erinevaid pilte ja sisu. Firefox.
Teine oluline säte on „Simuleeri brauseri vahemälu”. Märkige see ruut, kui soovite mõõta reageerimisaega lubatud vahemäluga. Kui otsite halvimat võimalikku olukorda, pole see ilmselgelt oluline.
„Mitte-HTML-ressursside allalaadimine” lubab LoadRunneril alla laadida mis tahes CSS-i, JS-i ja muud rikkalikku meediat. See peaks jääma märgituks. Kui aga soovite selle oma jõudlustesti kujundusest eemaldada, saate selle valiku tühistada.
Volikiri
Parim on puhverserver täielikult oma arvutist eemaldada. Testi keskkond — teel olev puhverserver muudab testi tulemused ebausaldusväärseks. Siiski võib tekkida olukordi, kus see on vältimatu. Sellises olukorras pakub LoadRunner puhverserveri seadeid.
Sa töötad (või peaksid töötama) sättega „Puhverserverita“. Selle saad oma vaikebrauserist. Ära aga unusta kontrollida, milline brauser on vaikebrauseriks seatud ja milline on selle brauseri puhverserveri konfiguratsioon.
Kui kasutate puhverserverit ja see nõuab autentimist (või skripti), saate klõpsata nupul „Autentimine“, mis viib uude aknasse. Vaadake allolevat ekraanipilti.
Sellel ekraanil saate sisestada puhverserveris autentimiseks kasutajanime ja parooli. Ekraani sulgemiseks klõpsake nuppu OK.
Palju õnne. VuGeni skripti seadistamine on lõppenud. Ära unusta seda seadistada kõigi oma VUseri skriptide jaoks.
Järgmisena tule korrelatsioon, käivitades stsenaariumi kontrollerja lugemise tulemused LoadRunneri analüüs. Vaadake LoadRunneri arhitektuur ja Koormuse testimine juhendid.











