Parametravimas, funkcijos, operacijos „LoadRunner“

Įrašytas scenarijus gali imituoti virtualų vartotoją; tačiau norint įrašyti „tikrąjį vartotojo elgesį“ gali nepakakti vien tik įrašymo.

Kai scenarijus yra įrašomas, jis apima vieną ir tiesioginį dalyko taikymo srautą. Tuo tarpu tikrasis vartotojas, prieš atsijungdamas, gali atlikti kelis bet kokio proceso pakartojimus. Vėlavimas tarp mygtukų paspaudimo (pagalvojimo laikas) kiekvienam žmogui gali skirtis. Yra tikimybė, kad kai kurie tikri vartotojai pasiekia jūsų programą per DSL, o kai kurie - per telefono ryšį. Taigi, norėdami iš tikrųjų pajusti galutinio vartotojo jausmą, turime patobulinti scenarijus, kad jie atitiktų tikslius arba bent jau labai panašūs į realius vartotojus.

Aukščiau paminėtas dalykas yra svarbiausias dalykas atliekant „našumo testavimą“, tačiau TPB scenarijus yra ir daugiau. Kaip jūs įvertinsite tikslų laiką, kurį užima VUser, kai SUL atliekamas našumo testas? Kaip sužinoti, ar VUser tam tikru metu praėjo ar nepavyko? Kokia yra gedimo priežastis, nesvarbu, ar nepavyko atlikti kai kurių programinės įrangos procesų, ar serverio ištekliai buvo riboti?

Turime patobulinti scenarijų, kad galėtume atsakyti į visus aukščiau pateiktus klausimus.

  • Operacijų naudojimas
  • Suprasti mąstymo laiką, Rendezvous taškus ir komentarus
  • Funkcijų įterpimas per meniu
  • Kas yra parametravimas?
  • Vykdymo laiko nustatymai ir jų įtaka TPB modeliavimui
    • Paleiskite logiką
    • Tempimas
    • Žurnalas
  • „Pagalvok kartų“
  • Greičio modeliavimas
  • Naršyklės emuliacija
  • Įgaliojimas

Operacijų naudojimas

Operacijos yra mechanika, skirta nustatyti serverio atsako laiką bet kuriai operacijai. Paprastais žodžiais tariant, „Operacijos“ naudojimas padeda įvertinti laiką, kurį sistema užima tam tikram prašymui. Praradus fokusą iš teksto laukelio, jis gali būti toks pat mažas, kaip mygtuko paspaudimas arba AJAX skambutis.

Taikyti operacijas yra nesudėtinga. Tiesiog parašykite vieną kodo eilutę prieš pateikdami užklausą serveriui ir uždarykite operaciją, kai baigsis užklausa. „LoadRunner“ kaip operacijos pavadinimą reikia tik eilutės.

Norėdami atidaryti operaciją, naudokite šią kodo eilutę:

lr_start_transaction („Operacijos pavadinimas“);

Norėdami uždaryti operaciją, naudokite šią kodo eilutę:

lr_end_transaction („Operacijos pavadinimas“, );

nurodo „LoadRunner“, ar ši konkreti operacija buvo sėkminga, ar nesėkminga. Galimi parametrai gali būti:

  • LR_AUTO
  • LR_PASS
  • LR_FAIL

Pavyzdys:

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);

Pažymėtina:

  • Nepamirškite, kad dirbate su „C“ ir tai yra didžiųjų ir mažųjų raidžių kalba.
  • Laikotarpio (.) Simbolis neleidžiamas operacijos pavadinime, nors galite naudoti tarpus ir pabraukimą.
  • Jei gerai išsišakojote kodą ir pridėjote kontrolinius taškus, kad patikrintumėte atsakymą iš serverio, galite naudoti pasirinktinį klaidų tvarkymą, pvz., LR_PASS arba LR_FAIL. Kitu atveju galite naudoti LR_AUTO ir „LoadRunner“ automatiškai valdys serverio klaidas (HTTP 500, 400 ir kt.)
  • Taikydami operacijas įsitikinkite, kad nėra „ think_time“ teiginio, kitaip jūsų sandoris visada apims tą laikotarpį.
  • Kadangi „LoadRunner“ reikalauja pastovios eilutės kaip operacijos pavadinimo, dažna problema taikant operaciją yra eilutės neatitikimas. Jei atidarydami ir uždarydami operaciją nurodysite kitą pavadinimą, padarysite bent 2 klaidas. Kadangi jūsų atidaryta operacija niekada nebuvo uždaryta, „LoadRunner“ pateiks klaidą. Be to, operacija, kurią bandote uždaryti, niekada nebuvo atidaryta, todėl atsirado klaida.
  • Ar galite pasinaudoti savo žvalgyba ir atsakyti sau, kuri iš pirmiau nurodytų klaidų bus pranešta pirmiausia? Norėdami patvirtinti savo atsakymą, kodėl gi nepadarę klaidos? Jei atsakėte teisingai, esate teisingame kelyje. Jei atsakėte neteisingai, turite sutelkti dėmesį.
  • Kadangi „LoadRunner“ automatiškai rūpinasi užklausų ir atsakymų sinchronizavimu, jums nereikės jaudintis dėl atsakymo taikant operacijas.

Suprasti mąstymo laiką, Rendezvous taškus ir komentarus

„Rendezvous Points“

„Rendezvous Points“ reiškia „susitikimo taškus“. Tai tik viena teiginių eilutė, nurodanti „LoadRunner“ įvesti lygiagretumą. Į „VUser“ scenarijus įterpiate susitikimo taškus, kad imituotumėte didelę vartotojo apkrovą serveryje.

„Rendezvous“ taškai nurodo „VUser“ bandymo vykdymo metu palaukti, kol keli „VUser“ pasieks tam tikrą tašką, kad jie tuo pačiu metu galėtų atlikti užduotį. Pavyzdžiui, norėdami imituoti didžiausią banko serverio apkrovą, galite įterpti pasimatymo tašką, nurodydami 100 VUser tuo pačiu metu įnešti grynuosius pinigus į savo sąskaitas. Tai galima lengvai pasiekti pasimatymo metu.

Jei susitikimo taškai yra neteisingos vietos, VUseris pasieks skirtingas programos dalis - net tam pačiam scenarijui. Taip yra todėl, kad kiekvienas VUser vartotojas gauna skirtingą atsakymo laiką ir todėl nedaugelis vartotojų atsilieka.

Sintaksė: lr_rendesvous („Loginis pavadinimas“);

Geriausia praktika:

  • Kad kodas būtų geriau įskaitomas, prieš susitikimo vietą pažymėkite „rdv_“; pvz., „rdv_Login“
  • Pašalinkite bet kokius tiesioginius minties laiko teiginius
  • Susitikimo taškų taikymas scenarijaus rodinyje (po įrašymo)

Komentarai

Pridėkite komentarų, kad apibūdintumėte veiklą, kodo dalį ar kodo eilutę. Komentarai padeda padaryti kodą suprantamą visiems, kurie ateityje jį nurodo. Jie teikia informaciją apie konkrečią operaciją ir atskiria du skyrius, kad būtų galima juos atskirti.

Galite pridėti komentarų

  • Įrašant (naudojant įrankį)
  • Įrašius (tiesiogiai parašius kodu)

Geriausia praktika: pažymėkite komentarus kiekvieno scenarijaus failo viršuje

Funkcijų įterpimas per meniu

Nors galite tiesiogiai rašyti paprastas kodo eilutes, norint prisiminti funkciją, gali prireikti raktinio žodžio. Taip pat galite naudoti „Steps Toolbox“ (žinomą kaip Įterpti funkciją iki 12 versijos), kad rastumėte ir įterptumėte bet kurią funkciją tiesiai į scenarijų.

Žingsnių įrankių juostą rasite „View àSteps Toolbox“.

Tai atvers šoninį langą, pažvelkite į momentinę kopiją:

Kas yra parametravimas?

Parametras į VUGen yra konteineris, kurio sudėtyje yra įrašytą vertę, kuri yra pakeičiama įvairių vartotojų.

Vykdant scenarijų (VUGen arba valdiklyje), išorinio šaltinio (pvz., .Txt, XML ar duomenų bazės) reikšmė pakeičia ankstesnę parametro vertę.

Parametrai yra naudingi, pavyzdžiui, siunčiant dinamines (arba unikalias) vertes į serverį; verslo procese norima paleisti 10 kartojimų, tačiau kiekvieną kartą renkantis unikalų vartotojo vardą.

Tai taip pat padeda skatinti realaus pobūdžio elgesį subjekto sistemoje. Pažvelkite į žemiau pateiktą pavyzdį:

Probleminiai pavyzdžiai:

Verslo procesas veikia tik dabartinę datą, kuri gaunama iš serverio, todėl jos negalima perduoti kaip kietojo kodo užklausos.

Kartais kliento programa perduoda serveriui unikalų ID (pvz., Session_id), kad procesas tęstųsi (net vienam vartotojui). Tokiu atveju padeda parametrų nustatymas.

Dažnai kliento programa prižiūri duomenų, siunčiamų į serverį ir iš jo, talpyklą. Todėl serveris negauna realios vartotojo elgsenos (jei serveris naudoja skirtingus algoritmus, priklausomai nuo paieškos kriterijų). Nors „VUser“ scenarijus bus sėkmingai vykdomas, parengta našumo statistika nebus prasminga. Skirtingų duomenų naudojimas naudojant parametrus padeda imituoti serverio veiklą (procedūras ir pan.) Ir pratina sistemą.

Data, kuri įrašymo metu yra sunkiai užkoduota VUser programoje, gali būti nebegaliojanti, kai ši data praeis. Parametruojant datą, VUser gali būti sėkmingai vykdoma pakeičiant sunkiai užkoduotą datą. Tokie laukai ar užklausos yra tinkami parametrų nustatymo kandidatai.

Spustelėkite čia, jei vaizdo įrašas nepasiekiamas

Vykdymo laiko nustatymai ir jų įtaka TPB modeliavimui

Vykdymo laiko nustatymai yra tokie pat reikšmingi, kaip ir jūsų VUGen scenarijus. Su skirtingomis konfigūracijomis galite gauti skirtingus testų dizainus. Štai kodėl galite pasiekti nepakartojamus rezultatus, jei vykdymo laiko nustatymai nėra nuoseklūs. Aptarkime kiekvieną požymį po vieną.

Paleiskite logiką

„Run Logic“ apibrėžia, kiek kartų visi veiksmai bus vykdomi, išskyrus „vuser_init“ ir „vuser_end“.

Tikriausiai tai aiškiau paaiškina, kodėl „LoadRunner“ siūlo visą prisijungimo kodą laikyti „vuser_init“ ir „Atsijungti“ - „vuser_end“.

Jei sukūrėte kelis veiksmus, tarkime, Prisijunkite, Atidarykite ekraną, Apskaičiuokite nuomą, Pateikite lėšų, Patikrinkite balansą ir atsijunkite, tada kiekvienam VUseriui bus atliktas toliau pateiktas scenarijus:

Visi TPB vartotojai prisijungs, vykdys atvirą ekraną, apskaičiuos nuomą, pateiks lėšas, patikrins likutį - tada dar kartą atidarys ekraną, apskaičiuos nuomos mokestį ... ir taip toliau - kartos 10 kartų - po to atsijungs (vieną kartą).

Tai galingas nustatymas, leidžiantis elgtis labiau kaip tikras vartotojas. Atminkite, kad tikrasis vartotojas kiekvieną kartą neprisijungia ir atsijungia - paprastai jis kartoja tuos pačius veiksmus.

Kiek kartų spustelėdami „gautieji“ tikrindami el. Paštą prieš atsijungdami?

Tempimas

Tai yra svarbu. Dažniausiai žmonės negali suprasti skirtumo tarp tempo ir mąstymo laiko. Vienintelis skirtumas yra tas, kad „tempas reiškia vėlavimą tarp kartojimų“, o manau, kad laikas yra vėlavimas tarp bet kokių 2 žingsnių.

Rekomenduojamas nustatymas priklauso nuo bandymo konstrukcijos. Tačiau jei norite, kad apkrova būtų agresyvi, apsvarstykite galimybę pasirinkti „Kai tik baigsis ankstesnė kartojimas“

Žurnalas

Žurnalas (kaip paprastai suprantama) yra visų įvykių apskaita, kai vykdote „LoadRunner“. Galite įgalinti žurnalą, kad sužinotumėte, kas vyksta tarp jūsų programos ir serverio.

„LoadRunner“ suteikia galingą medienos ruošos mechanizmą, kuris yra tvirtas ir keičiamas atskirai. Tai leidžia jums laikyti tik „Standartinį žurnalą“ arba išsamų, konfigūruojamą išplėstinį žurnalą arba jį išjungti.

Standartinis žurnalas yra informatyvus ir lengvai suprantamas. Jame yra tik tinkamas žinių kiekis, kurį paprastai reikės pašalinti „VUser“ scenarijus.

Išplėstinio žurnalo atveju visa standartinio žurnalo informacija yra pogrupis. Be to, galite pakeisti parametrus. Tai nurodo „LoadRunner“ komponentui įtraukti išsamią informaciją apie visus parametrus (nuo parametrų nustatymo), įskaitant užklausas, taip pat atsakymo duomenis.

Jei įtraukiate „Serverio grąžintus duomenis“, jūsų žurnalas bus ilgas. Tai apims visą HTML, žymas, išteklius ir ne išteklius, pateiktą tiesiai žurnale. Ši parinktis yra gera tik tada, kai jums reikia rimtų trikčių šalinimo. Paprastai tai daro žurnalo failą labai dideliu dydžiu ir nėra lengvai suprantamas.

Kaip jau spėjote, jei pasirinksite „Advance Trace“, jūsų žurnalo failas bus didelis. Turite pabandyti. Jūs pastebėsite, kad laikas, kurį užima VUGen, taip pat gerokai išaugo, nors tai neturės įtakos VUGen praneštam operacijos atsakymo laikui. Tačiau tai yra labai išankstinė informacija ir galbūt naudinga, jei suprantate dalykinę programą, kliento ir serverio ryšį tarp jūsų programos ir aparatinės įrangos bei išsamią informaciją apie protokolo lygį. Paprastai ši informacija yra mirusi iš esmės, nes norint ją suprasti ir pašalinti reikia daug pastangų.

Patarimai:

  • Nesvarbu, kiek laiko užima „VUGen“, kai įgalinamas žurnalas, jis neturi įtakos operacijos atsakymo laikui. HP šį reiškinį vadina „moderniausia technologija“.
  • Išjunkite žurnalą, jei jis nereikalingas.
  • Išjunkite žurnalą, kai baigsite naudoti scenarijus. Įtraukus scenarijus su įgalintu registravimu, valdiklis veiks lėčiau ir praneš apie įkyrus pranešimus.
  • Išjungus žurnalą, padidės maksimalaus vartotojų skaičiaus, kurį galite imituoti iš „LoadRunner“, pajėgumas.
  • Apsvarstykite galimybę naudoti „Siųsti pranešimą tik įvykus klaidai“ - tai nutildys nereikalingus informacinius pranešimus ir praneš tik apie su klaidomis susijusius pranešimus.

„Pagalvok kartų“

Pagalvokite, kad laikas yra tiesiog vėlavimas tarp dviejų žingsnių.

„Think Time“ padeda atkartoti vartotojo elgseną, nes joks tikrasis vartotojas negali naudoti jokios programos, pavyzdžiui, mašinos (VUGen). „VUGen“ automatiškai sukuria mąstymo laiką. Jūs vis dar turite pilną kontrolę, kad pašalintumėte, padaugintumėte ar svyruotumėte mąstymo laiko trukmę.

Pavyzdžiui, norėdamas suprasti daugiau, vartotojas gali atidaryti ekraną (tai yra atsakymas, po kurio pateikiama užklausa) ir tada, prieš paspausdamas „Enter“, pateikti naudotojo vardą ir slaptažodį. Kita programos sąveika su serveriu įvyks, kai jis spustelės „Prisijungti“. Laikas, kurį vartotojas užtruko įvesti savo vartotojo vardą ir slaptažodį, yra „Think Time“, esantis „LoadRunner“.

Jei norite imituoti agresyvią programos apkrovą, apsvarstykite galimybę visiškai išjungti mąstymo laiką.

Tačiau, norėdami imituoti realų panašų elgesį, galite nustatyti „Vartotojo atsitiktinio mąstymo laiką“ ir nustatyti procentus, kaip norite.

Apsvarstykite galimybę apriboti mąstymo laiką iki teisėto laikotarpio. Paprastai 30 sekundžių yra pakankamai gera.

Greičio modeliavimas

Greičio modeliavimas tiesiog reiškia kiekvieno kliento mašinos pralaidumo pajėgumą.

Kadangi per „LoadRunner“ imituojame tūkstančius VUser, yra nuostabu, kaip paprasta „LoadRunner“ padėjo valdyti pralaidumo / tinklo greičio modeliavimą.

Jei esate klientai, turintys prieigą prie savo programos per 128 Kbps, galite ją valdyti čia. Jūs turėsite imituoti „tikrą panašų elgesį“, kuris turėtų padėti gauti teisingą našumo statistiką.

Geriausia rekomendacija yra nustatyti maksimalų pralaidumą. Tai padės nepaisyti jokių su tinklu susijusių našumo trūkumų ir pirmiausia sutelkti dėmesį į visas galimas programos problemas. Jūs visada galite paleisti testą kelis kartus, kad pamatytumėte skirtingą elgesį esant skirtingoms aplinkybėms.

Naršyklės emuliacija

Vartotojo patirtis nepriklauso nuo naršyklės, kurią naudoja galutinis vartotojas. Akivaizdu, kad tai nėra Veiklos priemonių taikymo sritis. Tačiau galite pasirinkti, kurią naršyklę norite imituoti.

Ar galite sau atsakyti, kada būtent jums bus svarbu pasirinkti tinkamą naršyklę šioje konfigūracijoje?

Šią konfigūraciją naudosite, jei jūsų programa yra žiniatinklio programa, skirtingoms naršyklėms pateikianti skirtingus atsakymus. Pavyzdžiui, galite pamatyti skirtingus vaizdus ir turinį, skirtus IE, „Firefox“ ir kt.

Kitas svarbus nustatymas yra naršyklės talpyklos imitavimas. Jei norite įvertinti atsakymo laiką įgalinę talpyklą, pažymėkite šį laukelį. Jei ieškote blogiausios situacijos, akivaizdu, kad tai nėra svarstymas.

Atsisiųsdami ne HTML išteklius, „LoadRunner“ galės atsisiųsti bet kokį CSS, JS ir kitą raiškiąją mediją. Tai turėtų likti patikrinta. Tačiau, jei norite tai pašalinti iš savo eksploatacinių savybių bandymo projekto, galite tai panaikinti.

Įgaliojimas

Geriausia visiškai pašalinti tarpinį serverį iš bandomosios aplinkos - tai padarys testo rezultatus nepatikimus. Tačiau galite susidurti su situacijomis, kai tai neišvengiama. Tokioje situacijoje „LoadRunner“ jums palengvina tarpinio serverio nustatymus.

Dirbsite (arba turėtumėte dirbti) su tarpinio serverio nustatymu. Jį galite gauti iš numatytosios naršyklės. Tačiau nepamirškite patikrinti, kuri naršyklė nustatyta kaip numatytoji ir kokia yra numatytosios naršyklės tarpinio serverio konfigūracija.

Jei naudojate tarpinį serverį ir jam reikalingas autentifikavimas (arba scenarijus), galite spustelėti mygtuką „Autentifikuoti“, kuris veda į naują langą. Žr. Toliau pateiktą ekrano kopiją.

Šiame ekrane pateikite vartotojo vardą ir slaptažodį, kad taptumėte patvirtinti tarpiniame serveryje. Spustelėkite Gerai, kad uždarytumėte ekraną.

Sveikiname. Sukonfigūravote savo VUGen scenarijų. Nepamirškite jo sukonfigūruoti visiems savo „VUser“ scenarijams.

Įdomios straipsniai...