Parametrošana, funkcijas, darījumi LoadRunner

Satura rādītājs:

Anonim

Ierakstīts skripts var simulēt virtuālo lietotāju; tomēr ar vienkāršu ierakstu var nepietikt, lai atkārtotu “reālo lietotāja uzvedību”.

Kad skripts tiek ierakstīts, tas aptver atsevišķu un tiešu priekšmeta lietojuma plūsmu. Tā kā reāls lietotājs pirms atteikšanās var veikt vairākas jebkura procesa atkārtojumus. Kavēšanās starp klikšķināšanas pogām (domāšanas laiks) katram cilvēkam būs atšķirīga. Iespējams, ka daži reālie lietotāji piekļūst jūsu lietojumprogrammai, izmantojot DSL, un daži piekļūst, izmantojot iezvanpieeju. Tātad, lai iegūtu patieso gala lietotāja sajūtu, mums ir jāuzlabo mūsu skripti, lai tie būtu precīzi atbilstīgi vai vismaz ļoti tuvu reāliem lietotājiem.

Iepriekšminētais ir vissvarīgākais apsvērums, veicot veiktspējas testēšanu, taču VU skripts ir vairāk. Kā jūs novērtēsiet precīzu laiku, ko VUser patērē, kad SUL tiek veikts veiktspējas tests? Kā jūs zināt, vai VUser kādā brīdī ir izgājis cauri vai izgāzies? Kāds ir kļūmes cēlonis, vai kāds backend process neizdevās, vai servera resursi bija ierobežoti?

Mums jāpilnveido skripts, lai palīdzētu atbildēt uz visiem iepriekš minētajiem jautājumiem.

  • Darījumu izmantošana
  • Izpratne par domāšanas laiku, Rendezvous punktiem un komentāriem
  • Funkciju ievietošana izvēlnē
  • Kas ir parametru noteikšana?
  • Izpildes laika iestatījumi un to ietekme uz VU simulāciju
    • Palaist loģiku
    • Paceļošana
    • Žurnāls
  • Think Times
  • Ātruma simulācija
  • Pārlūkprogrammas atdarināšana
  • Starpniekserveris

Darījumu izmantošana

Darījumi ir mehānika, lai izmērītu servera reakcijas laiku jebkurai operācijai. Vienkārši sakot, “Darījuma” izmantošana palīdz izmērīt laiku, kādu sistēma patērē konkrētam pieprasījumam. Tas var būt tik mazs kā pogas klikšķis vai AJAX zvans, zaudējot fokusu no tekstlodziņa.

Darījumu piemērošana ir vienkārša. Pirms pieprasījuma iesniegšanas serverim vienkārši uzrakstiet vienu koda rindiņu un pēc pieprasījuma beigām pārtrauciet darījumu. LoadRunner kā darījuma nosaukumam ir nepieciešama tikai virkne.

Lai atvērtu darījumu, izmantojiet šo koda rindu:

lr_start_transaction (“Darījuma nosaukums”);

Lai aizvērtu darījumu, izmantojiet šo koda rindu:

lr_end_transaction (“Darījuma nosaukums”, );

norāda LoadRunner, vai šis konkrētais darījums bija veiksmīgs vai neveiksmīgs. Iespējamie parametri varētu būt:

  • LR_AUTO
  • LR_PASS
  • LR_FAIL

Piemērs:

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

