Ce este testarea configurației? Exemple de cazuri de testare

⚡ Rezumat inteligent

Testarea configurației rulează o aplicație pe mai multe combinații de software și hardware, astfel încât o echipă poate confirma că cerințele funcționale sunt încă valabile peste tot și poate identifica configurația optimă pentru lansare.

  • 🧩 Domeniu de aplicare: OperaSistemele de configurare, browserele, versiunile bazelor de date, driverele, memoria și perifericele sunt toate considerate configurații.
  • 📐 Doua tipuri: Testarea configurației software acoperă platformele și actualizările; testarea configurației hardware acoperă dispozitivele atașate.
  • 🗂️ Matricea întâi: Construiți o matrice combinată, apoi prioritizați-o, deoarece o acoperire exhaustivă este inaccesibilă.
  • 🖥️ Mașini virtuale: Snapshot-urile înlocuiesc ciclurile repetate de instalare și dezinstalare pe mașinile de testare fizice.
  • 🏦 Exemplu lucrat: O aplicație bancară și modelele sale de aparate de numărat bancnote ilustrează cazuri de testare hardware.
  • ???? Eșec deliberat: Eliminarea intenționată a unei cerințe preliminare expune defecte pe care un laborator complet furnizat le ascunde.

Testarea configurației în combinații de software și hardware

Testarea configurației

Testarea configurației este o tehnică de testare software în care aplicația este testată cu multiple combinații de software și hardware, pentru a evalua cerințele funcționale și a găsi configurațiile optime sub care aplicația funcționează fără defecte sau imperfecțiuni.

O configurație este orice combinație pe care produsul trebuie să o suporte: o versiune a sistemului de operare, un browser, o versiune a bazei de date, un driver, o dimensiune a memoriei sau un periferic atașat. Merită să separăm aceasta de testarea de compatibilitate, care întreabă dacă produsul coexistă cu alte programe și platforme. Testarea configurației pune o întrebare mai restrânsă: se comportă aceeași versiune corect după ce se modifică propria configurație suportată?

Exemplu de testare a configurației

Luați în considerare o aplicație desktop ca exemplu funcțional.

Aplicațiile desktop sunt de obicei construite în format pe 2 sau 3 niveluri. Luați în considerare o aplicație desktop pe 3 niveluri dezvoltată în ASP.NET, constând dintr-un Client, un Server de Logică Business și un Server de Bază de Date, unde fiecare componentă acceptă platformele enumerate mai jos.

  • Platforma clientului – Windows xp, Windows 7, Windows 8 și așa mai departe
  • Platformă de server – Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 R2
  • Bază de date - SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 și așa mai departe

Testerul trebuie să testeze clientul, serverul și baza de date împreună pe acele versiuni de platformă și bază de date, pentru a confirma că aplicația funcționează corect și nu eșuează la nicio combinație acceptată.

Testarea configurației nu se limitează la software. Se aplică și hardware-ului, motiv pentru care partea hardware se numește testare a configurației hardware: imprimante, scanere, camere web și dispozitive similare pe care aplicația testată trebuie să le suporte. Matricea de mai jos arată cum sunt dispuse aceste combinații înainte de începerea execuției testului.

Matricea de testare a configurației combinațiilor de client, server și bază de date

Cerințe preliminare pentru testarea configurației

Înainte de a începe testul de configurare pentru orice proiect, trebuie îndeplinite trei cerințe preliminare.

  • Crearea unei matrice care listează diferitele combinații de configurații software și hardware
  • Prioritizarea acelor configurații, deoarece testarea fiecăreia dintre ele nu este realistă
  • Testarea fiecărei configurații în ordinea stabilită de priorizarea respectivă

Obiectivele testării configurației

Testarea configurației își propune să realizeze următoarele.

  • Validați aplicația în funcție de cerințele sale de configurabilitate
  • Cauzează deliberat erori pentru a scoate la iveală defecte pe care testarea obișnuită le trece cu vederea, de exemplu prin modificarea setărilor regionale, cum ar fi fusul orar, limba sau formatul datei
  • Determinarea configurației optime a aplicației testate
  • Analizați performanța sistemului în timp ce resursele hardware se modifică, cum ar fi adăugarea de echilibratoare de sarcină, creșterea sau reducerea memoriei sau conectarea diferitelor modele de imprimante
  • Analizați eficiența sistemului în raport cu prioritizarea, evaluând cât de bine au utilizat testele resursele disponibile pentru a atinge configurația optimă.
  • Verificați sistemul într-un mediu distribuit geografic, de exemplu cu serverul într-o locație și clienții în alta, unde sistemul ar trebui să funcționeze indiferent de setările sistemului local
  • Verificați cât de ușor se reproduc defectele atunci când configurația se modifică
  • Confirmați că elementele aplicației rămân tracposibil prin documentație adecvată și înregistrări ale versiunilor clar identificabile
  • Confirmați că elementele aplicației rămân gestionabile pe tot parcursul ciclul de viață al dezvoltării software-ului

Cum se face testarea configurației

Strategia depinde de care dintre cele două tipuri de testare a configurației este inclus în domeniul de aplicare.

  • Testarea configurației software
  • Testarea configurației hardware

Testarea configurației software

Testarea configurației software rulează aplicația testată pe mai multe sisteme de operare, actualizări de software și versiuni de dependențe. Este consumatoare de timp, deoarece fiecare rundă implică instalarea și dezinstalarea software-ului implicat.

O modalitate obișnuită de a reduce acest cost este testarea pe mașini virtualeO mașină virtuală este un mediu instalat în software care se comportă ca hardware fizic, astfel încât testerul funcționează ca și cum ar fi pe o mașină reală, în timp ce configurația în sine este disponibilă. Mașinile virtuale simulează configurațiile reale suficient de fidel pentru majoritatea verificărilor funcționale.

În loc să instaleze și să dezinstaleze aplicația pe mai multe mașini fizice, aceasta este instalată pe o mașină virtuală, iar testarea continuă de acolo. Rularea mai multor mașini virtuale în paralel, fiecare restaurată dintr-un snapshot, simplifică considerabil munca.

Testarea configurației software poate începe de obicei când

  • Cerințele de configurabilitate care urmează să fie testate sunt specificate
  • mediu de testare este gata
  • Echipa de testare este instruită în testarea configurației
  • Versiunea lansată a trecut testele unitare și de integrare

strategie de testare este de a rula suita de teste funcționale în fiecare configurație software și de a verifica dacă aplicația se comportă conform așteptărilor, fără defecte sau erori. O a doua strategie este de a eșua în mod deliberat cazurile de testare și de a verifica cât de eficient face față sistemului.

Exemplu:

Să luăm o aplicație bancară care trebuie testată pe mai multe browsere. Găzduită într-un mediu în care sunt prezente toate cerințele preliminare, este posibil să treacă de unități și... testarea de integrare în laboratorul de teste.

Instalată la sediul unui client, aceeași aplicație poate eșua, deoarece acestor mașini le lipsesc actualizări de software sau versiunile de dependență pe care aplicația se bazează direct sau indirect. Eșecul deliberat al testelor prin eliminarea unor cerințe de configurabilitate, apoi testarea din nou, este ceea ce expune acea clasă de defecte înainte ca clientul să o găsească. Ecranul de mai jos arată o astfel de eroare dependentă de configurație reprodusă într-un mediu controlat.

Aplicația bancară eșuează pe un computer client cu cerințe preliminare lipsă

Testarea configurației hardware

Testarea configurației hardware se efectuează, în general, într-un laborator care deține mașini fizice cu diferite componente hardware atașate la acestea.

Ori de câte ori este lansată o versiune, software-ul este instalat pe fiecare dintre aceste mașini, iar suita de teste este rulată pe fiecare, pentru a confirma că aplicația funcționează cu dispozitivul atașat.

Această sarcină necesită un efort semnificativ: instalarea software-ului pe fiecare mașină, atașarea hardware-ului și apoi rularea manuală sau automatizarea suitei mai întâi.

De asemenea, trebuie specificat tipul de hardware care urmează să fie testat. Hardware-ul și perifericele există într-o asemenea varietate încât acoperirea tuturor acestora este imposibilă, așa că testerul analizează pe ce dispozitive se bazează baza de utilizatori și testează în funcție de această prioritizare.

Exemple de cazuri de testare

Să luăm în considerare un scenariu bancar testat pentru compatibilitate hardware. O aplicație bancară conectată la un aparat de numărat bancnote trebuie să funcționeze cu mai multe modele, cum ar fi Rolex, Strob, Maxsell și StoK.

Eşantion cazuri de testare pentru mașina de numărat bancnote include următoarele.

  • Verificați conexiunea dintre aplicație și modelul Rolex atunci când cerințele preliminare NU sunt instalate
  • Verificați conexiunea dintre aplicație și modelul Rolex atunci când cerințele preliminare sunt instalate
  • Verificați dacă sistemul numără corect bancnotele
  • Verificați modul în care sistemul raportează o numărare greșită
  • Verificarea modului de gestionare a notelor falsificate
  • Verificați timpii de răspuns
  • Verificați dacă sunt detectate bancnotele false

Aceste cazuri acoperă un singur model, iar fiecare model rămas pe piață trebuie configurat într-un laborator de testare și testat în același mod, ceea ce este rareori practic intern. Externalizarea testării configurației hardware către o organizație specializată în acest domeniu este adesea opțiunea mai realistă.

Întrebări frecvente

Testarea configurației variază în funcție de configurația suportată de produs — sistemul de operare, versiunea bazei de date, dispozitivul atașat — și rulează din nou suita. Testarea compatibilității verifică dacă produsul coexistă cu software-ul, platformele și browserele externe cu care trebuie să funcționeze.

Oricâte justifică riscul. Analiza utilizării decide ordinea: combinațiile de platformă, browser și dispozitiv - majoritatea rulărilor bazei de utilizatori sunt acoperite primele, urmate de specificațiile minime suportate.

De obicei, echipa de asigurare a calității (QA), susținută de administratorii de sistem care furnizează mediile. În cazul produselor cu hardware complex, o echipă de laborator dedicată sau un specialist externalizat deține acoperirea dispozitivelor fizice.

Platforme de mașini virtuale și containere pentru configurări de software, laboratoare de dispozitive sau ferme de dispozitive în cloud pentru hardware și browsere și un automatizarea testelor framework pentru a reda aceeași suită pe fiecare configurație.

Explozia combinatorică, costul licențelor și al dispozitivelor fizice, furnizarea lentă a mediului și defectele care se reproduc într-o singură configurație. Prioritizarea și virtualizarea abordează majoritatea acestora.

După ce testele unitare și de integrare sunt finalizate și, de obicei, odată cu testarea sistemului. Se repetă înainte de fiecare lansare majoră, deoarece o nouă versiune de sistem de operare sau de driver poate invalida rezultatele anterioare.

Modelele clasifică combinațiile de configurații în funcție de utilizarea reală și de datele istorice privind defectele, astfel încât matricea este redusă la rândurile cu cel mai mare risc. De asemenea, ele grupează erorile pentru a arăta care dintre ele au în comun o singură cauză a configurației.

Da. Elaborează schele de testare parametrizate, scripturi de furnizare a mediului și definiții de joburi CI care rulează o singură suită pe mai multe configurații. Matricea în sine trebuie să provină în continuare din lista de platforme acceptate.

Rezumați această postare cu: