Što je Soak Test? Definicija, značenje, primjeri
Ispitivanje namakanja
Ispitivanje namakanja je vrsta nefunkcionalnog testiranja koja se koristi za mjerenje performansi softverske aplikacije pod velikim opterećenjem tijekom duljeg vremenskog razdoblja. Cilj Soak testiranja je provjeriti održava li softverska aplikacija veliku količinu korištenja i provjeriti što bi se dogodilo izvan očekivanja njezinog dizajna.
Slika u nastavku prikazuje ciklus testiranja koji pokazuje u kojoj je fazi testiranje namakanja (Vrsta testa izvedbe) izvodi se na aplikaciji.
U ovoj vrsti testiranja ono što se u osnovi nadzire je korištenje memorije od strane aplikacije u sustavu. To je testiranje na razini sustava, kako bi se utvrdilo hoće li sustav izdržati vrlo visoku količinu korištenja i vidjeti što bi se dogodilo izvan njegovih projektiranih očekivanja.
Zašto testirati natapanje?
Sustav se može ponašati normalno kada se koristi 2 sata, ali kada se isti sustav neprekidno koristi 10 sati ili više od toga, može zakazati ili se ponašati nenormalno/nasumično/može se srušiti. Kako bi se predvidio takav kvar, provodi se testiranje namakanja.
Kada provesti testiranje natopljenosti?
Ispitivanje natopljenosti treba provesti u sljedećim scenarijima: –
- Prije nego što se ugrađeni implementira na klijenta, tj. prije izdavanja bilo koje aplikacije na određenoj platformi, treba proći kroz uspješnu seriju testova opterećenja na visokim ili ekvivalentnim razinama prometa. Nakon toga provodi se ispitivanje natopljenosti. Pomaže nam odrediti kako pokrenuti bilo koju aplikaciju kroz dulje razdoblje. Ako se problemi poput curenja memorije/oštećenja memorije pronađu tijekom razdoblja, tj. dok je na Soak-u, tada to treba odmah prijaviti.
- Najbolje vrijeme za provođenje testiranja usisavanja je tijekom vikenda jer aplikacija mora biti u aktivnom stanju čak i preko dana ili noći. To u potpunosti ovisi o ograničenjima situacije testiranja. Ispitivanja upijanja jedan su od najvažnijih zahtjeva sukladnosti koje svaka tvrtka mora vrlo strogo slijediti.
Strategija testiranja namakanja
Dugotrajno testiranje usisavanja je strategija u kojoj je sustav pod opterećenjem dulje vrijeme.
Jednostavan primjer je kada korisnik ostaje prijavljen u sustav mnogo sati izvršavajući niz poslovnih transakcija. Na taj način se stvara mnogo podataka. Može doći do velikog opterećenja sustava/poslužitelja baze podataka što može dovesti do zaustavljanja/pada sustava/poslužitelja baze podataka.
Pod dugotrajnim testiranjem natapanja, višednevne aktivnosti (recimo 30 dana) izvode se u ograničenom vremenskom okviru (recimo 2 dana). Broj transakcija u ovom ograničenom vremenskom okviru trebao bi odgovarati ili premašiti višednevne transakcije. Fokus bi trebao biti na broju obrađenih transakcija. Najvažniji dio Soak Testinga je provjera dostupne memorije u CPU-u i količine memorije koja će se koristiti. Moramo zabilježiti korištenje memorije na početku i na kraju testa upijanja. Ako je potrebno, onda korištenje memorije objekata kao što su Java Virtualni strojevi također su važni i potrebno ih je nadzirati.
Ispod je još nekoliko provjera koje svaki korisnik/tester mora obaviti prije nego započne s testiranjem natapanja:
a) Pratiti potrošnju resursa baze podataka.
b) Pratite potrošnju resursa poslužitelja (ex-CPU upotreba).
c) Soak test trebao bi se izvoditi uz realnu korisničku konkurentnost.
Karakteristike ispitivanja natopljenosti
Standardna metoda ispitivanja natopljenosti trebala bi imati sljedeće karakteristike: –
- Trajanje većine Soak testa često je određeno raspoloživim vremenom.
- Svaka aplikacija mora raditi bez ikakvih prekida ako zahtijeva dulje vremensko razdoblje.
- Trebao bi obuhvatiti sve scenarije oko kojih su se dionici složili.
- Uglavnom svaki sustav ima redovno vremensko razdoblje održavanja, a vrijeme između takvih razdoblja ključni je pokretač za određivanje opsega testa natapanja.
PRIMJERI ispitivanja natopljenosti
- U slučaju bankovne domene kada postoji velika količina podataka od trgovaca, tester će staviti sustav pod kontinuirano opterećenje od 70 do 150 sati kako bi provjerio kako se aplikacija ponaša tijekom tog perioda učitavanja.
- Pretpostavimo da postoji 33,000 prijava, koje treba provesti kroz sustav, to predstavlja sedam i pol dana aktivnosti. U tom slučaju, 60-70 sati Soak Testa može se započeti do petka navečer oko 6 sati, a može se završiti do Monday ujutro u 6 sati. Samo s takvim testom bit će moguće uočiti pogoršanje performansi u kontroliranim uvjetima.
- U slučaju video igara, Kontakt broj aplikacije, itd. uključuju ostavljanje igre ili aplikacije u pokrenutom stanju dulje vremensko razdoblje, u različitim načinima rada - kao što je mirovanje, pauza na naslovnom zaslonu i tako dalje kako bi se saznalo može li aplikacija podnijeti kontinuirano očekivano opterećenje .
Uobičajeni problemi uočeni tijekom testiranja namakanja
- Dodjela memorije (curenje memorije koje bi na kraju rezultiralo krizom memorije ili pogreškama zaokruživanja koje se manifestiraju tek s vremenom).
- Korištenje resursa baze podataka (neuspjeh zatvaranja pokazivača baze podataka pod nekim uvjetima što bi na kraju rezultiralo zaustavljanjem cijelog sustava).
- To također može dovesti do degradacije performansi, tj. osigurati da je vrijeme odziva nakon dugog razdoblja kontinuirane aktivnosti onoliko dobro koliko je bilo na početku testa.
- Neuspjeh zatvaranja veza između razina višeslojnog sustava pod određenim okolnostima koje bi mogle zaustaviti neke ili sve module sustava.
- Postupna degradacija vremena odgovora nekih funkcija jer unutarnje strukture podataka postaju manje učinkovite tijekom dugog testa.
Rezime
- In Programsko inženjerstvo, Ispitivanje namakanja provodi se kako bi se utvrdilo može li aplikacija koja se testira izdržati kontinuirano opterećenje.
- To je vrsta testa izvedbe.
- Pomaže sustavu da odredi hoće li izdržati vrlo veliku količinu korištenja
- U ovoj vrsti testiranja ono što se u osnovi nadzire je korištenje memorije od strane aplikacije u sustavu
- Provjere koje svaki korisnik/ispitivač mora obaviti prije nego počnu s testiranjem natapanja uključuju
- Pratite potrošnju resursa baze podataka.
- Pratite potrošnju resursa poslužitelja (ex-CPU upotreba).
- Soak test trebao bi se izvoditi uz realnu korisničku konkurentnost.