Jāpiezīmē:

  • Neaizmirstiet, ka jūs strādājat ar “C”, un tā ir reģistrjutīga valoda.
  • Perioda (.) Rakstzīme nav atļauta darījuma nosaukumā, lai gan jūs varat izmantot atstarpes un pasvītrojumu.
  • Ja esat labi sazarojis savu kodu un pievienojis kontrolpunktus, lai pārbaudītu servera atbildi, varat izmantot pielāgotu kļūdu apstrādi, piemēram, LR_PASS vai LR_FAIL. Pretējā gadījumā jūs varat izmantot LR_AUTO, un LoadRunner automātiski apstrādās servera kļūdas (HTTP 500, 400 utt.)
  • Piemērojot darījumus, pārliecinieties, ka nav ievietots paziņojums think_time vai citādi jūsu darījums vienmēr iekļaus šo periodu.
  • Tā kā LoadRunner kā darījuma nosaukumam ir nepieciešama nemainīga virkne, darījuma piemērošanas laikā bieži sastopama problēma ir virknes neatbilstība. Ja, atverot un aizverot darījumu, jūs piešķirat citu vārdu, būs vismaz 2 kļūdas. Tā kā jūsu atvērtais darījums nekad netika slēgts, LoadRunner radīs kļūdu. Turklāt darījums, kuru mēģināt slēgt, nekad netika atvērts, tādējādi radot kļūdu.
  • Vai varat izmantot savu izlūkošanas informāciju un atbildēt sev, kura no iepriekš minētajām kļūdām tiks ziņota vispirms? Lai apstiprinātu savu atbildi, kāpēc gan nepieļaut savu kļūdu? Ja jūs būtu atbildējis pareizi, jūs esat uz pareizā ceļa. Ja atbildējāt nepareizi, jums jākoncentrējas.
  • Tā kā LoadRunner automātiski rūpējas par pieprasījumu un atbilžu sinhronizāciju, piemērojot darījumus, jums nebūs jāuztraucas par atbildi.

Izpratne par domāšanas laiku, Rendezvous punktiem un komentāriem

Rendezvous punkti

Rendezvous Points nozīmē “tikšanās vietas”. Tā ir tikai viena paziņojumu rinda, kas liek LoadRunner ieviest vienlaicīgumu. Jūs ievietojat satikšanās punktus VUser skriptos, lai atdarinātu lielu lietotāja servera slodzi.

Rendezvous punkti uzdod VUser testa izpildes laikā gaidīt vairāku VUser pienākšanu noteiktā punktā, lai viņi vienlaikus varētu veikt uzdevumu. Piemēram, lai atdarinātu bankas servera maksimālo slodzi, varat ievietot satikšanās punktu, norādot 100 VUser vienlaikus noguldīt naudu viņu kontos. To var viegli panākt, izmantojot satikšanos.

Ja satikšanās punkti nav pareizi izvietoti, VUser piekļūs dažādām lietojumprogrammas daļām - pat tam pašam skriptam. Tas ir tāpēc, ka katram lietotājam ir atšķirīgs reakcijas laiks, un tāpēc daži lietotāji atpaliek.

Sintakse: lr_rendesvous (“Loģiskais nosaukums”);

Labākā pieredze:

  • Prefiksu satikšanās punkts ar “rdv_”, lai kods būtu labāk salasāms; piem., “rdv_Login”
  • Noņemiet tūlītējus domāšanas laika paziņojumus
  • Satikšanās punktu lietošana skripta skatā (pēc ierakstīšanas)

Komentāri

Pievienojiet komentārus, lai aprakstītu darbību, koda fragmentu vai koda rindu. Komentāri palīdz padarīt kodu saprotamu ikvienam, kurš uz to atsaucas nākotnē. Tie sniedz informāciju par konkrētu darbību un nošķir divas sadaļas.

Jūs varat pievienot komentārus

  • Ierakstīšanas laikā (izmantojot rīku)
  • Pēc ierakstīšanas (tieši ierakstot kodā)

Labākā prakse: atzīmējiet visus komentārus katra skripta faila augšdaļā

Funkciju ievietošana izvēlnē

Lai gan jūs varat tieši rakstīt vienkāršas koda rindas, jums var būt nepieciešams pavediens, lai atsauktu funkciju. Lai atrastu un ievietotu jebkuru funkciju tieši skriptā, varat arī izmantot rīku komplektu Steps (kas pirms 12. versijas bija pazīstams kā Ievietot funkciju).

Rīkjoslu Soļi var atrast sadaļā Rādīt rīkjoslu.

Tas atvērs sānu logu, apskatiet momentuzņēmumu:

Kas ir parametru noteikšana?

Parametrs ir VuGen ir konteiners, kas satur ierakstīto vērtību, kas tiek aizstāts dažādiem lietotājiem.

Skripta izpildes laikā (VUGen vai Controller) vērtība no ārēja avota (piemēram, .txt, XML vai datu bāzes) aizstāj parametra iepriekšējo vērtību.

Parametri ir noderīgi, piemēram, nosūtot dinamiskas (vai unikālas) vērtības uz serveri; biznesa process ir vēlams, lai palaistu 10 atkārtojumus, bet katru reizi izvēloties unikālu lietotāja vārdu.

Tas arī palīdz reālajai uzvedībai stimulēt priekšmetu sistēmu. Apskatiet zemāk redzamo piemēru:

Problēmu piemēri:

Biznesa process darbojas tikai pašreizējam datumam, kas nāk no servera, tāpēc to nevar nodot kā cietā koda pieprasījumu.

Dažreiz klienta lietojumprogramma serverim nosūta unikālu ID (piemēram, session_id), lai process turpinātu (pat vienam lietotājam) - Šādā gadījumā palīdz parametru iestatīšana.

Bieži vien klienta lietojumprogramma uztur kešatmiņu datiem, kas tiek sūtīti uz un no servera. Tā rezultātā serveris nesaņem reālu lietotāja uzvedību (ja serveris palaiž atšķirīgu algoritmu atkarībā no meklēšanas kritērijiem). Kaut arī VUser skripts tiks veiksmīgi izpildīts, iegūtā veiktspējas statistika nebūs nozīmīga. Dažādu datu izmantošana, izmantojot parametrus, palīdz atdarināt servera puses darbību (procedūras utt.) Un vingrina sistēmu.

Datums, kas ierakstīšanas laikā ir stingri kodēts VUser, var nebūt derīgs, kad šis datums ir pagājis. Datuma parametru noteikšana ļauj VUser izpildei gūt panākumus, aizstājot grūti kodēto datumu. Šādi lauki vai pieprasījumi ir īstie parametru parametri.

Noklikšķiniet šeit, ja videoklips nav pieejams

Izpildes laika iestatījumi un to ietekme uz VU simulāciju

Izpildes laika iestatījumi ir tikpat nozīmīgi kā jūsu VUGen skripts. Izmantojot dažādas konfigurācijas, jūs varat iegūt dažādus testa noformējumus. Tāpēc, ja izpildes laika iestatījumi nav konsekventi, jūs varat nonākt pie atkārtojamiem rezultātiem. Apspriedīsim katru atribūtu pa vienam.

Palaist loģiku

Run Logic nosaka visu darbību izpildes reižu skaitu, izņemot vuser_init un vuser_end.

Iespējams, tas padara skaidrāku, kāpēc LoadRunner iesaka visu pieteikšanās kodu glabāt vuser_init un logout daļu vuser_end abos.

Ja esat izveidojis vairākas darbības, teiksim, Pierakstīties, Atvērt ekrānu, Aprēķināt nomu, Iesniegt līdzekļus, Pārbaudīt atlikumu un atteikšanos, tad katram VUseram notiks zemāk esošais scenārijs:

Visi transportlīdzekļa bloka lietotāji pieteiksies, izpildīs atvērto ekrānu, aprēķinās nomu, iesniegs līdzekļus, pārbaudīs atlikumu - pēc tam atkal atvērs ekrānu, aprēķinās īres maksu ... un tā tālāk - atkārtojot 10 reizes - pēc tam iziet (vienreiz).

Tas ir spēcīgs iestatījums, kas ļauj rīkoties vairāk kā reāls lietotājs. Atcerieties, ka reāls lietotājs katru reizi nepiesakās un nepiesakās - viņš parasti atkārto tās pašas darbības.

Cik reizes jūs noklikšķināt uz “iesūtne”, pārbaudot e-pastu pirms atteikšanās?

Paceļošana

Tas ir svarīgi. Cilvēki lielākoties nespēj saprast atšķirību starp tempu un domāšanas laiku. Vienīgā atšķirība ir tā, ka “pacing attiecas uz kavēšanos starp atkārtojumiem”, turpretī domāšanas laiks ir kavēšanās starp jebkuriem 2 soļiem.

Ieteicamais iestatījums ir atkarīgs no testa konstrukcijas. Tomēr, ja jūs meklējat agresīvu slodzi, apsveriet iespēju izvēlēties “Tiklīdz iepriekšējā atkārtošana beigsies”

Žurnāls

