Ce este Soak Testing? Definiție, Înțeles, Exemple

Testarea la înmuiere

Testarea la înmuiere este un tip de testare nefuncțională care este utilizat pentru a măsura performanța unei aplicații software sub un volum mare de încărcare pentru o perioadă lungă de timp. Scopul testării Soak este de a asigura dacă aplicația software susține un volum mare de utilizare și de a verifica ce s-ar întâmpla în afara așteptărilor sale de proiectare.

Imaginea de mai jos prezintă un ciclu de testare care arată în ce etapă este testarea la înmuiere (Tipul testului de performanță) se efectuează pe o aplicație.

Testarea la înmuiere

În acest tip de testare, ceea ce este monitorizat practic este utilizarea memoriei de către o aplicație dintr-un sistem. Se testează la nivel de sistem, pentru a afla dacă sistemul va rezista la un volum foarte mare de utilizare și pentru a vedea ce s-ar întâmpla în afara așteptărilor sale de proiectare.

De ce faceți testarea la înmuiere?

Un sistem se poate comporta normal atunci când este utilizat timp de 2 ore, dar când același sistem este utilizat continuu timp de 10 ore sau mai mult decât atât, atunci se poate eșua sau se poate comporta anormal/aleatoriu/se poate bloca. Pentru a prezice o astfel de defecțiune, se efectuează testarea la înmuiere.

Când să faceți testarea la înmuiere?

Testarea la înmuiere ar trebui efectuată în următoarele scenarii: –

  1. Înainte ca proiectul să fie implementat către client, adică înainte de lansarea oricărei aplicații pe o anumită platformă, acesta trebuie să treacă printr-o serie de teste de încărcare cu succes la niveluri de trafic ridicate sau echivalente. După care se efectuează testarea la înmuiere. Ne ajută să stabilim cum să rulăm orice aplicație pentru o perioadă lungă de timp. Dacă probleme precum scurgeri de memorie/corupție de memorie sunt găsite în timpul perioadei, adică atunci când este pe Soak, atunci ar trebui raportat imediat.
  2. Cel mai bun moment pentru a face o testare la înmuiere este în weekend, deoarece o aplicație trebuie să fie în stare de funcționare atât timp cât o zi sau o noapte. Depinde în totalitate de limitările situației de testare. Testele de înmuiere sunt una dintre cele mai importante cerințe de conformitate care trebuie respectate cu strictețe de către fiecare companie.

Strategia de testare a înmuiării

Testarea în sesiune lungă este o strategie în care un sistem este sub încărcare pentru o perioadă mai lungă de timp.

Un exemplu simplu este cazul în care utilizatorul rămâne conectat la un sistem timp de multe ore executând o serie de tranzacții comerciale. În acest fel, sunt create o mulțime de date. Poate exista o mulțime de încărcături pe serverul de sistem/bază de date, ceea ce poate duce la blocarea/strângerea sistemului/serverul bazei de date.

În cadrul testării cu sesiune lungă, activitățile de mai multe zile (de exemplu 30 de zile) sunt efectuate într-un interval de timp restrâns (de exemplu 2 zile). Numărul de tranzacții în acest interval de timp restrâns ar trebui să se potrivească sau să depășească valoarea tranzacțiilor de mai multe zile. Accentul ar trebui să fie pus pe numărul de tranzacții procesate. Cea mai importantă parte a Soak Testing este verificarea memoriei disponibile în CPU și a cantității de memorie care va fi utilizată. Trebuie să înregistrăm utilizarea memoriei la începutul și la sfârșitul unui test de înmuiere. Dacă este necesar, atunci utilizarea memoriei unor facilități precum Java Mașinile virtuale sunt, de asemenea, importante și trebuie monitorizate.

Mai jos sunt câteva verificări care trebuie efectuate de către orice utilizator/tester înainte de a începe cu testarea la înmuiere:

a) Monitorizați consumul de resurse ale bazei de date.

b) Monitorizați consumul de resurse server (folosire CPU).

c) Testul de înmuiere ar trebui să ruleze cu concurență realistă a utilizatorului.

Caracteristicile testării la înmuiere

O metodă standard de testare la înmuiere ar trebui să aibă următoarele caracteristici: –

  • Durata celor mai multe teste de înmuiere este adesea determinată de timpul disponibil.
  • Orice aplicație trebuie să ruleze fără nicio întrerupere dacă necesită o perioadă prelungită de timp.
  • Ar trebui să acopere toate scenariile convenite de părțile interesate.
  • În cea mai mare parte, fiecare sistem are o perioadă de timp fereastră de întreținere regulată, iar timpul dintre aceste perioade de fereastră este un factor cheie pentru determinarea domeniului de aplicare a unui Test de înmuiere.

EXEMPLE de testare la înmuiere

  • În cazul domeniului bancar, când există o cantitate mare de date de la comercianți, testerul va pune sistemul sub încărcare continuu timp de 70 de ore până la 150 de ore pentru a verifica cum se comportă aplicația în această perioadă de încărcare.
  • Să presupunem că există 33,000 de autentificări, care trebuie introduse prin sistem, reprezintă șapte zile și jumătate de activitate. În acest caz, un test de înmuiere de 60-70 de ore poate fi început până vineri seara în jurul orei 6, care poate fi finalizat de Monday dimineata la 6 dimineata. Doar cu un astfel de test se va putea observa orice degradare a performanței în condiții controlate.
  • În cazul jocurilor video, Mobil aplicații etc. implică lăsarea jocului sau a aplicației într-o stare de rulare pentru o perioadă de timp prelungită, în diferite moduri de operare - cum ar fi inactiv, întrerupt la ecranul de titlu și așa mai departe pentru a afla dacă o aplicație poate face față încărcării continue așteptate .

Probleme frecvente observate în timpul testării la înmuiere

  1. Alocarea memoriei (scăpări de memorie care ar avea ca rezultat o criză de memorie sau erori de rotunjire care se manifestă doar în timp).
  2. Utilizarea resurselor bazei de date (Eșecul de a închide cursoarele bazei de date în anumite condiții care ar duce în cele din urmă la blocarea întregului sistem).
  3. De asemenea, poate duce la degradarea performanței, adică pentru a se asigura că timpul de răspuns după o perioadă lungă de activitate susținută este la fel de bun ca la începutul testului.
  4. Neînchiderea conexiunilor între nivelurile unui sistem cu mai multe niveluri în anumite circumstanțe, care ar putea bloca unele sau toate modulele sistemului.
  5. Degradarea treptată a timpului de răspuns al unor funcții pe măsură ce structurile de date interne devin mai puțin eficiente în timpul unui test lung.

Rezumat

  • In Inginerie Software, Testarea la înmuiere este efectuată pentru a determina dacă aplicația testată poate susține sarcina continuă.
  • Este un tip de test de performanță.
  • Ajută sistemul să determine dacă va rezista la un volum foarte mare de utilizare
  • În acest tip de testare, ceea ce este monitorizat practic este utilizarea memoriei de către o aplicație dintr-un sistem
  • Verificările care trebuie făcute de către orice utilizator/tester înainte de a începe cu Soak Testing includ
  • Monitorizați consumul de resurse ale bazei de date.
  • Monitorizați consumul de resurse server (folosire CPU).
  • Testul de înmuiere ar trebui să ruleze cu concurență realistă a utilizatorului.