Parameetrid, funktsioonid, tehingud LoadRunneris
Salvestatud skript võib simuleerida virtuaalset kasutajat; pelgalt salvestusest ei pruugi siiski piisata, et reprodutseerida „tegelik kasutaja käitumine”.
Kui skript on salvestatud, katab see teemarakenduse ühe ja sirge voo. Tõeline kasutaja võib enne väljalogimist sooritada mis tahes protsessi mitu kordamist. Nuppude klõpsamise vaheline viivitus (mõtlemisaeg) on inimestel erinev. On tõenäoline, et mõned tegelikud kasutajad pääsevad teie rakendusele juurde DSL-i kaudu ja mõned pääsevad sellele juurde sissehelistamisega. Nii et lõppkasutaja tõelise tunde saamiseks peame täiustama oma skripte, et need vastaksid täpselt või vähemalt oma käitumiselt päriskasutajatele väga sarnased.
Ülaltoodu on kõige olulisem kaalutlus "Jõudluse testimine”, kuid sõidukiüksuse skriptis on palju enamat. Kuidas hinnata täpset aega, mis kulub VU-seadmel, kui SUL läbib jõudlustesti? Kuidas saate teada, kas VUser on teatud hetkel läbinud või ebaõnnestunud? Mis on tõrke põhjus, kas mõni taustaprotsess ebaõnnestus või serveri ressursid olid piiratud?
Peame oma skripti täiustama, et aidata vastata kõigile ülaltoodud küsimustele.
Tehingute kasutamine
Tehingud on mehhanismid serveri reageerimisaja mõõtmiseks mis tahes toimingu jaoks. Lihtsamalt öeldes aitab „Tehingu” kasutamine mõõta aega, mis süsteemil konkreetse päringu täitmiseks kulub. See võib olla nii väike kui nupuklõps või AJAX-i kõne, kui fookus tekstikastist kaob.
Tehingute rakendamine on lihtne. Enne serverile päringu esitamist kirjutage lihtsalt üks koodirida ja sulgege tehing, kui päring lõpeb. LoadRunner nõuab 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("Minu_sisselogimine", LR_AUTO);
lr_end_transaction(“001_Avamise_Armatuurlaua nimi”, LR_PASS);
lr_end_transaction("Äri_töövoo_tehingu nimi", LR_FAIL);
Märkused:
- Ärge unustage, et töötate tähega C ja see on tõstutundlik keel.
- Punkt (.) ei ole tehingu nimes lubatud, kuigi võite kasutada tühikuid ja alakriipsu.
- Kui olete oma koodi hästi hargnenud ja lisanud kontrollpunktid, et kontrollida serveri vastust, saate kasutada kohandatud veakäsitlust, näiteks LR_PASS või LR_FAIL. Vastasel juhul saate kasutada funktsiooni LR_AUTO ja LoadRunner käsitleb automaatselt serveritõrkeid (HTTP 500, 400 jne)
- Tehingute rakendamisel veenduge, et pole mõtlemisaeg avaldus on vahele jäänud või muul juhul sisaldab teie tehing alati seda perioodi.
- Kuna LoadRunner nõuab tehingu nimena konstantset stringi, on tehingu rakendamisel tavaline probleem stringi mittevastavus. Kui annate tehingu avamisel ja sulgemisel erineva nime, ilmneb vähemalt 2 viga. Kuna teie avatud tehingut ei suletud kunagi, annab LoadRunner veateate. Pealegi, tehingut, mida proovite sulgeda, ei avatud kunagi, mistõttu tekkis viga.
- Kas saate kasutada oma intelligentsust ja vastata endale, millisest ülaltoodud veast teatatakse esimesena? Oma vastuse kinnitamiseks tehke oma viga? Kui vastasite õigesti, olete õigel teel. Kui vastasid valesti, pead keskenduma.
- Kuna LoadRunner hoolitseb päringute ja vastuste sünkroonimise eest automaatselt, ei pea te tehingute rakendamisel reageerimise pärast muretsema.
Mõtlemisaja, kohtumispunktide ja kommentaaride mõistmine
Kohtumispunktid
Rendezvous Points tähendab "kohtumispunkte". See on vaid üks lauserida, mis käsib LoadRunneril samaaegsust kasutusele võtta. Sisestate kohtumispunktid VUser-i skriptidesse, et emuleerida serveri suurt kasutajakoormust.
Kohtumispunktid juhendavad VUser-i testimise ajal ootama, kuni mitu VU-seerijat teatud punkti saabuvad, et nad saaksid toimingut samaaegselt täita. Näiteks pangaserveri tippkoormuse jäljendamiseks saate sisestada kohtumispunkti, mis annab 100 VUser'ile korralduse kanda samal ajal oma kontodele sularaha. Seda saab hõlpsasti saavutada kohtumise abil.
Kui kohtumispunktid pole õigesti paigutatud, pääseb VUser rakenduse erinevatele osadele juurde – isegi sama skripti puhul. Selle põhjuseks on asjaolu, et igal VU-seerijal on erinev reageerimisaeg ja seetõttu jäävad vähesed kasutajad maha.
Süntaks: lr_rendesvous("Loogiline nimi");
Parimad tavad:
- Koodi parema loetavuse huvides lisage kohtumispunkti ees "rdv_"; nt "rdv_Login"
- Eemaldage kõik vahetu mõtlemisaja avaldused
- Kohtumispunktide rakendamine skriptivaates (pärast salvestamist)
Kommentaarid
Lisage kommentaare, et kirjeldada tegevust, koodijuppi või koodirida. Kommentaarid aitavad muuta koodi arusaadavaks kõigile, kes sellele viitavad tulevikus. Need annavad teavet konkreetse toimingu kohta ja eraldavad kaks jaotist eristamiseks.
Saate lisada kommentaare
- Salvestamise ajal (tööriista kasutades)
- Pärast salvestamist (otse koodi kirjutamine)
Parim tava: märkige kõik kommentaarid iga skriptifaili ülaossa
Funktsioonide sisestamine menüü kaudu
Kuigi saate otse kirjutada lihtsaid koodiridu, võib teil vaja minna funktsiooni meeldetuletamiseks vihjet. Funktsioonide otsimiseks ja sisestamiseks otse skripti saate kasutada ka sammude tööriistakasti (enne versiooni 12 tuntud kui funktsiooni lisamine).
Sammude tööriistariba leiate jaotisest Vaade àSteps Toolbox.
See avab külgakna ja vaadake hetktõmmist:
Mis on parameetristamine?
A parameeter VUGenis on konteiner, mis sisaldab salvestatud väärtust, mis asendatakse erinevate kasutajate jaoks.
Skripti täitmise ajal (VUGenis või kontrolleris) asendab välise allika (nt .txt, XML või andmebaas) väärtus parameetri eelmise väärtuse.
Parameetristamine on kasulik näiteks dünaamiliste (või kordumatud) väärtuste saatmisel serverisse; äriprotsessis soovitakse käitada 10 iteratsiooni, kuid valida iga kord kordumatu kasutajanimi.
See aitab stimuleerida ka subjektisüsteemi reaalset käitumist. Vaadake allolevat näidet:
Probleemi näited:
Äriprotsess töötab ainult praegusel kuupäeval, mis pärineb serverist, seega ei saa seda edastada kõvakoodiga päringuna.
Mõnikord edastab klientrakendus serverile kordumatu ID (nt session_id), et protsess jätkuks (isegi ühe kasutaja puhul) – sellisel juhul aitab parameetrite määramine.
Sageli hoiab klientrakendus serverisse saadetavate ja serverist saadetavate andmete vahemälu. Selle tulemusena ei saa server tegelikku kasutaja käitumist (juhul, kui server kasutab otsingukriteeriumidest sõltuvalt teistsugust algoritmi). Kuigi VUser skript käivitub edukalt, pole joonistatud toimivusstatistika tähendusrikas. Erinevate andmete kasutamine parameetrite abil aitab emuleerida serveripoolseid tegevusi (protseduure jne) ja treenida süsteemi.
Kuupäev, mis on salvestamise ajal VU-seadmesse jämedalt kodeeritud, ei pruugi pärast selle kuupäeva möödumist enam kehtida. Kuupäeva parameetrite määramine võimaldab VUser'i käivitamisel õnnestuda, asendades kõvakoodiga kuupäeva. Sellised väljad või päringud on parameetrite määramiseks õiged kandidaadid.
Click siin kui video pole juurdepääsetav
Käitusaja sätted ja nende mõju sõidukiüksuse simulatsioonile
Käitusaja sätted on sama olulised kui teie VUGeni skript. Erinevate konfiguratsioonidega saate hankida erinevaid katsekujundusi. Seetõttu võite jõuda mittekordatavate tulemusteni, kui käitusaja sätted ei ole järjepidevad. Arutame iga atribuuti ükshaaval.
Käivitage Logic
Run Logic määrab, mitu korda kõiki toiminguid, välja arvatud vuser_init ja vuser_end, teostatakse.
Tõenäoliselt teeb see selgemaks, miks LoadRunner soovitab hoida kogu sisselogimiskoodi vuser_init ja väljalogimise osa ainult vuser_endis.
Kui olete loonud mitu toimingut, oletame, et logige sisse, avage ekraan, arvutage laenutasu, esitage raha, kontrollige saldot ja logige välja, siis toimub iga VU-kasutaja jaoks allolev stsenaarium:
Kõik VU kasutajad logivad sisse, käivitavad ekraani avamise, rendi arvutamise, raha esitamise, saldo kontrollimise – seejärel – uuesti avamise, üürisummade arvutamise ja nii edasi – 10 korda kordamise – millele järgneb väljalogimine (üks kord).
See on võimas seade, mis võimaldab käituda rohkem nagu päriskasutaja. Pidage meeles, et tõeline kasutaja ei logi sisse ega logi välja iga kord – tavaliselt kordab ta samu samme.
Mitu korda klõpsate enne väljalogimist oma e-kirjade kontrollimisel sisendkausta?
kõndimine
See on oluline. Enamasti ei suuda inimesed mõista tempo ja mõtlemisaja erinevust. Ainus erinevus on see, "Stimulatsioon viitab iteratsioonide vahelisele viivile", samas kui arvan, et aeg on viivitus mis tahes kahe sammu vahel.
Soovitatav seadistus sõltub testi ülesehitusest. Kui soovite aga agressiivset koormust, kaaluge valikut „Niipea, kui eelmine iteratsioon lõpeb”
Logi
Logi (nagu üldiselt mõistetakse) on kõigi sündmuste raamatupidamine LoadRunneri käitamise ajal. Saate lubada logi, et teada saada, mis teie rakenduse ja serveri vahel toimub.
LoadRunner pakub võimsat logimismehhanismi, mis on tugev ja iseseisvalt skaleeritav. See võimaldab teil hoida ainult "Standard Logi" või üksikasjalikku, konfigureeritavat laiendatud logi või selle üldse keelata.
Standardlogi on informatiivne ja kergesti mõistetav. See sisaldab täpselt nii palju teadmisi, mida tavaliselt vajate VUser skriptide tõrkeotsinguks.
Laiendatud logi puhul on kogu standardse logiteave alamhulk. Lisaks saate parameetreid asendada. See käsib LoadRunneri komponendil lisada täielikku teavet kõigi parameetrite kohta (alates parameetritest), sealhulgas päringute ja vastuseandmete kohta.
Kui lisate "Serveri poolt tagastatud andmed", siis teie logi pikeneb. See hõlmab kogu HTML-i, silte, ressursse ja mitteressursside teavet, mis sisalduvad otse logis. Valik on hea ainult siis, kui vajate tõsist tõrkeotsingut. Tavaliselt muudab see logifaili väga suureks ja raskesti mõistetavaks.
Nagu võisite praegu arvata, kui valite Advance Trace'i, on teie logifail tohutu. Peate proovima. Märkate, et VUGeni kuluv aeg on samuti oluliselt suurenenud, kuigi see ei mõjuta VUGeni teatatud tehingu reageerimisaega. See on aga väga eelteave ja võib-olla kasulik, kui mõistate teemarakendust, kliendi-serveri sidet teie rakenduse ja riistvara vahel ning protokollitaseme üksikasju. Tavaliselt on see teave sisuliselt surnud, kuna selle mõistmine ja tõrkeotsing nõuab suuri jõupingutusi.
Nõuanne:
- Olenemata sellest, kui palju aega VUGen logi sisselülitamisel võtab, ei mõjuta see tehingu reageerimisaega. HP nimetab seda nähtust tipptehnoloogiaks.
- Keela logi, kui see pole vajalik.
- Kui olete oma skriptidega lõpetanud, keelake logi. Lubatud logimisega skriptide kaasamine muudab kontrolleri aeglasemaks ja teatab häirivatest sõnumitest.
- Logi keelamine suurendab LoadRunneriga simuleeritavate kasutajate maksimaalset arvu.
- Kaaluge "Saada sõnum ainult vea ilmnemisel" kasutamist – see vaigistab mittevajalikud teabeteated ja teavitab ainult veateadetest.
Mõtle Timesile
Mõelge, et aeg on lihtsalt kahe etapi vaheline viivitus.
Think Time aitab kasutaja käitumist korrata, kuna ükski tegelik kasutaja ei saa kasutada ühtegi rakendust nagu masin (VUGen). VUGen genereerib mõtlemisaega automaatselt. Teil on endiselt täielik kontroll mõtteaja eemaldamise, korrutamise või muutmise üle.
Rohkema mõistmiseks võib kasutaja näiteks avada ekraani (see on vastus, millele järgneb päring) ja seejärel sisestada enne sisestusklahvi vajutamist kasutajanime ja parooli. Rakenduse järgmine suhtlus serveriga toimub siis, kui ta klõpsab "Logi sisse". Aeg, mille jooksul kasutaja oma kasutajanime ja parooli sisestas, on LoadRunneris Think Time.
Kui soovite simuleerida rakenduse agressiivset koormust, kaaluge mõtlemisaja täielikku keelamist.
Tõelise sarnase käitumise simuleerimiseks saate aga valida „Kasutaja juhuslik mõtlemisaeg” ja määrata soovitud protsendid.
Kaaluge Limit Think Time kasutamist seadusliku perioodiga. Tavaliselt on 30 sekundit üsna hea.
Kiiruse simulatsioon
Kiiruse simulatsioon viitab lihtsalt iga klientmasina ribalaiuse mahule.
Kuna me simuleerime LoadRunneri kaudu tuhandeid VUsereid, on hämmastav, kui lihtsaks on LoadRunner teinud ribalaiuse/võrgukiiruse simulatsiooni juhtimiseks.
Kui olete kliendid, kes pääsevad oma rakendusele juurde kiirusega üle 128 Kbps, saate seda siit juhtida. Saate simuleerida "tõelist sarnast käitumist", mis peaks aitama saada õiget toimivusstatistikat.
Parim soovitus on seada seadeks Kasuta maksimaalset ribalaiust. See aitab tähelepanuta jätta kõik võrguga seotud jõudluse kitsaskohad ja keskenduda esmalt rakenduse võimalikele probleemidele. Saate testi alati mitu korda läbi viia, et näha erinevat käitumist erinevates olukordades.
Brauseri emulatsioon
Kasutajakogemus ei sõltu lõppkasutaja kasutatavast brauserist. Ilmselgelt jääb see tulemusnäitajate reguleerimisalast välja. Siiski saate valida, millist brauserit soovite emuleerida.
Kas saate endale vastata, millal on selles konfiguratsioonis õige brauseri valimine tõesti oluline?
Kasutate seda konfiguratsiooni, kui teie teemarakendus on veebirakendus, mis tagastab erinevatele brauseritele erinevaid vastuseid. Näiteks näete erinevaid pilte ja sisu IE ja Firefox ja nii edasi
Teine oluline seade on brauseri vahemälu simuleerimine. Kui soovite mõõta reageerimisaega, kui vahemälu on lubatud, märkige see ruut. Kui otsite halvimat olukorda, pole see ilmselgelt arvesse võetud.
Mitte-HTML-ressursside allalaadimine võimaldab LoadRunneril alla laadida mis tahes CSS-i, JS-i ja muud rikasmeediumit. Seda tuleks kontrollida. Kui aga soovite selle oma jõudlustesti disainist välja jätta, võite selle märke tühistada.
Volikiri
Parim on puhverserver täielikult eemaldada Testi keskkond – see muudab testi tulemused ebausaldusväärseks. Siiski võite kokku puutuda olukordadega, kus see on vältimatu. Sellises olukorras hõlbustab LoadRunner teid puhverserveri sätetega.
Töötate (või peaksite töötama) puhverserveri sättega. Saate selle hankida oma vaikebrauserist. Ärge unustage siiski kontrollida, milline brauser on vaikebrauserile seatud ja milline on vaikebrauseri puhverserveri konfiguratsioon.
Kui kasutate puhverserverit ja see nõuab autentimist (või skripti), võite klõpsata nupul Autentimine, mis viib uude aknasse. Vaadake allolevat ekraanipilti.
Kasutage seda ekraani puhverserveris autentimiseks kasutajanime ja parooli sisestamiseks. Ekraani sulgemiseks klõpsake nuppu OK.
Palju õnne. Olete oma VUGeni skripti seadistamisega lõpetanud. Ärge unustage seda konfigureerida kõigi oma VUser skriptide jaoks.