Žurnāls (kā parasti saprot) ir visu notikumu uzskaite, kamēr jūs darbojaties LoadRunner. Varat iespējot žurnālu, lai uzzinātu, kas notiek starp jūsu lietojumprogrammu un serveri.

LoadRunner nodrošina spēcīgu mežizstrādes mehānismu, kas ir izturīgs un pielāgojams pats par sevi. Tas ļauj jums saglabāt tikai “Standarta žurnālu” vai detalizētu, konfigurējamu paplašinātu žurnālu vai to vispār atspējot.

Standarta žurnāls ir informatīvs un viegli saprotams. Tas satur tikai pareizo zināšanu daudzumu, kas parasti būs nepieciešams, lai novērstu VUser skriptu problēmu novēršanu.

Paplašinātā žurnāla gadījumā visa standarta žurnāla informācija ir apakškopa. Turklāt jums var būt parametru aizstāšana. Tas liek komponentam LoadRunner iekļaut pilnīgu informāciju par visiem parametriem (sākot no parametru noteikšanas), ieskaitot pieprasījumus, kā arī atbildes datus.

Ja iekļausit “Servera atgrieztos datus”, jūsu žurnāls būs garāks. Tas ietvers visu HTML, tagus, resursus un informāciju, kas nav resursi, kas ietverta tieši žurnālā. Opcija ir laba tikai tad, ja nepieciešama nopietna problēmu novēršana. Parasti tas padara žurnāla failu ļoti liela izmēra un nav viegli saprotams.

Kā jūs jau varētu uzminēt, ja izvēlaties “Advance Trace”, jūsu žurnāla fails būs milzīgs. Jums ir jāmēģina. Jūs pamanīsit, ka arī VUGen laiks ir ievērojami pieaudzis, lai gan tas neietekmēs VUGen paziņoto darījumu atbildes laiku. Tomēr šī ir ļoti iepriekšēja informācija un varbūt noderīga, ja saprotat priekšmeta lietojumprogrammu, klienta un servera saziņu starp lietojumprogrammu un aparatūru, kā arī protokola līmeņa informāciju. Parasti šī informācija pēc būtības ir mirusi, jo tās izpratnei un problēmu novēršanai ir nepieciešami īpaši centieni.

Padomi:

  • Neatkarīgi no tā, cik daudz laika VUGen prasa, kad žurnāls ir iespējots, tas neietekmē darījuma atbildes laiku. HP šo parādību sauc par “vismodernāko tehnoloģiju”.
  • Atspējojiet žurnālu, ja tas nav nepieciešams.
  • Atspējojiet žurnālu, kad esat pabeidzis skriptu lietošanu. Iekļaujot skriptus ar iespējotu reģistrēšanu, kontrolieris darbosies lēnāk un ziņos par nepatīkamiem ziņojumiem.
  • Atspējojot žurnālu, tiks palielināta maksimālā lietotāju skaita ietilpība, kurus varat simulēt no LoadRunner.
  • Apsveriet iespēju “Nosūtīt ziņojumu tikai tad, kad rodas kļūda” - tas izslēgs nevajadzīgos informācijas ziņojumus un ziņos tikai par kļūdām saistītus ziņojumus.

Think Times

Domājiet, ka laiks ir vienkārši aizkavēšanās starp diviem soļiem.

Domāšanas laiks palīdz atkārtot lietotāja rīcību, jo neviens īsts lietotājs nevar izmantot nevienu lietojumprogrammu, piemēram, mašīnu (VUGen). VUGen automātiski rada domāšanas laiku. Jums joprojām ir pilnīga kontrole, lai noņemtu, reizinātu vai mainītu domāšanas laiku.

Piemēram, lai saprastu vairāk, piemēram, lietotājs var atvērt ekrānu (tas ir atbilde, kurai seko pieprasījums), un pēc tam ievadīt lietotājvārdu un paroli. Nākamā lietojumprogrammas mijiedarbība ar serveri notiks, kad viņš noklikšķinās uz “Pierakstīties”. Laiks, kad lietotājs veica lietotājvārda un paroles ievadīšanu, ir Think Time LoadRunner.

