Ispitivanje performansi i opterećenja
U kontekstu softverskog inženjerstva, testiranje performansi radi se kako bi se otkrile uske grli sustava. Testovi performansi također se mogu koristiti za provjeru atributa poput pouzdanosti, upotrebe resursa i skalabilnosti te za uspostavljanje polazne crte za performanse sustava. Ispitivanje opterećenja je jedno od podvrste testiranja performansi. Izvodi se za mjerenje ponašanja sustava pod određenim radnim opterećenjem. Testiranje opterećenja je relevantnije za višekorisničke sustave temeljene na modelu klijent-poslužitelj, ali mogu se testirati i drugi softverski sustavi kao što su procesori teksta ili grafički uređivači..
Ispitivanje performansi
Kao što je već spomenuto, testiranje performansi provodi se radi utvrđivanja i uklanjanja uskih grla softverskog sustava i uspostavljanja osnovne njegove učinkovitosti koja bi bila korisna za daljnja ispitivanja. Ispitivanje performansi uključuje ispitivanja kao što su ispitivanja opterećenja, ispitivanja izdržljivosti (ispitivanja namočenja), ispitivanja spike, konfiguracijski testovi i ispitivanja izolacije. Ispitivanje performansi zahtijeva dobivanje pažljivo kontroliranog skupa mjerenja sustava. Da biste postigli najbolje rezultate testiranja performansi, to treba dobro isplanirati i raditi na stabilnom sustavu, gdje se proces testiranja može nesmetano odvijati. Važno je jasno razumjeti što zapravo želite mjeriti u pogledu performansi sustava dok obavljate testiranje performansi. Na primjer, ako testirate performanse web aplikacije, možda želite znati prihvatljivo vrijeme odgovora i broj istodobnih korisnika kojima sustav može upravljati. Imajući na umu ta dva aspekta, test možete pokrenuti povećanjem broja korisnika i prepoznavanjem uskog grla.
Učitavanje testiranja
Kao što je već spomenuto, ispitivanje opterećenja dio je testiranja performansi i često se izvodi povećanjem opterećenja softverskog sustava pomoću automatiziranih alata. Ispitivanje opterećenja ponekad se naziva i ispitivanje volumena. Neki primjeri testova učitavanja bili bi testiranje poslužitelja pošte s velikim brojem korisničkih poštanskih sandučića ili testiranje uređivanja vrlo velikog dokumenta pomoću programa za obradu teksta. Ispitivanja opterećenja obavljaju se unaprijed definiranom razinom opterećenja, obično koristeći maksimalno opterećenje s kojim se sustav može nositi bez pad sustava. Obično testiranje opterećenja nastoji razotkriti bugove koji nisu izloženi u uobičajenim testiranjima, kao što su problemi s upravljanjem memorijom, curenja memorije, prepuni međuspremnici itd. Ispitivanje opterećenja također služi kao način da se osigura da sustav ispunjava osnovnu vrijednost performansi utvrđenu tijekom testiranja performansi..
Razlika između testiranja performansi i opterećenja
Iako se izrazi performansi i ispitivanje opterećenja upotrebljavaju naizmjenično, testiranje opterećenja samo je jedan aspekt ispitivanja performansi. Ciljevi dvaju testova su također različiti. Ispitivanje performansi koristi tehnike ispitivanja opterećenja u svrhu dobivanja mjerenja i usporedne vrijednosti, a koristi nekoliko razina opterećenja. No ispitivanje opterećenja radi na jednoj unaprijed definiranoj razini opterećenja, obično s najvećim opterećenjem koje sustav može upravljati bez pad sustava. U praksi se testovi učinkovitosti rade s namjerom pronalaska uskih grla sustava i njihovog uklanjanja. A kada se sustav više ne može optimizirati, započinje testiranje opterećenja kako biste odredili što trebate dodati sustavu (najčešće hardverska proširenja kao što je broj web poslužitelja ili poslužitelja baza podataka) da bi se održali zahtjevi unaprijed definirani od strane kupca.