Što je testiranje konfiguracije? Primjeri testnih slučajeva

⚡ Pametni sažetak

Testiranje konfiguracije pokreće aplikaciju na više kombinacija softvera i hardvera, tako da tim može potvrditi da funkcionalni zahtjevi i dalje postoje svugdje i može identificirati optimalnu konfiguraciju za objavu.

  • 🧩 Opseg: OperaSustavi za upravljanje, preglednici, verzije baza podataka, upravljački programi, memorija i periferni uređaji računaju se kao konfiguracije.
  • 📐 Dvije vrste: Testiranje konfiguracije softvera obuhvaća platforme i ažuriranja; testiranje konfiguracije hardvera obuhvaća priključene uređaje.
  • 🗂️ Prvo matrica: Izradite matricu kombinacija, a zatim joj odredite prioritete, jer je iscrpna pokrivenost nedostupna.
  • 🖥️ Virtualni strojevi: Snimke zamjenjuju ponovljene cikluse instalacije i deinstalacije na fizičkim testnim strojevima.
  • 🏦 Obrađeni primjer: Bankarska aplikacija i njezini modeli strojeva za brojanje novčanica ilustriraju hardverske testne slučajeve.
  • ???? Namjerni neuspjeh: Namjerno uklanjanje preduvjeta otkriva nedostatke koje potpuno opremljen laboratorij skriva.

Testiranje konfiguracije u kombinacijama softvera i hardvera

Testiranje konfiguracije

Testiranje konfiguracije je tehnika testiranja softvera u kojoj se aplikacija testira s više kombinacija softvera i hardvera, kako bi se procijenili funkcionalni zahtjevi i pronašle optimalne konfiguracije pod kojima aplikacija radi bez nedostataka ili mana.

Konfiguracija je bilo koja kombinacija koju proizvod mora podržavati: verzija operativnog sustava, preglednik, izdanje baze podataka, upravljački program, veličina memorije ili priključeni periferni uređaj. Vrijedi to odvojiti od testiranje kompatibilnosti, koji pita koegzistira li proizvod s drugim softverom i platformama. Testiranje konfiguracije postavlja uže pitanje: ponaša li se ista verzija i dalje ispravno nakon što se promijeni vlastita podržana postavka?

Primjer testiranja konfiguracije

Razmotrimo desktop aplikaciju kao funkcionalni primjer.

Desktop aplikacije se obično grade u dvoslojnom ili troslojnom obliku. Uzmimo za primjer troslojnu desktop aplikaciju razvijenu u ASP.NET, koji se sastoji od klijenta, poslovnog logičkog poslužitelja i poslužitelja baze podataka, gdje svaka komponenta podržava platforme navedene u nastavku.

  • Platforma za klijente – Windows XP, Windows 7, Windows 8, i tako dalje
  • Serverska platforma – Windows 2008 poslužitelj, Windows Poslužitelj 2008 R2, Windows Server 2012 R2
  • Baza podataka – SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 i tako dalje

Tester mora zajedno testirati klijenta, poslužitelja i bazu podataka na tim platformama i verzijama baza podataka kako bi potvrdio da aplikacija ispravno funkcionira i da ne dolazi do prekida ni na jednoj podržanoj kombinaciji.

Testiranje konfiguracije nije ograničeno samo na softver. Odnosi se i na hardver, zbog čega se hardverska strana naziva testiranjem konfiguracije hardvera: pisači, skeneri, web kamere i slični uređaji koje testirana aplikacija mora podržavati. Matrica u nastavku prikazuje kako su te kombinacije raspoređene prije početka izvršavanja testa.

Matrica testiranja konfiguracije kombinacija klijenta, poslužitelja i baze podataka

Preduvjeti za testiranje konfiguracije

Prije početka testiranja konfiguracije na bilo kojem projektu, moraju biti ispunjena tri preduvjeta.

  • Izrada matrice koja navodi različite kombinacije konfiguracija softvera i hardvera
  • Davanje prioriteta tim konfiguracijama, jer testiranje svake od njih nije realno
  • Testiranje svake konfiguracije redoslijedom postavljenim tim prioritetima

Ciljevi testiranja konfiguracije

Testiranje konfiguracije ima za cilj postići sljedeće.

  • Validirajte aplikaciju u odnosu na njezine zahtjeve za konfiguraciju
  • Namjerno uzrokujte kvarove kako biste istaknuli nedostatke koje uobičajeno testiranje propušta, na primjer promjenom regionalnih postavki poput vremenske zone, jezika ili formata datuma
  • Odredite optimalnu konfiguraciju testirane aplikacije
  • Analizirajte performanse sustava dok se mijenjaju hardverski resursi, kao što je dodavanje uravnoteživača opterećenja, povećanje ili smanjenje memorije ili povezivanje različitih modela pisača
  • Analizirajte učinkovitost sustava u odnosu na prioritete, procjenjujući koliko su dobro testovi koristili dostupne resurse za postizanje optimalne konfiguracije
  • Provjerite sustav u geografski distribuiranom okruženju, na primjer s poslužiteljem na jednoj lokaciji i klijentima na drugoj, gdje bi sustav trebao raditi bez obzira na lokalne postavke sustava.
  • Provjerite koliko se lako nedostaci reproduciraju kada se konfiguracija promijeni
  • Potvrdite da stavke aplikacije ostaju tracmoguće putem odgovarajuće dokumentacije i jasno prepoznatljivih zapisa verzija
  • Potvrdite da stavke aplikacije ostaju upravljive tijekom cijelog životni ciklus razvoja softvera

Kako napraviti testiranje konfiguracije

Strategija ovisi o tome koja je od dvije vrste testiranja konfiguracije uključena u opseg.

  • Testiranje konfiguracije softvera
  • Testiranje konfiguracije hardvera

Testiranje konfiguracije softvera

Testiranje konfiguracije softvera pokreće testiranu aplikaciju na više operativnih sustava, ažuriranja softvera i verzija ovisnosti. To je dugotrajno, jer svaki krug znači instaliranje i deinstaliranje uključenog softvera.

Uobičajen način smanjenja tog troška je testiranje na virtualni strojeviVirtualni stroj je okruženje instalirano u softveru koje se ponaša kao fizički hardver, tako da tester radi kao na stvarnom stroju, dok je sama konfiguracija jednokratna. Virtualni strojevi dovoljno vjerno simuliraju stvarne konfiguracije za većinu funkcionalnih provjera.

Umjesto instaliranja i deinstaliranja na nekoliko fizičkih računala, aplikacija se instalira na virtualno računalo, a testiranje se nastavlja odatle. Paralelno pokretanje nekoliko virtualnih računala, od kojih je svako obnovljeno iz snimke stanja, znatno pojednostavljuje rad.

Testiranje konfiguracije softvera obično može započeti kada

  • Zahtjevi za konfiguraciju koji se testiraju su navedeni
  • The okruženje ispitivanja je spreman
  • Tim za testiranje je obučen za testiranje konfiguracije
  • Objavljena verzija je prošla jedinično i integracijsko testiranje

Tipična testna strategija jest pokrenuti funkcionalni testni paket na svakoj softverskoj konfiguraciji i provjeriti ponaša li se aplikacija kako je predviđeno, bez nedostataka ili pogrešaka. Druga strategija je namjerno odbacivanje testnih slučajeva i provjera koliko se sustav učinkovito nosi s tim.

Primjer:

Uzmimo za primjer bankarsku aplikaciju koja se mora testirati u više preglednika. Ako se nalazi u okruženju u kojem su prisutni svi preduvjeti, mogla bi proći jedinični i integracijsko testiranje u ispitnom laboratoriju.

Instalirana na klijentskoj lokaciji, ista aplikacija može zakazati jer tim računalima nedostaju ažuriranja softvera ili verzije ovisnosti na koje se aplikacija izravno ili neizravno oslanja. Namjerno neuspjeh na testovima uklanjanjem nekih zahtjeva za konfiguraciju, a zatim ponovnim testiranjem, otkriva tu klasu nedostataka prije nego što je korisnik pronađe. Donji zaslon prikazuje takav kvar ovisan o konfiguraciji koji se reproducira u kontroliranom okruženju.