Ja vēlaties simulēt lietojumprogrammas agresīvo slodzi, apsveriet iespēju pilnībā atspējot domāšanas laiku.

Tomēr, lai imitētu reālu līdzīgu uzvedību, varat iestatīt “Lietotāja nejaušā domāšanas laiks” un iestatīt procentus pēc vēlēšanās.

Apsveriet iespēju ierobežot domāšanas laiku līdz likumīgam periodam. Parasti 30 sekundes ir diezgan pietiekami.

Ātruma simulācija

Ātruma simulācija vienkārši attiecas uz joslas platuma jaudu katrai klienta mašīnai.

Tā kā mēs caur LoadRunner imitējam tūkstošiem VUser, ir pārsteidzoši, cik vienkārši LoadRunner ir veicis joslas platuma / tīkla ātruma simulācijas vadību.

Ja esat klients, kurš piekļūst jūsu lietojumprogrammai ar ātrumu 128 Kb / s, varat to kontrolēt šeit. Jūs varēsiet simulēt “īstu līdzīgu uzvedību”, kam vajadzētu palīdzēt iegūt pareizo veiktspējas statistiku.

Vislabākais ieteikums ir iestatīt opciju Izmantot maksimālo joslas platumu. Tas palīdzēs neņemt vērā ar tīklu saistītās veiktspējas vājās vietas un vispirms koncentrēties uz visām iespējamām lietojumprogrammas problēmām. Jūs vienmēr varat palaist testu vairākas reizes, lai redzētu atšķirīgu uzvedību dažādos apstākļos.

Pārlūkprogrammas atdarināšana

Lietotāja pieredze nav atkarīga no pārlūkprogrammas, ko izmanto galalietotājs. Skaidrs, ka tas ir ārpus darbības rādītājiem. Tomēr jūs varat izvēlēties, kuru pārlūku vēlaties atdarināt.

Vai jūs varat sev atbildēt, kad tieši jums būs svarīgi izvēlēties pareizo pārlūkprogrammu šajā konfigurācijā?

Jūs izmantosiet šo konfigurāciju, ja esat lietojumprogramma, kas ir tīmekļa lietojumprogramma, kas dažādām pārlūkprogrammām sniedz dažādas atbildes. Piemēram, jūs redzat dažādus attēlus un saturu IE un Firefox utt.

Vēl viens svarīgs iestatījums ir simulēt pārlūka kešatmiņu. Ja vēlaties novērtēt reakcijas laiku, kad kešatmiņa ir iespējota, atzīmējiet šo izvēles rūtiņu. Ja jūs meklējat sliktāko situāciju, tas acīmredzami nav apsvērums.

Lejupielādējot resursus, kas nav HTML resursi, LoadRunner varēs lejupielādēt jebkuru CSS, JS un citu bagātinātu multivides failu. Tas būtu jāpaliek pārbaudītam. Tomēr, ja vēlaties to izslēgt no veiktspējas testa noformējuma, varat to noņemt.

Starpniekserveris

Vislabāk ir pilnībā izslēgt starpniekserveri no testa vides - tas padarīs testa rezultātus neuzticamus. Tomēr jūs varat saskarties ar situācijām, kad tas ir neizbēgami. Šādā situācijā LoadRunner atvieglo starpniekservera iestatījumus.

Jūs strādājat (vai jums vajadzētu strādāt) ar iestatījumu Nav starpniekservera. To var iegūt no noklusējuma pārlūkprogrammas. Tomēr neaizmirstiet pārbaudīt, kurš pārlūks ir iestatīts uz noklusējumu un kāda ir noklusējuma pārlūka starpniekservera konfigurācija.

Ja izmantojat starpniekserveri un tam nepieciešama autentifikācija (vai skripts), varat noklikšķināt uz pogas Autentificēt, kas ved uz jaunu logu. Skatiet zemāk redzamo ekrānuzņēmumu.

Izmantojiet šo ekrānu, lai norādītu lietotājvārdu un paroli, lai autentificētos starpniekserverī. Noklikšķiniet uz Labi, lai aizvērtu ekrānu.

Apsveicu. VUGen skripta konfigurēšana ir pabeigta. Neaizmirstiet to konfigurēt visiem VUser skriptiem.