performance testing vs load testing vs stress testing
Razlika između ispitivanja izvedbe, ispitivanja opterećenja i ispitivanja naprezanja - s primjerima
Naš prethodni tutorial u ovoj seriji bit će najbolji Vodič za ispitivanje izvedbe za bilo kojeg početnika.
Na polju testiranja softvera susrećemo pojmove poput ispitivanja performansi, ispitivanja opterećenja, testiranja otpornosti na stres itd. Ti se pojmovi često pogrešno shvaćaju i tumače kao isti koncepti.
Međutim, postoji značajna razlika između ove tri vrste ispitivanja i važno je da ispitivač isto razumije.
=> Kliknite ovdje za cjelovitu seriju vodiča za testiranje izvedbe
U ovom uputstvu razgovarat ćemo o svakoj od ovih vrsta testiranja kako bismo razumjeli točne razlike između njih.
Što ćete naučiti:
Razlika između ispitivanja izvedbe, ispitivanja opterećenja i ispitivanja naprezanja
# 1) Ispitivanje performansi
Što je ispitivanje performansi?
Ispitivanje izvedbe je ispitivanje koje se izvodi kako bi se utvrdilo kako komponente sustava rade u određenoj datoj situaciji.
Korištenje resursa, skalabilnost i pouzdanost proizvoda također su potvrđeni ovim testiranjem. Ovo testiranje je podskup izvedbenog inženjerstva koji je usredotočen na rješavanje problema izvedbe u dizajnu i arhitekturi softverskog proizvoda.
Gornja slika nam to jasno objašnjava Ispitivanje performansi je superset za testiranje opterećenja i naprezanja. Ostale vrste ispitivanja uključene u ispitivanje izvedbe su Ispitivanje šiljcima, Provjeravanje volumena, Ispitivanje izdržljivosti i Ispitivanje skalabilnosti . Stoga je ispitivanje izvedbe u osnovi vrlo širok pojam.
Cilj ispitivanja izvedbe:
Primarni cilj ispitivanja performansi uključuje uspostavljanje referentnog ponašanja sustava. Postoji niz industrijski definiranih mjerila koja bi trebala biti zadovoljena tijekom ispitivanja performansi.
čime otvoriti json datoteke
Testiranje performansi nema za cilj pronalaženje nedostataka u aplikaciji. Također ne prolazi ili pada test. Umjesto toga, bavi se kritičnim zadatkom postavljanja mjerilo i standard za aplikaciju . Testiranje performansi treba obaviti vrlo precizno. Pomno praćenje izvedbe aplikacije / sustava primarna je karakteristika ispitivanja performansi.
Mjerilo i standard aplikacije trebali bi se postaviti u smislu atributa poput brzine, vremena odziva, protoka, upotrebe resursa i stabilnosti. Svi se ti atributi ispituju u testu izvedbe.
Na primjer,
Na primjer, možete testirati izvedbu aplikacijske mreže putem grafikona „Brzina veze nasuprot kašnjenju“. Latencija je vremenska razlika između podataka koji dolaze od izvora do odredišta.
Učitavanju stranice od 70 kb neće trebati više od 15 sekundi za najgoru vezu modema od 28,8 kbps (latencija = 1000 milisekundi), dok će se stranica iste veličine pojaviti u roku od 5 sekundi za prosječnu vezu od 256 kbps DSL (latencija = 100 milisekunde).
T1 veza od 1,5 Mbps (latencija = 50 milisekundi) trebala bi postaviti mjerilo performansi kao 1 sekundu da bi se postigao taj cilj.
Još primjer bio bi model zahtjeva i odgovora. Možemo postaviti mjerilo da vremenska razlika između generiranja zahtjeva i potvrde odgovora treba biti u rasponu od x ms (milisekunde) i y ms, gdje su x i y standardne znamenke.
Uspješan test izvedbe trebao bi projicirati većinu problema s izvedbom, koji bi se mogli odnositi na bazu podataka, mrežu, softver, hardver itd.
# 2) Ispitivanje opterećenja
Ispitivanje opterećenja namijenjeno je testiranju sustava neprestanim i stalnim povećanjem opterećenja na sustavu dok ne dosegne graničnu vrijednost. To je podskup ispitivanja performansi.
Ispitivanje opterećenja može se lako obaviti korištenjem bilo kojeg prikladnog alata za automatizaciju koji je dostupan na tržištu. WAPT i LoadRunner dva su tako poznata alata koja pomažu u ispitivanju opterećenja. Ispitivanje opterećenja poznato je i po imenima poput Ispitivanje volumena i Ispitivanje izdržljivosti .
Međutim, količinsko testiranje uglavnom se fokusira na baze podataka. Ispitivanje izdržljivosti testira sustav držeći ga pod značajnim opterećenjem tijekom duljeg vremenskog razdoblja.
Jedina svrha ispitivanja opterećenja je dodijeliti sustavu najveći posao koji može obaviti za testiranje izdržljivosti sustava i praćenje rezultata. Ovdje je zanimljiva činjenica da se ponekad sustav ispuni praznim zadatkom kako bi se utvrdilo ponašanje sustava u situaciji bez opterećenja.
Atributi koji se prate u testu opterećenja uključuju vršnu izvedbu, propusnost poslužitelja, vrijeme odziva pod različitim razinama opterećenja (ispod praga prekida), adekvatnost H / W okruženja, koliko korisničkih aplikacija može obraditi bez utjecaja na performanse.
Cilj testiranja opterećenja:
Ciljevi ispitivanja opterećenja uključuju:
- Otkrivanje nedostataka u aplikaciji povezanih s preljevom međuspremnika, curenjem memorije i lošim upravljanjem memorijom. Problemi koji bi se na kraju mogli pojaviti kao rezultat ispitivanja opterećenja mogu uključivati probleme uravnoteženja opterećenja, probleme s propusnošću, kapacitet postojećeg sustava itd.
- Utvrditi gornju granicu svih komponenata aplikacije poput baze podataka, hardvera, mreže itd., Tako da aplikacija može upravljati predviđenim opterećenjem u budućnosti.
- Da biste postavili SLA za aplikaciju.
Na primjer,
Razmotrimo da provjerimo funkcionalnost e-pošte aplikacije koja istodobno može biti preplavljena s 1000 korisnika. Sada 1000 korisnika može aktivirati transakcije e-poštom (čitati, slati, brisati, prosljeđivati, odgovarati) na mnogo različitih načina.
Ako uzmemo jednu transakciju po korisniku na sat, to bi bilo 1000 transakcija na sat. Simulirajući 10 transakcija / korisnika, mogli bismo testirati poslužitelj e-pošte zauzimajući ga s 10000 transakcija / sat.
kako instalirati eclipse c ++
Još jedan primjer testa opterećenja prikazan je na donjoj slici:
Gornja slika prikazuje test opterećenja izveden u alatu tzv JMeter . Ovaj se test radi kako bi se utvrdilo s koliko korisnika sustav može podnijeti. U ovom se testu dodaje 100 korisnika nakon svakih 30 sekundi dok opterećenje ne dosegne 1000 korisnika. Svaki korak traje 30 sekundi, a JMeter čeka 30 sekundi prije nego što započne sljedeći korak.
Jednom kada opterećenje dosegne 1000 niti, svi će oni nastaviti raditi 300 sekundi (5 minuta) zajedno, a zatim konačno zaustavljaju 10 niti svake 3 sekunde.
# 3) Testiranje naprezanja
U okviru testiranja otpornosti na stres provode se razne aktivnosti kako bi se postojeći resursi preopteretili suvišnim poslovima kako bi se sustav razbio. Negativno testiranje , što uključuje uklanjanje komponenata iz sustava, također se vrši u sklopu ispitivanja otpornosti na stres.
Također poznat kao ispitivanje zamora , ovo bi testiranje trebalo uhvatiti stabilnost aplikacije tako što će je testirati izvan propusnog opsega.
Dakle, u osnovi testiranje otpornosti na stres procjenjuje ponašanje aplikacije izvan vršnog opterećenja i normalnih uvjeta.
Svrha testiranja otpornosti na stres je utvrditi kvar sustava i nadzirati kako se sustav graciozno oporavlja. Ovdje je izazov postaviti kontrolirano okruženje prije pokretanja testa kako biste mogli precizno bilježiti ponašanje sustava u više navrata u najnepredvidljivijim scenarijima.
Problemi koji bi se eventualno mogli pojaviti kao rezultat testiranja otpornosti na stres mogu uključivati probleme sa sinkronizacijom, curenje memorije, uvjete utrke itd. Ako test opterećenja provjerava kako se sustav ponaša u situaciji naglog povećanja broja korisnika , tada se to naziva spike test.
Ako se testom naprezanja želi provjeriti održivost sustava tijekom određenog razdoblja usporenim povećanjem broja korisnika, to se naziva testom natapanja.
Cilj testiranja na stres:
Cilj testiranja otpornosti na stres je analizirati izvješća nakon pada kako bi se definiralo ponašanje aplikacije nakon neuspjeha.
Najveći je izazov osigurati da sustav ne ugrozi sigurnost osjetljivih podataka nakon kvara. U uspješnom testiranju otpornosti na stres, sustav će se vratiti u normalu zajedno sa svim svojim komponentama čak i nakon najstrašnijeg kvara.
Na primjer,
Kao primjer, program za obradu teksta poput Writer1.1.0 tvrtke OpenOffice.org koristi se za izradu pisama, prezentacija, proračunskih tablica itd. Svrha našeg testiranja otpornosti na stres je učitavanje suvišnih znakova.
Da bismo to učinili, više ćemo puta zalijepiti redak podataka dok ne dosegne svoju graničnu granicu za rukovanje velikim volumenom teksta. Čim veličina znaka dosegne 65.535 znakova, jednostavno bi odbio prihvatiti više podataka.
Rezultat testiranja otpornosti na stres na programu Writer 1.1.0 rezultira time da se ne sruši pod stresom i graciozno rješava situaciju što osigurava da aplikacija radi ispravno čak i pod rigoroznim uvjetima stresa.
Slijedi još jedan primjer ispitivanja opterećenja koji prikazuje test naglih nagli porast od 7000 korisnika:
FAQ
Nakon što smo imali dovoljno rasprava o ispitivanju performansi, testiranju otpornosti na stres i ispitivanju opterećenja, pogledajmo sada neka povezana česta pitanja na koja testeri traže odgovor.
P # 1) Jesu li ispitivanje opterećenja i ispitivanje performansi isti?
Odgovor: Odgovor na ovo je ‘Ne’. Nisu isti.
Do sada ste sigurno već razumjeli razliku između ispitivanja performansi i ispitivanja opterećenja. Možete pogledati tablični sažetak u nastavku da biste vidjeli kako ispitivanje izvedbe i opterećenja imaju različite ciljeve, atribute opsega za proučavanje i probleme koje treba otkriti.
P # 2) Je li nepravedno ispitivanje istodobno provoditi testiranje otpornosti na stres kada provodite ispitivanje opterećenja?
Odgovor: To je također često pitanje na mnogim intervjuima za testiranje softvera i ispitima za certifikaciju, jer je li nepravedno paralelno raditi stresno testiranje i testiranje opterećenja? Odgovor na ovo je ‘Ne’. Nije nepravedno raditi testiranje otpornosti na stres istovremeno kada radite ispitivanje opterećenja.
Nijedan test nikada nije nepravedan. Kao tester, vaš je posao pronaći probleme. Međutim, stvarnost testiranja softvera može se primijeniti i bilo koji problem koji otkrijete u ovoj situaciji možda neće biti riješen.
P # 3) Je li testiranje oporavka dio testiranja izvedbe?
Odgovor: Da, ispitivanje oporavka kategorizirano je pod ispitivanje performansi, a ponekad se provodi i s ispitivanjem opterećenja. U ispitivanje oporavka , njemu se pristupa koliko se dobro aplikacija može oporaviti od kvarova, padova, hardverskih kvarova i drugih sličnih problema.
pitanja i odgovori za Java kod razgovora
U ovoj aktivnosti softver prisiljava na neuspjeh, a zatim se provjerava može li se ispravno oporaviti. Na primjer, iznenadno ponovno pokretanje sustava kad je program pokrenut, a zatim provjera integriteta podataka aplikacije.
P # 4) Zahtijeva li testiranje izvedbe kodiranje?
Odgovor: Testiranje izvedbe ne zahtijeva poznavanje napredne razine kodiranja. Međutim, posjedovanje temeljnog znanja programiranja dodatna je prednost.
Na primjer, ako koristite JMeter, dobro je da znate osnove Jave. Može vam pomoći u otklanjanju pogrešaka u određenim stvarima, a prema potrebi možete napisati i vlastitu skriptu.
P # 5) Što je Spike testiranje u testiranju performansi?
Odgovor: U ispitivanju šiljaka, opterećenje naglo povećava ili smanjuje ogroman broj korisnika, a kasnije se uočava ponašanje sustava. Ispitivanje šiljaka uglavnom se vrši kako bi se provjerilo je li sustav sposoban podnijeti nagle promjene tereta.
Razlika između ispitivanja opterećenja i naprezanja
Da rezimiramo, uočimo glavne razlike između ispitivanja opterećenja, ispitivanja otpornosti na stres kao i ispitivanja performansi u donjoj tablici:
Ispitivanje performansi | Ispitivanje opterećenja | Ispitivanje naprezanja | |
---|---|---|---|
Domena | Superset ispitivanja opterećenja i naprezanja | Podskup ispitivanja performansi. | Podskup ispitivanja performansi. |
Opseg | Vrlo širok opseg. Uključuje - ispitivanje opterećenja, ispitivanje naprezanjem, ispitivanje nosivosti, ispitivanje volumena, ispitivanje izdržljivosti, ispitivanje šiljaka, ispitivanje skalabilnosti i ispitivanje pouzdanosti itd. | Uži opseg u odnosu na ispitivanje performansi. Uključuje ispitivanje volumena i ispitivanje izdržljivosti. | Uži opseg u odnosu na ispitivanje performansi. Uključuje ispitivanje namočenja i ispitivanje namočenosti. |
Glavni cilj | Postaviti mjerilo i standarde za primjenu. | Da biste identificirali gornju granicu sustava, postavite SLA aplikacije i pogledajte kako sustav podnosi velike količine tereta. | Da bi se utvrdilo kako se sustav ponaša pod velikim opterećenjima i kako se oporavlja od kvara. U osnovi, da pripremite svoju aplikaciju za neočekivani skok prometa. |
Ograničenje opterećenja | I jedno i drugo - ispod i iznad praga prekida. | Do praga prekida | Iznad praga prekida |
Atributi koji se proučavaju | Korištenje resursa, pouzdanost, skalabilnost, korištenje resursa, vrijeme odziva, protok, brzina itd. | vrhunske performanse, protok poslužitelja, vrijeme odziva pod različitim razinama opterećenja (ispod praga prekida), adekvatnost H / W okruženja, broj korisničkih aplikacija koje mogu podnijeti, zahtjevi za uravnoteženjem opterećenja itd. | Stabilnost izvan kapaciteta propusnosti, vrijeme odziva (iznad praga prekida), itd. |
Problemi identificirani ovom vrstom testiranja | Sve greške u izvedbi, uključujući napuhavanje vremena izvršavanja, opseg za optimizaciju, pitanja vezana uz brzinu, latenciju, protok itd. U osnovi - sve što se odnosi na performanse! | Problemi s uravnoteženjem opterećenja, problemi s propusnošću, problemi s kapacitetom sustava, loše vrijeme odziva, problemi s protokom itd. | Sigurnosne rupe s preopterećenjem, problemi s oštećenjem podataka u situaciji preopterećenja, sporosti, curenja memorije itd. |
Razlika između ispitivanja opterećenja, naprezanja i volumena
Do sada već znamo za ispitivanje opterećenja i naprezanja zajedno s razlikama između njih dvoje. Istražimo sada što je ispitivanje volumena i po čemu se razlikuje od ispitivanja opterećenja i ispitivanja otpornosti na stres.
Volumensko testiranje također je vrsta testiranja performansi koje se uglavnom fokusira na bazu podataka.
U ispitivanju volumena provjerava se ponašanje sustava prema određenom volumenu podataka. Stoga su baze podataka ispunjene svojim maksimalnim kapacitetom i prate se njihove razine izvedbe poput vremena odziva i protoka poslužitelja.
Da bi bilo vrlo jednostavno, razlika između ispitivanja opterećenja, naprezanja i volumena prikazana je u nastavku:
Ispitivanje volumena | Ispitivanje opterećenja | Ispitivanje naprezanja |
---|---|---|
Ogromna količina podataka | Ogroman broj korisnika | Previše korisnika, previše podataka za pad sustava. |
Zaključak
U ovom uputstvu vidjeli smo i kroz primjere razumjeli kako se ispitivanje performansi, ispitivanje opterećenja i testiranje otpornosti na stres međusobno razlikuju i koliki je opseg svake vrste ispitivanja.
Također smo imali kratki uvid u mnoge kategorije u okviru ispitivanja performansi, kao što su testiranje klasa, testiranje oporavka, ispitivanje volumena itd. I shvatili smo kako se svaka od njih razlikuje.
Nadamo se da bi vam ovaj vodič bio od velike pomoći da shvatite praktičnu razliku između performansi, opterećenja i testiranja otpornosti na stres.
Pogledajte naš predstojeći vodič da biste saznali više o funkcionalnom testiranju protiv testiranja performansi.
=> Posjetite ovdje za cjelovitu seriju vodiča za testiranje izvedbe
Preporučena literatura
- Cjelovit vodič za ispitivanje izvedbe s primjerima
- Vodič za testiranje naprezanja za početnike
- Kompletni vodič za ispitivanje učitavanja za početnike
- Ispitivanje opterećenja, stresa i performansi web aplikacija pomoću WAPT-a
- Ispitivanje opterećenja pomoću HP LoadRunner vodiča
- Testiranje performansi u oblaku: davatelji usluga za testiranje opterećenja u oblaku
- Funkcionalno testiranje protiv testiranja izvedbe: treba li to istodobno?
- Ispitivanje opterećenja pomoću LoadUI - besplatnog alata za ispitivanje učitavanja otvorenog koda