Alat za testiranje LoadRunner – Komponente & Architektura

Što je LoadRunner?

LoadRunner je alat za testiranje performansi koji je prvi uveo Mercury 1999. godine. LoadRunner je kasnije kupio HPE 2006. Godine 2016. LoadRunner je preuzeo MicroFocus.

LoadRunner podržava različite razvojne alate, tehnologije i komunikacijske protokole. Zapravo, ovo je jedini alat na tržištu koji podržava tako velik broj protokola za provođenje Ispitivanje performansi. Rezultati testiranja performansi koje proizvodi softver LoadRunner koriste se kao usporedba s drugim alatima

LoadRunner video

Zašto LoadRunner?

LoadRunner nije samo pionirski alat u testiranju izvedbe, već je još uvijek tržišni lider u paradigmi testiranja izvedbe. Prema nedavnoj procjeni, LoadRunner ima oko 85% tržišnog udjela u industriji testiranja performansi.

LoadRunner

Općenito, LoadRunner alat podržava RIA (Rich Internet Applications), Web 2.0 (HTTP/HTML, Ajax, Flex i Silverlight itd.), Mobile, SAP, Oracle, MS SQL Poslužitelj, Citrix, RTE, Mail i iznad svega, Windows Utičnica. Ne postoji konkurentski alat na tržištu koji bi mogao ponuditi tako širok izbor protokola u jednom alatu.

LoadRunner

Ono što je uvjerljivije odabrati LoadRunner u testiranju softvera je vjerodostojnost ovog alata. Alat LoadRunner odavno je stekao reputaciju koju ćete često naći klijenti unakrsno provjeravaju vaša mjerila izvedbe pomoću LoadRunnera. Naći ćete olakšanje ako već koristite LoadRunner za potrebe testiranja performansi.

Softver LoadRunner usko je integriran s drugim HP-ovim alatima kao što su Unified Functional Test (QTP) i ALM (Application Lifecycle Management) koji vam omogućuju izvođenje end-to-end procesa testiranja.

LoadRunner radi na principu simulacije virtualnih korisnika na predmetnoj aplikaciji. Ti virtualni korisnici koji se također nazivaju VUsers, repliciraju klijentove zahtjeve i očekuju odgovarajući odgovor na prosljeđivanje transakcije.

Zašto vam je potrebno testiranje performansi?

Procjenjuje se gubitak prihoda od 4.4 milijarde kuna bilježi se godišnje zbog loših web performansi.

U današnje doba Weba 2.0 korisnici kliknu ako web stranica ne odgovori unutar 8 sekundi. Zamislite sebe kako čekate 5 sekundi dok tražite Google ili šaljete zahtjev za prijateljstvo na Facebooku. Posljedice prekida rada često su razornije nego što se ikad moglo zamisliti. Imamo primjere poput onih koji su se nedavno pojavili u Bank of America Online Banking, Amazon Web usluge, Intuit ili Blackberry.

Prema Dunn & Bradstreetu, 59% kompanija s liste Fortune 500 ima procijenjenih 1.6 sati zastoja svaki tjedan. Uzimajući u obzir da prosječna tvrtka s liste Fortune 500 s najmanje 10,000 zaposlenika plaća 56 dolara po satu, dio troškova rada za vrijeme prekida rada za takvu organizaciju iznosio bi 896,000 dolara tjedno, što znači više od 46 milijuna dolara godišnje.

Procjenjuje se da će samo 5 minuta prekida rada Google.com (19. kolovoza 13.) koštati pretraživačkog diva čak 545,000 dolara.

Procjenjuje se da su tvrtke izgubile prodaju u vrijednosti od 1100 dolara po sekundi zbog nedavnog Amazon Ispad web usluge.

Kada organizacija implementira softverski sustav, može se susresti s mnogim scenarijima koji mogu dovesti do kašnjenja u izvedbi. Brojni čimbenici uzrokuju usporavanje performansi, nekoliko primjera može uključivati:

  • Povećan broj zapisa prisutnih u bazi podataka
  • Povećan broj istovremenih zahtjeva upućenih sustavu
  • veći broj korisnika koji istovremeno pristupaju sustavu u odnosu na prošlost

Što je LoadRunner Architekstura?

Općenito govoreći, arhitektura HP LoadRunnera je složena, ali laka za razumijevanje.

LoadRunner Architektura
LoadRunner Archidijagram strukture

Pretpostavimo da vam je dodijeljena provjera izvedbe Amazon.com za 5000 korisnika

U stvarnoj životnoj situaciji, svih ovih 5000 korisnika neće biti na početnoj stranici, već u drugom dijelu web stranice. Kako možemo drugačije simulirati.

VUGen

VUGen ili Virtualni korisnik Generator je IDE (Integrated Development Environment) ili uređivač bogatog kodiranja. VUGen se koristi za repliciranje ponašanja sustava pod opterećenjem (SUL). VUGen pruža značajku "snimanja" koja bilježi komunikaciju prema i od klijenta i poslužitelja u obliku kodirane skripte - koja se naziva i VUser skripta.

Dakle, s obzirom na gornji primjer, VUGen može snimati kako bi simulirao sljedeće poslovne procese:

  1. Pregledavanje stranice proizvoda Amazon.com
  2. Blagajna
  3. Platni promet
  4. Provjera stranice MyAccount

kontrolor

Nakon što je VUser skripta dovršena, Controller je jedna od glavnih komponenti LoadRunnera koja kontrolira simulaciju opterećenja upravljanjem, na primjer:

  • Koliko VUser-a simulirati prema svakom poslovnom procesu ili VUser grupi
  • Ponašanje VU korisnika (povećanje, smanjenje, simultana ili istodobna priroda itd.)
  • Priroda scenarija opterećenja, npr. stvarni život ili usmjeren na cilj ili provjera SLA
  • Koje injektore koristiti, koliko VUsers-a protiv svakog injektora
  • Povremeno usporedite rezultate
  • IP lažiranje
  • Prijava pogreške
  • Izvještavanje o transakcijama itd.

Uzimajući analogiju iz našeg primjera kontrolera, VUGen skripti će se dodati sljedeći parametar

1) 3500 korisnika je Pregledavanje stranice proizvoda Amazon.com

2) 750 korisnika je unutra Blagajna

3) 500 korisnika je obavljanje obrade plaćanja

4) 250 korisnika je Stranica Moj račun provjerava se TEK nakon što 500 korisnika izvrši obradu plaćanja

Mogući su i složeniji scenariji

  1. Pokrenite 5 VUsers svake 2 sekunde do opterećenja od 3500 VUsers (surfanje Amazon stranica proizvoda).
  2. Ponavljajte 30 minuta
  3. Obustavi ponavljanje za 25 VUsers
  4. Ponovno pokrenite 20 VUSera
  5. Pokretanje 2 korisnika (na stranici Checkout, obrada plaćanja, stranica MyAccounts) svake sekunde.
  6. 2500 VU-ova bit će generirano na Stroju A
  7. 2500 VU-ova će biti generirano na Stroju B

Agenti stroj/učitavanje Generators/Injektori

HP LoadRunner Controller odgovoran je za simulaciju tisuća VU-ova – ti VU-ovi troše hardverske resurse, na primjer procesor i memoriju – stoga ograničavaju stroj koji ih simulira. Osim toga, Controller simulira ove VU-ove s istog stroja (na kojem se nalazi Controller) i stoga rezultati možda neće biti precizni. Kako bismo riješili ovu zabrinutost, svi VU-ovi raspoređeni su po različitim strojevima, tzv Opterećenje Generators ili Load Injectors.

Kao opća praksa, kontroler se nalazi na drugom stroju, a opterećenje se simulira s drugih strojeva. Ovisno o protokolu VUser skripti i specifikacijama stroja, za potpunu simulaciju može biti potreban niz ubrizgavača opterećenja. Na primjer, VUsers za HTTP skriptu zahtijevat će 2-4MB po VUseru za simulaciju, stoga će 4 stroja sa 4 GB RAM-a svaki biti potrebna za simulaciju opterećenja od 10,000 VUsers.

Uzimajući analogiju iz našeg Amazon Na primjer, izlaz ove komponente bit će

Analiza

Nakon što su scenariji učitavanja izvršeni, uloga "Analiza” dolaze komponente LoadRunnera.

Tijekom izvođenja, Controller stvara ispis rezultata u sirovom obliku i sadrži informacije poput toga koja je verzija LoadRunnera stvorila ovaj ispis rezultata i koje su konfiguracije.

Sve pogreške i iznimke se bilježe u a Microsoft pristup bazi podataka, named, output.mdb. Komponenta "Analiza" čita ovu datoteku baze podataka kako bi izvršila različite vrste analiza i generirala grafikone.

Ovi grafikoni pokazuju različite trendove kako bi se razumjelo razloge grešaka i kvarova pod opterećenjem; tako pomaže da se utvrdi je li potrebna optimizacija u SUL, poslužitelju (npr. JBoss, Oracle) ili infrastrukture.

Dolje je primjer gdje bi propusnost mogla stvarati usko grlo. Recimo da web-poslužitelj ima kapacitet od 1 GBps, dok podatkovni promet premašuje taj kapacitet uzrokujući probleme sljedećim korisnicima. Kako bi utvrdio da sustav zadovoljava takve potrebe, Performance Engineer treba analizirati ponašanje aplikacije s nenormalnim opterećenjem. Ispod je grafikon koji LoadRunner generira kako bi izvukao propusnost.

Analiza

Kako napraviti testiranje performansi

Plan testiranja izvedbe može se općenito podijeliti u 5 koraka:

  • Planiranje testa opterećenja
  • Stvorite VUGen skripte
  • Stvaranje scenarija
  • Izvedba scenarija
  • Analiza rezultata (nakon koje slijedi podešavanje sustava)

Sada kada ste instalirali LoadRunner, idemo razumjeti korake koji su uključeni u proces jedan po jedan.

Ispitivanje performansi

Koraci uključeni u proces testiranja izvedbe

Korak 1) Planiranje testa opterećenja

Planiranje testiranja izvedbe razlikuje se od planiranja a SIT (testiranje integracije sustava) or UAT (ispitivanje prihvatljivosti korisnika). Planiranje se dalje može podijeliti u male faze kako je opisano u nastavku:

Okupite svoj tim

Okupite svoj tim

Kada započnete s LoadRunner testiranjem, najbolje je dokumentirati tko će sudjelovati u aktivnosti iz svakog tima uključenog tijekom procesa.

Voditelj projekta:

Imenujte voditelja projekta koji će biti vlasnik ove aktivnosti i služiti kao glavna osoba za eskalaciju.

Funkcija Stručnjak/Poslovni analitičar:

Pruža analizu korištenja SUL-a i pruža stručnost o poslovnoj funkcionalnosti web-mjesta/SUL-a

Stručnjak za testiranje performansi:

Stvara automatizirane testove performansi i izvršava scenarije opterećenja

sistem Architekt:

Pruža nacrt SUL-a

Web programer i mala i srednja poduzeća:

  • Održava web stranicu i pruža aspekte praćenja
  • Razvija web stranicu i ispravlja greške

Administrator sustava:

  • Održava uključene poslužitelje tijekom projekta testiranja

Pregled aplikacija i uključenih poslovnih procesa:

Uspješan Testiranje opterećenja zahtijeva da planirate provesti određeni poslovni proces. Poslovni proces sastoji se od jasno definiranih koraka u skladu sa željenim poslovnim transakcijama – kako biste postigli svoje ciljeve testiranja opterećenja.

Metrika zahtjeva može se pripremiti da izazove korisničko opterećenje sustava. Ispod je primjer sustava prisutnosti u tvrtki:

Prikaz aplikacija i uključenih poslovnih procesa

U gornjem primjeru, brojke spominju broj korisnika povezanih s aplikacijom (SUL) u određenom satu. Možemo izdvojiti maksimalan broj korisnika povezanih s poslovnim procesom u bilo kojem satu u danu koji se izračunava u krajnjim desnim stupcima.

Slično možemo zaključiti i ukupan broj korisnika spojenih na aplikaciju (SUL) u bilo kojem satu u danu. To se izračunava u zadnjem retku.

Gornje 2 činjenice u kombinaciji daju nam ukupan broj korisnika s kojima trebamo testirati performanse sustava.

Definirajte postupke upravljanja testnim podacima

Na statistike i zapažanja izvučena iz testiranja performansi uvelike utječu brojni čimbenici kao što je ranije navedeno. Od kritične je važnosti pripremiti testne podatke za testiranje performansi. Ponekad određeni poslovni proces troši skup podataka i proizvodi drugačiji skup podataka. Uzmite primjer u nastavku:

  • Korisnik 'A' kreira financijski ugovor i šalje ga na pregled.
  • Drugi korisnik 'B' odobrava 200 ugovora dnevno koje je izradio korisnik 'A'
  • Drugi korisnik 'C' plaća oko 150 ugovora dnevno koje je odobrio korisnik 'B'

U ovoj situaciji korisnik B mora imati 200 'stvorenih' ugovora u sustavu. Osim toga, korisnik C treba 150 ugovora kao "odobrenih" kako bi simulirao opterećenje od 150 korisnika.

To implicitno znači da morate izraditi najmanje 200+150= 350 ugovora.

Nakon toga odobrite 150 ugovora koji će služiti kao testni podaci za korisnika C – preostalih 200 ugovora služit će kao testni podaci za korisnika B.

Outline Monitori

Nagađajte o svakom čimbeniku koji bi mogao utjecati na performanse sustava. Na primjer, smanjenje hardvera potencijalno će utjecati na performanse SUL (Sustav pod opterećenjem).

Uključite sve čimbenike i postavite monitore kako biste ih mogli procijeniti. Evo nekoliko primjera:

  • Procesor (za web poslužitelj, aplikacijski poslužitelj, poslužitelj baze podataka i injektore)
  • RAM (za web poslužitelj, aplikacijski poslužitelj, poslužitelj baze podataka i injektore)
  • Web/aplikacijski poslužitelj (na primjer IIS, JBoss, Jaguar poslužitelj, Tomcat itd.)
  • DB poslužitelj (veličina PGA i SGA u slučaju Oracle i MSSQL poslužitelj, SP-ovi itd.)
  • Iskorištenje propusnosti mreže
  • Unutarnji i vanjski NIC u slučaju klasteriranja
  • Load Balancer (i da ravnomjerno raspoređuje opterećenje na sve čvorove klastera)
  • Protok podataka (izračunajte koliko se podataka kreće do i od klijenta i poslužitelja – zatim izračunajte je li kapacitet NIC-a dovoljan za simulaciju X broja korisnika)

Korak 2) Stvorite VUGen skripte

Sljedeći korak nakon planiranja je stvaranje VUser skripte.

Korak 3) Stvaranje scenarija

Sljedeći korak je stvaranje vašeg scenarija opterećenja

Korak 4) Izvršenje scenarija

Izvršenje scenarija je mjesto gdje emulirate korisničko opterećenje na poslužitelju nalažući višestrukim VU-ovima da izvršavaju zadatke istovremeno.

Razinu opterećenja možete postaviti povećanjem i smanjenjem broja VU korisnika koji istovremeno obavljaju zadatke.

Ovo izvršenje može dovesti do toga da poslužitelj bude pod stresom i da se ponaša neuobičajeno. To je sama svrha testiranja performansi. Dobiveni rezultati zatim se koriste za detaljnu analizu i identifikaciju temeljnog uzroka.

Korak 5) Analiza rezultata (nakon koje slijedi podešavanje sustava)

Tijekom izvršavanja scenarija, LoadRunner bilježi performanse aplikacije pod različitim opterećenjima. Statistika izvučena iz izvršenja testa se sprema i provodi se detaljna analiza. Alat 'HP Analysis' generira različite grafikone koji pomažu u prepoznavanju temeljnih uzroka zaostajanja u radu sustava, kao i kvara sustava.

Neki od dobivenih grafikona uključuju:

  • Vrijeme do prvog međuspremnika
  • Vrijeme odgovora na transakciju
  • Prosječno vrijeme odgovora na transakciju
  • Pogoci u sekundi
  • Windows Resursi
  • Statistika grešaka
  • Sažetak transakcije

FAQ

Testiranje performansi uvijek se provodi samo za klijent-poslužiteljske sustave. To znači da svaka aplikacija koja nije klijent-poslužiteljska arhitektura ne smije zahtijevati testiranje performansi.

Na primjer, Microsoft Kalkulator se ne temelji niti na klijent-poslužitelju niti pokreće više korisnika; stoga nije kandidat za testiranje performansi.

Ispitivanje performansi

Važno je razumjeti razliku između testiranja performansi i inženjeringa performansi. Dolje se dijeli razumijevanje:

Ispitivanje performansi je disciplina koja se bavi testiranje i izvješćivanje trenutnu izvedbu softverske aplikacije pod različitim parametrima.

Izvedbeni inženjering je proces kojim se softver testira i podešava s namjerom ostvarivanja zahtijevane izvedbe. Ovaj proces ima za cilj optimizirati najvažniju značajku izvedbe aplikacije, tj. korisničko iskustvo.

Povijesno gledano, testiranje i ugađanje bili su jasno odvojena i često međusobno suprotstavljena područja. U posljednjih nekoliko godina, međutim, nekoliko skupina testera i programera neovisno je surađivalo kako bi stvorili timove za ugađanje. Budući da su ovi timovi postigli značajan uspjeh, koncept spajanja testiranja performansi s podešavanjem performansi je prihvaćen i sada to zovemo inženjering performansi.