Salvestatud skript võib simuleerida virtuaalset kasutajat; aga pelgalt salvestamisest ei pruugi “tegeliku kasutaja käitumise” kordamiseks piisata.
Kui skript on salvestatud, hõlmab see subjektirakenduse ühte ja sirget voogu. Seejuures võib tegelik kasutaja enne välja logimist sooritada mis tahes protsessi mitu kordust. Nuppude klõpsamise viivitus (mõtlemisaeg) on inimeseti erinev. Võimalik, et mõned tegelikud kasutajad pääsevad teie rakendusele juurde DSL-i kaudu ja mõned - sissehelistamise kaudu. Nii et lõppkasutaja tegeliku tunde saamiseks peame oma skripte täiustama, et need oleksid täpse vastega või vähemalt käitumisega väga lähedased tegelikele kasutajatele.
Ülaltoodu on „jõudlustesti” läbiviimisel kõige olulisem kaalutlus, kuid sõidukiüksuse skriptil on veel midagi. Kuidas saate hinnata VUseri täpset aega, kui SUL-il on jõudlustest? Kuidas saaksite teada, kas kasutajakasutus on teatud hetkel läbinud või ebaõnnestunud? Mis on tõrke põhjus, kas mõni taustaprotsess nurjus või serveri ressursid olid piiratud?
Kõigile ülaltoodud küsimustele vastamiseks peame oma skripti täiustama.
- Tehingute kasutamine
- Mõelda mõtlemisaega, Rendezvous punkte ja kommentaare
- Funktsioonide sisestamine menüü kaudu
- Mis on parameetrid?
- Käitusaja seaded ja nende mõju sõidukiüksuse simulatsioonile
- Käivita loogika
- Tempo
- Logi sisse
- Mõtle korda
- Kiiruse simulatsioon
- Brauseri emuleerimine
- Puhverserver
Tehingute kasutamine
Tehingud on mehaanika serveri reageerimisaja mõõtmiseks mis tahes toimingu jaoks. Lihtsamalt öeldes aitab „Tehingu” kasutamine mõõta süsteemi konkreetse päringu jaoks kuluvat aega. Tekstikastist fookuse kaotamisel võib see olla nii väike kui ühe nupuvajutus või AJAX-kõne.
Tehingute rakendamine on lihtne. Enne serverisse 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 järgmist koodirida:
lr_start_transaction (“Tehingu nimi”);
Tehingu sulgemiseks kasutage järgmist koodirida:
lr_end_transaction („Tehingu nimi”,);
- LR_AUTO
- LR_PASS
- LR_FAIL
Näide:
lr_end_transaction („Minu sisselogimine“, LR_AUTO);
lr_end_transaction („Ettevõtte_töövoo_tehingu nimi”, LR_FAIL);
Märkimist vajavad punktid:
- Ärge unustage, et töötate tähega C ja see on tõstutundlik keel.
- Perioodi (.) Märk pole tehingu nimes lubatud, kuigi võite kasutada tühikuid ja alakriipsu.
- Kui olete oma koodi hästi hargnenud ja serveri vastuse kinnitamiseks kontrollpunktid lisanud, võite kasutada kohandatud tõrkeotsingut, näiteks LR_PASS või LR_FAIL. Vastasel juhul saate kasutada LR_AUTO-d ja LoadRunner haldab serveri tõrkeid (HTTP 500, 400 jne)
- Tehingute rakendamisel veenduge, et ei oleks arvestatud aja_väljavõtet või muul viisil sisaldab teie tehing alati seda perioodi.
- Kuna LoadRunner nõuab tehingu nimena konstantset stringi, on tehingu rakendamisel levinud probleem stringide mittevastavus. Kui annate tehingu avamisel ja sulgemisel teise nime, ilmub vähemalt 2 viga. Kuna teie avatud tehingut ei suletud kunagi, annab LoadRunner vea. Pealegi ei avatud tehingut, mida üritate sulgeda, kunagi avada, mis tõi kaasa vea.
- Kas saate kasutada oma intelligentsust ja vastata iseendale, millest ülaltoodud veast teatatakse kõigepealt? Oma vastuse kinnitamiseks, miks mitte teha oma viga? Kui oleksite õigesti vastanud, olete rajal. Kui vastasite valesti, peate keskenduma.
- Kuna LoadRunner hoolitseb automaatselt taotluste ja vastuste sünkroonimise eest, ei pea te tehingute rakendamisel vastuse pärast muretsema.
Mõelda mõtlemisaega, Rendezvous punkte ja kommentaare
Rendezvous punktid
Rendezvous Points tähendab “kohtumispaiku”. See on vaid üks lauserida, mis käsib LoadRunneril tutvustada samaaegsust. Serverisse kasutajate suure koormuse jäljendamiseks sisestate VUseri skriptidesse kohtumispunktid.
Rendezvous-punktid annavad VUserile korralduse oodata testi käivitamise ajal, kuni mitu VUserit jõuavad teatud punkti, et nad saaksid samaaegselt ülesannet täita. Näiteks pangaserveri tippkoormuse jäljendamiseks võite sisestada kohtumispunkti, mis annab 100 VUserile käsu samal ajal sularaha nende kontodele hoiustada. Seda saab hõlpsasti saavutada kohtumiste abil.
Kui kohtumispunktid pole õigesti paigutatud, pääseb VUser rakenduse erinevatele osadele juurde - isegi sama skripti puhul. Selle põhjuseks on asjaolu, et igal kasutajal on erinev reageerimisaeg ja seetõttu jäävad vähesed kasutajad sellest maha.
Süntaks: lr_rendesvous (“Loogiline nimi”);
Parimad tavad:
- Koodi parema loetavuse tagamiseks lisage kohtumispunkt tähisega “rdv_”; nt „rdv_Login”
- Eemaldage kõik mõtteaja avaldused
- Kohtumispunktide rakendamine skripti vaates (pärast salvestamist)
Kommentaarid
Lisage kommentaare tegevuse, koodijupi või koodirea kirjeldamiseks. Kommentaarid aitavad muuta koodi arusaadavaks kõigile, kes sellele edaspidi viitavad. Need pakuvad teavet konkreetse toimingu kohta ja eristamiseks eristatakse kahte osa.
Saate lisada kommentaare
- Salvestamise ajal (tööriista abil)
- Pärast salvestamist (otse koodi sisestamine)
Parim tava: märkige kommentaarid iga skriptifaili ülaossa
Funktsioonide sisestamine menüü kaudu
Ehkki saate otse kirjutada lihtsaid koodiridu, võib funktsiooni meenutamiseks vaja minna vihjet. Funktsioonide otsimiseks ja skripti sisestamiseks võite kasutada ka Steps Toolboxi (tuntud kui versioonile 12 enne funktsiooni Insert Function).
Tööriistariba Steps leiate jaotisest View àSteps Toolbox.
See avab külgakna, vaadake hetktõmmist:
Mis on parameetrid?
Parameeter on VuGen on konteiner, mis sisaldab registreeritud väärtus, mis asendatakse erinevat kasutajat.
Skripti käivitamise ajal (VUGenis või kontrolleris) asendab välisest allikast pärinev väärtus (nt .txt, XML või andmebaas) parameetri eelmise väärtuse.
Parameetrid on kasulikud näiteks dünaamiliste (või ainulaadsete) väärtuste serverile saatmiseks; äriprotsess soovib käivitada 10 kordust, kuid valib iga kord kordumatu kasutajanime.
Samuti aitab see stimuleerida reaalsarnast käitumist subjektisüsteemis. Vaadake allpool toodud näidet:
Probleeminäited:
Äriprotsess töötab ainult praeguse kuupäeva korral, mis pärineb serverist, seega ei saa seda edastada kõvakoodiga päringuna.
Mõnikord edastab kliendirakendus serverile kordumatu ID (näiteks session_id) protsessi jätkamiseks (isegi ühe kasutaja jaoks) - sellisel juhul aitab parameetrite määramine.
Sageli hooldab kliendirakendus serverile ja serverilt saadetud andmete vahemälu. Seetõttu ei saa server reaalset kasutaja käitumist (juhul kui server töötab vastavalt otsingukriteeriumidele erinevat algoritmi). Kuigi VUseri skript käivitatakse edukalt, pole joonistatud toimivusstatistika mõttekas. Erinevate andmete kasutamine parameetrite abil aitab jäljendada serveripoolset tegevust (protseduure jne) ja harjutab süsteemi.
Kuupäev, mis on salvestamisel VUseris kõvasti kodeeritud, ei pruugi selle kuupäeva möödumisel enam kehtida. Kuupäeva parameetrid võimaldavad kasutajakasutusel edukalt toimida, asendades kõvakodeeritud kuupäeva. Sellised väljad või taotlused on parameetrite jaoks õiged kandidaadid.
Kui videole pole juurdepääsu, klõpsake siin
Käitusaja seaded ja nende mõju sõidukiüksuse simulatsioonile
Käitusaja seaded on sama olulised kui teie VUGeni skript. Erinevate konfiguratsioonidega saate hankida erinevaid testide kujundusi. Sellepärast võite jõuda kordumatute tulemusteni, kui käitusaja seaded pole järjepidevad. Arutame iga omadust ükshaaval.
Käivita loogika
Run Logic määratleb kõigi toimingute, välja arvatud vuser_init ja vuser_end, käivitamiste arvu.
Tõenäoliselt on see selgem, miks LoadRunner soovitab kogu sisselogimiskoodi hoida vuser_initis ja väljalogimise osa vuser_endis, mõlemad.
Kui olete loonud mitu toimingut, ütleme näiteks: Logi sisse, Ava ekraan, Arvuta üür, Esita vahendid, Kontrolli saldot ja väljalogimist, siis toimub iga kasutajajuhi jaoks järgmine stsenaarium:
Kõik sõidukiüksused logivad sisse, täidavad avatud ekraani, arvutavad üüri, esitavad vahendeid, kontrollivad saldot - siis - uuesti avatud ekraan, arvutavad üürid ... ja nii edasi - korduvad 10 korda -, millele järgneb väljalogimine (üks kord).
See on võimas seade, mis võimaldab käituda rohkem nagu tegelik kasutaja. Pidage meeles, et tegelik kasutaja ei logi sisse ega logi iga kord välja - tavaliselt kordab ta samu samme.
Mitu korda klõpsate enne väljalogimist e-kirja kontrollimisel nuppu „postkast”?
Tempo
See on tähtis. Enamasti ei suuda inimesed aru saada erinevast tempo ja mõtlemise ajast. Ainus erinevus on see, et "tempo viitab korduste vahelisele viivitusele", samas kui arvate, et aeg on viivitus kahe sammu vahel.
Soovitatav seadistus sõltub katse kavandist. Kui aga soovite agressiivset koormust, kaaluge valikut „Niipea kui eelmine iteratsioon lõpeb”
Logi sisse
Logi (nagu üldiselt mõistetakse) on kõigi sündmuste raamatupidamine, kui käitate LoadRunnerit. Võite logi lubada, et teada saada, mis teie rakenduse ja serveri vahel toimub.
LoadRunner annab võimsa logimehhanismi, mis on kindel ja omaette skaleeritav. See võimaldab teil säilitada ainult “Standard Log” või üksikasjaliku, konfigureeritava laiendatud logi või selle täielikult keelata.
Tavaline logi on informatiivne ja kergesti mõistetav. See sisaldab täpselt vajalikke teadmisi, mida tavaliselt vajate VUseri skriptide tõrkeotsinguks.
Laiendatud logi korral on kogu logi teave alamhulk. Lisaks saate parameetrid asendada. See käsib LoadRunneri komponendil lisada täielik teave kõigi parameetrite kohta (alates parameetrite määramisest), sealhulgas taotlused, samuti vastuste andmed.
Kui lisate valiku „Serveri tagastatud andmed”, läheb teie logi pikkuseks. See hõlmab kogu logis olevat HTML-i, silte, ressursse ja ressurssidega mitteseotud teavet. Valik on hea ainult siis, kui vajate tõsist tõrkeotsingut. Tavaliselt muudab see logifaili suureks ja pole hõlpsasti mõistetav.
Nagu oleksite juba arvanud, kui valite „Advance Trace”, on teie logifail tohutu. Peate proovima. Märkate, et ka VUGeni kulutatud aeg on oluliselt suurenenud, ehkki see ei mõjuta VUGeni teatatud tehingu reageerimise aega. See on siiski väga eelinfo ja võib-olla kasulik, kui mõistate teema rakendust, kliendi ja serveri vahelist suhtlust teie rakenduse ja riistvara vahel ning ka protokollitaseme üksikasju. Tavaliselt on see teave sisuliselt surnud, kuna selle mõistmiseks ja tõrkeotsinguks on vaja suuri pingutusi.
Nõuanded:
- Ükskõik kui palju aega võtab VUGen logi lubamisel aega, ei mõjuta see tehingu reageerimisaega. HP nimetab seda nähtust "tipptehnoloogiaks".
- Keelake logi, kui see pole vajalik.
- Kui skriptidega olete valmis, keelake logi. Skriptide lisamine, mille logimine on lubatud, põhjustab kontrolleri aeglasema töö ja teavitab häirivatest teadetest.
- Logi keelamine suurendab maksimaalse kasutajate arvu, mida saate LoadRunnerist simuleerida.
- Kaaluge valiku „Saada sõnum ainult vea ilmnemisel” kasutamist - see summutab mittevajalikud infosõnumid ja teatab ainult vigadega seotud teadetest.
Mõtle korda
Mõelge, et aeg on lihtsalt viivitus kahe sammu vahel.
Mõtle aeg aitab kasutaja käitumist korrata, kuna ükski tegelik kasutaja ei saa ühtegi rakendust kasutada nagu masinat (VUGen). VUGen genereerib mõtlemisaega automaatselt. Mõtlemisaja kestuse eemaldamiseks, korrutamiseks või kõikumiseks on teil endiselt täielik kontroll.
Lisateabe saamiseks võib kasutaja näiteks avada ekraani (see on vastus, millele järgneb taotlus) ja seejärel sisestada enne sisestusklahvi sisestamist kasutajanimi ja parool. Rakenduse järgmine suhtlus serveriga toimub siis, kui ta klõpsab nuppu „Logi sisse”. Aeg, mis kasutajal kulus oma kasutajanime ja parooli sisestamiseks, on Think Time LoadRunneris.
Kui soovite simuleerida rakenduse agressiivset koormust, kaaluge mõtteaja täielikku keelamist.
Tõelise sarnase käitumise simuleerimiseks võite siiski määrata "Kasutaja juhusliku mõtlemise aja" ja määrata protsendid vastavalt soovile.
Kaaluge mõtlemisaega piiratud aja jooksul. Tavaliselt on 30 sekundit piisavalt hea.
Kiiruse simulatsioon
Kiiruse simulatsioon viitab lihtsalt iga kliendiseadme ribalaiuse võimsusele.
Kuna me simuleerime tuhandeid sõidukiüksusi LoadRunneri kaudu, on hämmastav, kui lihtne on LoadRunner teinud ribalaiuse / võrgu kiiruse simulatsiooni juhtimiseks.
Kui olete kliendid, pääsete oma rakendusele üle 128 Kbps, saate seda siin juhtida. Te saate simuleerida reaalset sarnast käitumist, mis peaks aitama saada õiget jõudlusstatistikat.
Parim soovitus on seada Kasuta maksimaalset ribalaiust. See aitab eirata kõiki võrguga seotud jõudluse kitsaskohti ja keskenduda kõigepealt rakenduse võimalikele probleemidele. Testi saate alati mitu korda käivitada, et näha erinevatel tingimustel erinevat käitumist.
Brauseri emuleerimine
Kasutajakogemus ei sõltu lõppkasutaja brauserist. Ilmselgelt ei kuulu see tulemuslikkuse näitajate raamesse. Siiski saate valida, millist brauserit soovite jäljendada.
Kas oskate endale vastata, millal teil on selles konfiguratsioonis õige brauseri valimine tegelikult oluline?
Te kasutate seda konfiguratsiooni, kui olete teema rakendus veebirakendus, tagastades erinevate brauserite jaoks erinevad vastused. Näiteks näete IE ja Firefoxi jms erinevaid pilte ja sisu.
Teine oluline säte on brauseri vahemälu simuleerimine. Kui soovite vahemälu lubamise ajal reageerimisaega mõõta, märkige see ruut. Kui otsite halvimat olukorda, pole see ilmselgelt kaalutlus.
Mitte-HTML-ressursside allalaadimine võimaldab LoadRunneril alla laadida kõik CSS-id, JS-id ja muu rikasmeedia. See peaks jääma kontrollituks. Kui soovite selle siiski oma jõudlustesti kujundusest välja jätta, saate selle märkeruudu tühistada.
Puhverserver
Parim on puhverserver testkeskkonnast täielikult kõrvaldada - see muudab testitulemused ebausaldusväärseks. Siiski võite kokku puutuda olukordadega, kus see on paratamatu. Sellises olukorras hõlbustab LoadRunner teid puhverserveri seadistustega.
Töötate (või peaksite töötama) ilma puhverserveri seadeteta. Selle saate hankida oma vaikebrauserist. Kuid ärge unustage kontrollida, milline brauser on vaikimisi 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.
Selle ekraani abil saate anda puhverserveris autentimiseks kasutajanime ja parooli. Ekraani sulgemiseks klõpsake nuppu OK.
Palju õnne. Teie VUGeni skripti seadistamine on valmis. Ärge unustage seda kõigi oma kasutajaskriptide jaoks konfigureerida.