Tallennettu komentosarja voi simuloida virtuaalista käyttäjää; Pelkkä tallennus ei kuitenkaan välttämättä riitä toistamaan "todellista käyttäjän käyttäytymistä".
Kun komentosarja tallennetaan, se kattaa yhden ja suoran kulun aihesovelluksesta. Todellinen käyttäjä voi kuitenkin suorittaa useita iteraatioita kaikista prosesseista ennen kirjautumistaan ulos. Napsautusten välinen viive (ajatusaika) vaihtelee henkilöittäin. Mahdollisuudet ovat, että jotkut todelliset käyttäjät käyttävät sovellustasi DSL: n kautta ja toiset käyttävät sitä puhelinverkkoyhteyden kautta. Joten loppukäyttäjän todellisen tunnelman saamiseksi meidän on parannettava komentosarjojamme tarkan vastaavuuden tai ainakin hyvin läheisen käyttäytymisen suhteen todellisten käyttäjien kanssa.
Edellä on merkittävin huomio suoritettaessa suorituskykytestausta, mutta ajoneuvoyksikön komentosarjassa on enemmänkin. Kuinka arvioit tarkan ajan, jonka VUser käyttää, kun SUL: lle suoritetaan suorituskykytesti? Mistä tiedät, onko VUser läpäissyt vai epäonnistunut jossain vaiheessa? Mikä on vian syy, epäonnistui jokin taustaprosessi vai palvelimen resurssit olivat rajalliset?
Meidän on parannettava käsikirjoitustamme auttamaan vastaamaan kaikkiin yllä oleviin kysymyksiin.
- Tapahtumien käyttö
- Ajattelutavan, Rendezvous-pisteiden ja kommenttien ymmärtäminen
- Toimintojen lisääminen valikon kautta
- Mikä on parametrointi?
- Suoritusajan asetukset ja niiden vaikutus ajoneuvoyksikön simulointiin
- Suorita logiikka
- Tahti
- Hirsi
- Ajattele aikoja
- Nopeuden simulointi
- Selaimen emulointi
- Välityspalvelin
Tapahtumien käyttö
Tapahtumat ovat mekaniikkaa palvelimen vasteajan mittaamiseksi mille tahansa toiminnolle. Yksinkertaisesti sanottuna "Transaction" -toiminnon avulla voidaan mitata järjestelmän kuluttama aika tiettyyn pyyntöön. Se voi olla niin pieni kuin napin painallus tai AJAX-puhelu, kun kohdistus menettää tekstiruudusta.
Tapahtumien soveltaminen on yksinkertaista. Kirjoita vain yksi koodirivi ennen kuin pyyntö lähetetään palvelimelle ja sulje tapahtuma pyynnön päättyessä. LoadRunner vaatii tapahtuman nimeksi vain merkkijonon.
Avaa tapahtuma käyttämällä tätä koodiriviä:
lr_start_transaction (”Tapahtuman nimi”);
Sulje tapahtuma käyttämällä tätä koodiriviä:
lr_end_transaction (“Tapahtuman nimi”,);
- LR_AUTO
- LR_PASS
- LR_FAIL
Esimerkki:
lr_end_transaction (“Oma_kirjautuminen”, LR_AUTO);
lr_end_transaction ("Liiketoiminnan_työnkulun_tapahtuman nimi", LR_FAIL);
Huomioitavaa:
- Älä unohda, että työskentelet "C": n kanssa ja se on isot ja pienet kirjaimet.
- Piste (.) -Merkki ei ole sallittu tapahtuman nimessä, vaikka voit käyttää välilyöntejä ja alaviivoja.
- Jos olet haaroittanut koodisi hyvin ja lisännyt tarkistuspisteitä palvelimen vastauksen vahvistamiseksi, voit käyttää mukautettua virhekäsittelyä, kuten LR_PASS tai LR_FAIL. Muussa tapauksessa voit käyttää LR_AUTOa ja LoadRunner käsittelee automaattisesti palvelinvirheet (HTTP 500, 400 jne.)
- Kun sovellat tapahtumia, varmista, ettei Think_time- lauseita ole yhdistetty, tai muuten tapahtumasi sisältää aina kyseisen ajanjakson.
- Koska LoadRunner vaatii vakion merkkijonon tapahtumanimenä, yleinen ongelma tapahtumaa sovellettaessa on merkkijonon epäsuhta. Jos annat toisen nimen, kun avaat ja suljet tapahtumaa, saat ainakin kaksi virhettä. Koska avaamaasi tapahtumaa ei koskaan suljettu, LoadRunner tuottaa virheen. Sitä paitsi tapahtumaa, jota yrität sulkea, ei koskaan avattu, mikä johti virheeseen.
- Voitteko käyttää älykkyyttäsi ja vastata itsellesi, mikä yllä olevista virheistä ilmoitetaan ensin? Miksi et tekisi oman virheen vahvistaaksesi vastauksesi? Jos olisit vastannut oikein, olet radalla. Jos vastasit väärin, sinun on keskityttävä.
- Koska LoadRunner huolehtii automaattisesti pyyntöjen ja vastausten synkronoinnista, sinun ei tarvitse huolehtia vastauksista sovellettaessa tapahtumia.
Ajattelutavan, Rendezvous-pisteiden ja kommenttien ymmärtäminen
Rendezvous-pisteet
Rendezvous Points tarkoittaa ”kohtaamispaikkoja”. Se on vain yksi lause, joka kehottaa LoadRunneria ottamaan käyttöön samanaikaisuuden. Lisäät kohtaamispisteitä VUser-komentosarjoihin matkiakseen palvelimen raskasta käyttäjän kuormitusta.
Rendezvous-pisteet antavat VUserille odottaa testin suorittamisen aikana, että useat VUser-käyttäjät saapuvat tiettyyn pisteeseen, jotta he voivat suorittaa tehtävän samanaikaisesti. Voit esimerkiksi jäljitellä pankkipalvelimen huippukuormitusta lisäämällä kohtaamispisteen, joka kehottaa 100 VUseria tallettamaan käteistä heidän tileilleen samanaikaisesti. Tämä voidaan saavuttaa helposti tapaamisilla.
Jos kohtaamispisteet eivät ole oikein, VUser käyttää sovelluksen eri osia - jopa samaa komentosarjaa varten. Tämä johtuu siitä, että jokaisella VUserilla on erilainen vasteaika, joten harvat käyttäjät jäävät jälkeen.
Syntaksi: lr_rendesvous ("Looginen nimi");
Parhaat käytännöt:
- Etuliite kohtaamispaikka merkinnällä “rdv_” koodin luettavuuden parantamiseksi. esim. “rdv_Login”
- Poista välittömät ajatusajat
- Tapahtumapisteiden käyttö komentonäkymässä (tallennuksen jälkeen)
Kommentit
Lisää kommentteja kuvaamaan toimintaa, koodinpätkää tai koodiriviä. Kommentit auttavat tekemään koodin ymmärrettäväksi kaikille, jotka viittaavat siihen tulevaisuudessa. Ne tarjoavat tietoa tietystä toiminnasta ja erottavat kaksi osaa erottamiseksi.
Voit lisätä kommentteja
- Tallennuksen aikana (työkalun avulla)
- Tallennuksen jälkeen (kirjoittaminen suoraan koodiin)
Paras käytäntö: Merkitse kommentit jokaisen komentotiedoston yläosaan
Toimintojen lisääminen valikon kautta
Vaikka voit kirjoittaa suoraan yksinkertaisia koodirivejä, saatat tarvita vihjeen toiminnon palauttamiseksi. Voit myös käyttää Steps Toolboxia (joka tunnetaan nimellä Lisää toiminto ennen versiota 12) etsimään ja lisäämään minkä tahansa toiminnon suoraan komentosarjaasi.
Löydät Vaiheiden työkalurivin Näytä àSteps-työkaluriviltä.
Tämä avaa sivuikkunan, katso tilannekuva:
Mikä on parametrointi?
Parametri on VuGen on säiliö, joka sisältää tallennetun arvon, joka on korvattu eri käyttäjille.
Komentosarjan suorituksen aikana (VUGenissa tai ohjaimessa) ulkoisesta lähteestä (kuten .txt, XML tai tietokanta) tuleva arvo korvaa parametrin edellisen arvon.
Parametroinnista on hyötyä esimerkiksi dynaamisten (tai yksilöllisten) arvojen lähettämisessä palvelimelle; liiketoimintaprosessin halutaan suorittaa 10 iteraatiota, mutta yksilöllisen käyttäjänimen valitseminen joka kerta.
Se auttaa myös stimuloimaan todellisen kaltaista käyttäytymistä aihejärjestelmään. Katso alla oleva esimerkki:
Esimerkkejä ongelmista:
Liiketoimintaprosessi toimii vain palvelimelta tulevana ajankohtana, joten sitä ei voida välittää kovakoodatuna pyynnönä.
Joskus asiakassovellus välittää yksilöllisen tunnuksen palvelimelle (esimerkiksi session_id) prosessin jatkamiseksi (jopa yhdelle käyttäjälle) - Tällöin parametrointi auttaa.
Usein asiakassovellus ylläpitää palvelimelle ja palvelimelta lähetettävien tietojen välimuistia. Tämän seurauksena palvelin ei saa todellista käyttäjäkäyttäytymistä (jos palvelin käyttää eri algoritmeja hakukriteerien mukaan). Vaikka VUser-komentosarja suoritetaan onnistuneesti, piirretyillä suoritustilastoilla ei ole merkitystä. Eri tietojen käyttö parametroimalla auttaa emuloimaan palvelinpuolen toimintaa (menettelyt jne.) Ja harjoittamaan järjestelmää.
Päivämäärä, joka on koodattu VUserissa tallennuksen aikana, ei ehkä enää ole voimassa, kun kyseinen päivämäärä on kulunut. Päivämäärän parametrointi antaa VUser-suorituksen onnistua korvaamalla kovakoodatun päivämäärän. Tällaiset kentät tai pyynnöt ovat oikeita ehdokkaita parametroinnille.
Napsauta tätä, jos video ei ole käytettävissä
Suoritusajan asetukset ja niiden vaikutus ajoneuvoyksikön simulointiin
Suoritusaika-asetuksilla on yhtä paljon merkitystä kuin VUGen-skriptilläsi. Eri kokoonpanoilla voit saada erilaisia testimalleja. Siksi saatat päätyä toistamattomiin tuloksiin, jos ajoajan asetukset eivät ole yhdenmukaisia. Keskustellaan kutakin ominaisuutta yksitellen.
Suorita logiikka
Run Logic määrittää, kuinka monta kertaa kaikki toiminnot suoritetaan, paitsi vuser_init ja vuser_end.
Todennäköisesti tämä tekee selvemmäksi, miksi LoadRunner ehdottaa, että kaikki sisäänkirjautumiskoodit säilytetään vuser_init- ja uloskirjautumisosissa molemmat yksinomaan.
Jos olet luonut useita toimintoja, sanotaan esimerkiksi: Kirjaudu sisään, Avaa näyttö, Laske vuokraus, Lähetä varat, Tarkista saldo ja kirjaudu ulos, alla oleva skenaario tapahtuu kullekin käyttäjälle:
Kaikki ajoneuvoyksiköt kirjautuvat sisään, suorittavat avoimen näytön, laskevat vuokran, lähettävät varoja, tarkista saldo - sitten - jälleen Avaa näyttö, Laske vuokrat ... ja niin edelleen - toistetaan 10 kertaa - ja seuraa uloskirjautumista (kerran).
Tämä on tehokas asetus, joka antaa mahdollisuuden toimia enemmän kuin todellinen käyttäjä. Muista, että todellinen käyttäjä ei kirjaudu sisään ja kirjaudu ulos joka kerta - hän yleensä toistaa samat vaiheet.
Kuinka monta kertaa napsautat postilaatikkoa tarkistaessasi sähköpostia ennen uloskirjautumista?
Tahti
Tämä on tärkeää. Enimmäkseen ihmiset eivät pysty ymmärtämään tahdistuksen ja ajattelun välistä eroa. Ainoa ero on, että "tahdistus viittaa iteraatioiden väliseen viiveeseen", kun taas ajatusaika on viive minkä tahansa kahden vaiheen välillä.
Suositeltu asetus riippuu testin rakenteesta. Jos kuitenkin haluat aggressiivista kuormitusta, kannattaa valita "Heti kun edellinen iterointi päättyy"
Hirsi
Loki (yleisesti ymmärrettynä) on kaikkien tapahtumien kirjanpito, kun suoritat LoadRunneria. Voit ottaa lokin käyttöön tietääksesi, mitä sovelluksesi ja palvelimesi välillä tapahtuu.
LoadRunner tarjoaa tehokkaan lokimekanismin, joka on vankka ja skaalautuva yksinään. Sen avulla voit pitää vain ”Normaaliloki” tai yksityiskohtaisen, konfiguroitavan laajennetun lokin tai poistaa sen kokonaan käytöstä.
Vakioloki on informatiivinen ja helposti ymmärrettävä. Se sisältää juuri oikean määrän tietoa, jonka tarvitset yleensä VUser-komentosarjojen vianmäärityksen.
Laajennetun lokin tapauksessa kaikki vakiolokitiedot ovat osajoukko. Lisäksi sinulla voi olla parametrien korvaaminen. Tämä kehottaa LoadRunner-komponenttia sisällyttämään täydelliset tiedot kaikista parametreista (parametroinnista), mukaan lukien pyynnöt, sekä vastaustiedot.
Jos sisällytät "Palvelimen palauttamat tiedot", lokisi tulee pituuteen. Tämä sisältää kaikki HTML-koodit, tunnisteet, resurssit ja muut kuin resurssitiedot, jotka sisältyvät suoraan lokiin. Vaihtoehto on hyvä vain, jos tarvitset vakavaa vianmääritystä. Yleensä tämä tekee lokitiedostosta erittäin suuren koon eikä sitä ole helppo ymmärtää.
Kuten olet jo arvannut, jos valitset "Advance Trace" -vaihtoehdon, lokitiedostosi on massiivinen. Sinun täytyy kokeilla sitä. Huomaat, että myös VUGenin käyttämä aika on kasvanut merkittävästi, vaikka tällä ei ole vaikutusta VUGenin ilmoittamaan tapahtuman vasteaikaan. Tämä on kuitenkin erittäin ennakkotietoa ja ehkä hyödyllinen, jos ymmärrät aihesovelluksen, asiakkaan ja palvelimen välisen viestinnän sovelluksesi ja laitteistosi välillä sekä protokollatason yksityiskohdat. Yleensä nämä tiedot ovat olennaisesti kuolleita, koska niiden ymmärtäminen ja vianmääritys vaatii suuria ponnisteluja.
Vinkkejä:
- Riippumatta siitä, kuinka kauan VUGen vie aikaa, kun loki on käytössä, sillä ei ole vaikutusta tapahtuman vasteaikaan. HP kutsuu tätä ilmiötä huipputeknologiaksi.
- Poista loki käytöstä, jos sitä ei vaadita.
- Poista loki käytöstä, kun olet suorittanut komentosarjat. Sisällyttämällä komentosarjoja, joissa loki on käytössä, ohjain toimii hitaammin ja raportoi häiritseviä viestejä.
- Lokin poistaminen käytöstä lisää niiden käyttäjien enimmäismäärää, joita voit simuloida LoadRunnerista.
- Harkitse "Lähetä viesti vain, kun virhe tapahtuu" - tämä mykistää tarpeettomat tietoviestit ja raportoi vain virheisiin liittyvät viestit.
Ajattele aikoja
Ajattele, että aika on yksinkertaisesti viive kahden vaiheen välillä.
Think Time auttaa toistamaan käyttäjien käyttäytymistä, koska kukaan todellinen käyttäjä ei voi käyttää mitään sovellusta kuten konetta (VUGen). VUGen tuottaa ajatusajan automaattisesti. Sinulla on edelleen täydellinen hallinta ajatusajan poistamiseksi, kerrottamiseksi tai vaihtelemiseksi.
Esimerkiksi ymmärtääkseen käyttäjä voi avata ruudun (eli vastauksen, jota seuraa pyyntö) ja antaa sitten käyttäjänimen ja salasanan ennen Enter-näppäintä. Seuraava sovelluksen vuorovaikutus palvelimelle tapahtuu, kun hän napsauttaa "Kirjaudu sisään". Aika, jonka käyttäjä käytti käyttäjänimen ja salasanan kirjoittamiseen, on Ajattelu LoadRunnerissa.
Jos haluat simuloida sovelluksen aggressiivista kuormitusta, harkitse ajatusajan poistamista kokonaan käytöstä.
Todellisen kaltaisen käyttäytymisen simuloimiseksi voit kuitenkin valita "Käyttäjän satunnainen ajattelu" ja asettaa prosenttiosuudet halutulla tavalla.
Harkitse Rajoitusaja-ajan käyttöä lailliseen ajanjaksoon. Yleensä 30 sekuntia on melko hyvä.
Nopeuden simulointi
Nopeussimulaatio viittaa yksinkertaisesti kunkin asiakaslaitteen kaistanleveyskapasiteettiin.
Koska simuloimme tuhansia ajoneuvoyksiköitä LoadRunnerilla, on hämmästyttävää, kuinka yksinkertainen LoadRunner on tehnyt kaistanleveyden / verkon nopeuden simuloinnin hallinnan.
Jos olet asiakkaita, jotka käyttävät sovellustasi yli 128 kb / s, voit hallita sitä täältä. Voit simuloida "todellista kaltaista käyttäytymistä", jonka pitäisi auttaa saamaan oikeat suorituskykytilastot.
Paras suositus on asettaa Käytä enimmäiskaistanleveyttä. Tämä auttaa jättämään huomiotta kaikki verkkoon liittyvät suorituskyvyn pullonkaulat ja keskittymään mahdollisiin sovelluksen ongelmiin ensin. Voit aina suorittaa testin useita kertoja nähdäksesi vaihtelevan käyttäytymisen eri olosuhteissa.
Selaimen emulointi
Käyttökokemus ei riipu loppukäyttäjän käyttämästä selaimesta. Tämä on selvästikin suorituskykymittarien ulkopuolella. Voit kuitenkin valita, minkä selaimen haluat jäljitellä.
Voitteko vastata itsellesi, milloin sinun on todella tärkeää valita oikea selain tässä kokoonpanossa?
Tätä kokoonpanoa käytetään, jos olet aiheohjelma verkkosovellus, joka palauttaa erilaisia vastauksia eri selaimille. Esimerkiksi näet erilaisia kuvia ja sisältöä IE: lle ja Firefoxille jne.
Toinen tärkeä asetus on Simuloi selaimen välimuisti. Jos haluat mitata vasteajan, kun välimuisti on käytössä, valitse tämä valintaruutu. Jos etsit pahinta mahdollisuutta, tämä ei tietenkään ole huomio.
Jos lataat ei-HTML-resursseja, LoadRunner voi ladata kaikki CSS-, JS- ja muut multimediat. Tämä on pidettävä tarkistettuna. Jos kuitenkin haluat poistaa tämän suorituskykytestisuunnittelustasi, voit poistaa tämän valinnan.
Välityspalvelin
On parasta poistaa välityspalvelin kokonaan testiympäristöstäsi - tämä tekee testituloksista epäluotettavia. Saatat kuitenkin kohdata tilanteita, joissa se on väistämätöntä. Tällaisessa tilanteessa LoadRunner helpottaa välityspalvelinasetuksia.
Työskentelet (tai sinun pitäisi toimia) ilman välityspalvelinasetusta. Voit hankkia sen oletusselaimestasi. Älä kuitenkaan unohda tarkistaa, mikä selain on asetettu oletukseksi ja mikä välityspalvelimen kokoonpano oletusselaimelle on.
Jos käytät välityspalvelinta ja se vaatii todennuksen (tai komentosarjan), voit napsauttaa Todennus-painiketta, joka johtaa uuteen ikkunaan. Katso alla oleva kuvakaappaus.
Käytä tätä näyttöä antamaan käyttäjänimi ja salasana todentamiseksi välityspalvelimelle. Napsauta OK sulkeaksesi näytön.
Onnittelut. VUGen-komentosarjan määritys on valmis. Älä unohda määrittää sitä kaikille VUser-komentosarjoillesi.