Bankarska aplikacija ne radi na klijentskom računalu bez preduvjeta

Testiranje konfiguracije hardvera

Testiranje konfiguracije hardvera obično se provodi u laboratoriju u kojem se nalaze fizički strojevi s različitim hardverom priključenim na njih.

Kad god se objavi nova verzija, softver se instalira na svako od tih računala i na svakom se pokreće testni paket kako bi se potvrdilo da aplikacija radi s priključenim uređajem.

Taj zadatak zahtijeva značajan napor: instaliranje softvera na svako računalo, spajanje hardvera, a zatim ručno pokretanje paketa ili njegova prva automatizacija.

Također se mora odrediti vrsta hardvera koji se testira. Računalni hardver i periferni uređaji postoje u tolikoj raznolikosti da ih je nemoguće sve pokriti, stoga tester analizira na koje se uređaje korisnička baza zapravo oslanja i testira prema tom prioritetu.

Primjeri testnih slučajeva

Razmotrimo bankarski scenarij testiran na kompatibilnost hardvera. Bankarska aplikacija povezana s brojilom novčanica mora raditi s nekoliko modela, kao što su Rolex, Strob, Maxsell i StoK.

Uzorak test slučajevi za stroj za brojanje novčanica uključuju sljedeće.

  • Provjerite vezu između aplikacije i modela Rolexa kada preduvjeti NISU instalirani
  • Provjerite vezu između aplikacije i modela Rolexa kada su instalirani preduvjeti
  • Provjerite da li sustav ispravno broji novčanice
  • Provjerite kako sustav prijavljuje pogrešan obračun
  • Provjerite rukovanje falsificiranim bilješkama
  • Provjerite vrijeme odziva
  • Provjerite jesu li otkrivene lažne novčanice

Ti slučajevi obuhvaćaju jedan model, a svaki preostali model na tržištu mora se postaviti u testni laboratorij i testirati na isti način, što je rijetko praktično interno. Outsourcing testiranja hardverske konfiguracije organizaciji koja je specijalizirana za to često je realnija opcija.

Pitanja i odgovori

Testiranje konfiguracije mijenja vlastite podržane postavke proizvoda - operativni sustav, verziju baze podataka, priključeni uređaj - i ponovno pokreće paket. Testiranje kompatibilnosti provjerava koegzistira li proizvod s vanjskim softverom, platformama i preglednicima s kojima mora raditi.

Onoliko koliko rizik opravdava. Analitika korištenja određuje redoslijed: prvo se pokrivaju kombinacije platforme, preglednika i uređaja, većina korisničke baze, a zatim minimalne podržane specifikacije.

Obično je to QA tim, uz podršku sistemskih administratora koji osiguravaju okruženja. Kod proizvoda s puno hardvera, poseban laboratorijski tim ili vanjski stručnjak posjeduje fizičku pokrivenost uređaja.

Platforme za virtualne strojeve i kontejnere za postavljanje softvera, laboratorije za uređaje ili farme uređaja u oblaku za hardver i preglednike te automatizacija ispitivanja okvir za reprodukciju istog paketa na svakoj konfiguraciji.

Kombinatorna eksplozija, troškovi licenci i fizičkih uređaja, sporo pružanje okruženja i nedostaci koji se reproduciraju samo na jednoj konfiguraciji. Prioritizacija i virtualizacija rješavaju većinu njih.

Nakon što prođu jedinična i integracijska testiranja, a obično uz sistemska testiranja. Ponavlja se prije svakog većeg izdanja, jer novi operativni sustav ili verzija upravljačkog programa mogu poništiti ranije rezultate.

Modeli rangiraju kombinacije konfiguracija prema stvarnoj upotrebi i povijesnim podacima o nedostacima, tako da se matrica sužava na retke s najvećim rizikom. Također grupiraju kvarove kako bi pokazali koji dijele jedan uzrok konfiguracije.

Da. Izrađuje parametrizirano testno scaffolding, skripte za opskrbu okruženja i definicije CI poslova koji se pokreću iz jednog paketa na mnogim konfiguracijama. Sama matrica i dalje mora dolaziti s popisa podržanih platformi.

Sažmite ovu objavu uz: