Mi az a konfigurációteszt? Példa tesztesetek

⚡ Okos összefoglaló

A konfigurációtesztelés egy alkalmazást több szoftver- és hardverkombináción futtat, így a csapat megerősítheti, hogy a funkcionális követelmények továbbra is mindenhol érvényesek, és azonosíthatja a kiadáshoz optimális konfigurációt.

  • 🧩 Hatály: OperaA konfigurációnak számítanak a rendszerek, a böngészők, az adatbázis-verziók, az illesztőprogramok, a memória és a perifériák.
  • 📐 Két típus létezik: A szoftverkonfigurációs tesztelés a platformokat és a frissítéseket vizsgálja; a hardverkonfigurációs tesztelés a csatlakoztatott eszközöket.
  • 🗂️ Mátrix először: Készíts egy kombinációs mátrixot, majd rangsorold, mert a teljes körű lefedettség megfizethetetlen.
  • 🖥️ Virtuális gépek: A pillanatképek felváltják az ismétlődő telepítési és eltávolítási ciklusokat a fizikai tesztgépeken.
  • 🏦 Működő példa: Egy banki alkalmazás és annak bankjegyszámláló gépmodelljei hardveres teszteseteket illusztrálnak.
  • ???? Szándékos mulasztás: Egy előfeltétel szándékos eltávolítása olyan hibákat tár fel, amelyeket egy teljesen kiépített labor elrejt.

Konfigurációtesztelés szoftver- és hardverkombinációk között

Konfiguráció tesztelése

Konfiguráció tesztelése egy olyan szoftvertesztelési technika, amelyben az alkalmazást többféle szoftver- és hardverkombinációval tesztelik a funkcionális követelmények felmérése és az optimális konfigurációk megtalálása érdekében, amelyek mellett az alkalmazás hibák vagy hiányosságok nélkül működik.

A konfiguráció bármely olyan kombináció, amelyet a terméknek támogatnia kell: operációs rendszer verziója, böngésző, adatbázis-kiadás, illesztőprogram, memóriaméret vagy csatlakoztatott periféria. Érdemes ezt elkülöníteni a következőktől: kompatibilitási tesztelés, amely azt kérdezi, hogy a termék más szoftverekkel és platformokkal együtt létezik-e. A konfigurációtesztelés egy szűkebb kérdést vet fel: vajon ugyanaz a build továbbra is helyesen viselkedik-e, ha a saját támogatott beállításai megváltoznak?

Konfiguráció tesztelési példa

Vegyünk egy asztali alkalmazást működő példaként.

Az asztali alkalmazásokat általában két- vagy háromszintű formában készítik. Vegyünk egy háromszintű asztali alkalmazást, amelyet a következőképpen fejlesztettek ki: ASP.NET, amely egy kliensből, egy Business Logic Serverből és egy adatbázis-kiszolgálóból áll, ahol minden komponens az alább felsorolt ​​platformokat támogatja.

  • Ügyfélplatform – Windows XP, Windows 7, Windows 8, és így tovább
  • Szerver platform – Windows 2008 szerver, Windows Server 2008 R2, Windows Szerver 2012 R2
  • Adatbázis – SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 és így tovább

A tesztelőnek együtt kell tesztelnie a klienst, a szervert és az adatbázist ezeken a platform- és adatbázis-verziókon, hogy megerősítse, hogy az alkalmazás megfelelően működik, és nem hibásodik meg egyetlen támogatott kombináción sem.

A konfigurációs tesztelés nem korlátozódik a szoftverekre. Hardverre is vonatkozik, ezért a hardveres oldalt hardverkonfigurációs tesztelésnek nevezik: nyomtatók, szkennerek, webkamerák és hasonló eszközök, amelyeket a tesztelt alkalmazásnak támogatnia kell. Az alábbi mátrix bemutatja, hogyan rendeződnek el ezek a kombinációk a teszt végrehajtásának megkezdése előtt.

Kliens, szerver és adatbázis kombinációk konfigurációtesztelési mátrixa

A konfiguráció tesztelésének előfeltételei

Mielőtt bármilyen projekt konfigurációs tesztje megkezdődne, három előfeltételnek kell teljesülnie.

  • Mátrix létrehozása, amely felsorolja a szoftver- és hardverkonfigurációk különböző kombinációit
  • A konfigurációk rangsorolása, mivel nem reális mindegyik tesztelése
  • Minden konfiguráció tesztelése az adott prioritás által meghatározott sorrendben

A konfiguráció tesztelésének céljai

A konfigurációs tesztelés a következők elérését tűzte ki célul.

  • Az alkalmazás konfigurálhatósági követelményeinek való megfeleltetése
  • Szándékosan hibákat okoznak olyan hibák felszínre hozására, amelyeket a hagyományos tesztelés nem vesz észre, például a regionális beállítások, például az időzóna, a nyelv vagy a dátumformátum megváltoztatásával.
  • Határozza meg a tesztelt alkalmazás optimális konfigurációját
  • A rendszer teljesítményének elemzése a hardver erőforrások változása közben, például terheléselosztók hozzáadása, memória növelése vagy csökkentése, illetve különböző nyomtatómodellek csatlakoztatása esetén
  • A rendszer hatékonyságának elemzése a prioritások tükrében, annak megítélése, hogy a tesztek mennyire jól használták ki a rendelkezésre álló erőforrásokat az optimális konfiguráció eléréséhez.
  • Ellenőrizze a rendszert egy földrajzilag elosztott környezetben, például úgy, hogy a szerver az egyik, a kliensek pedig egy másik helyen vannak, ahol a rendszernek a helyi rendszerbeállításoktól függetlenül működnie kell.
  • Ellenőrizze, hogy a hibák milyen könnyen reprodukálódnak, amikor a konfiguráció megváltozik
  • Győződjön meg arról, hogy az alkalmazás elemei megmaradnak tracmegfelelő dokumentáció és egyértelműen azonosítható verziórekordok révén megvalósítható
  • Győződjön meg arról, hogy az alkalmazás elemei végig kezelhetők szoftverfejlesztési életciklus

Hogyan kell elvégezni a konfiguráció tesztelését

A stratégia attól függ, hogy a két konfigurációtesztelési típus közül melyik tartozik a hatókörbe.

  • Szoftverkonfiguráció tesztelése
  • Hardverkonfiguráció tesztelése

Szoftverkonfiguráció tesztelése

A szoftverkonfigurációs tesztelés során a tesztelt alkalmazást több operációs rendszeren, szoftverfrissítésen és függőségi verzión futtatják. Ez időigényes, mivel minden körben telepíteni és eltávolítani kell az érintett szoftvereket.

A költségek csökkentésének egy gyakori módja a tesztelés. virtuális gépekA virtuális gép egy olyan szoftverbe telepített környezet, amely fizikai hardverként viselkedik, így a tesztelő úgy működik, mintha egy valódi gépen lenne, míg maga a konfiguráció eldobható. A virtuális gépek a legtöbb funkcionális ellenőrzéshez kellően pontosan szimulálják a valós konfigurációkat.

Ahelyett, hogy több fizikai gépen telepítenénk és eltávolítanánk az alkalmazást, az egy virtuális gépre települ, és a tesztelés onnan folytatódik. Több virtuális gép párhuzamos futtatása, amelyek mindegyike egy pillanatképből van visszaállítva, jelentősen leegyszerűsíti a munkát.

A szoftverkonfiguráció tesztelése általában akkor kezdődik, amikor

  • A tesztelendő konfigurálhatósági követelmények meghatározottak
  • Az tesztkörnyezet készen áll
  • A tesztelő csapat konfigurációs tesztelésben képzett
  • A kiadott build sikeresen átment az egység- és integrációs tesztelésen.

A tipikus tesztelési stratégia a funkcionális tesztkészlet futtatása minden szoftverkonfiguráción, és annak ellenőrzése, hogy az alkalmazás a kívánt módon, hibák és hibák nélkül viselkedik-e. A második stratégia a tesztesetek szándékos megbuktatása, és annak ellenőrzése, hogy a rendszer mennyire hatékonyan kezeli a problémát.

Példa:

Vegyünk egy banki alkalmazást, amelyet több böngészőn kell tesztelni. Ha olyan környezetben fut, ahol minden előfeltétel teljesül, akkor könnyen átmehet az egység- és integrációs tesztelés a tesztlaborban.

Egy kliens telephelyére telepítve ugyanaz az alkalmazás meghibásodhat, mivel ezekről a gépekről hiányoznak a szoftverfrissítések vagy a függőségi verziók, amelyekre az alkalmazás közvetlenül vagy közvetve támaszkodik. A tesztek szándékos megbuktatása bizonyos konfigurálhatósági követelmények eltávolításával, majd az újbóli teszteléssel az, ami az adott hibaosztályt feltárja, mielőtt az ügyfél megtalálná. Az alábbi képernyőkép egy ilyen konfigurációfüggő hibát mutat be, amely egy ellenőrzött környezetben reprodukálódik.

A banki alkalmazás hibát jelez egy kliensgépen hiányzó előfeltételek miatt.

Hardverkonfiguráció tesztelése

A hardverkonfiguráció tesztelését általában egy laboratóriumban végzik, ahol fizikai gépeket tartanak, amelyekhez különböző hardverek vannak csatlakoztatva.

Amikor egy build megjelenik, a szoftvert mindegyik gépre telepítik, és mindegyiken lefuttatják a tesztcsomagot, hogy megerősítsék az alkalmazás működését a csatlakoztatott eszközzel.

Ez a feladat jelentős erőfeszítést igényel: telepíteni kell a szoftvert minden gépre, csatlakoztatni a hardvert, majd először manuálisan vagy automatizálni kell a csomagot.

A tesztelendő hardver típusát is meg kell határozni. A számítógépes hardverek és perifériák olyan sokféleségben léteznek, hogy lehetetlen mindegyiket lefedni, ezért a tesztelő elemzi, hogy a felhasználói bázis valójában mely eszközökre támaszkodik, és ennek a prioritásnak megfelelően tesztel.

Minta vizsgálati esetek

Tekintsünk egy hardverkompatibilitás szempontjából tesztelt banki alkalmazást. Egy bankjegyszámláló géphez csatlakoztatott banki alkalmazásnak több modellel is együtt kell működnie, például Rolex, Strob, Maxsell és StoK bankjegyekkel.

Minta teszt esetek A bankjegyszámláló géphez a következők tartoznak.

  • Ellenőrizze az alkalmazás és a Rolex modell közötti kapcsolatot, ha az előfeltételek NINCSENEK telepítve
  • Az alkalmazás és a Rolex modell közötti kapcsolat ellenőrzése az előfeltételek telepítése után
  • Ellenőrizze, hogy a rendszer helyesen számolja-e a bankjegyeket
  • Ellenőrizze, hogyan jelzi a rendszer a számlálási hibákat
  • Ellenőrizze a manipulált bankjegyek kezelését
  • A válaszidőket ellenőrizni
  • Ellenőrizze, hogy észlelhetők-e hamis bankjegyek

Ezek az esetek egyetlen modellre vonatkoznak, és a piacon lévő összes többi modellt egy tesztlaboratóriumban kell beállítani és ugyanúgy tesztelni, ami ritkán praktikus házon belül. A hardverkonfiguráció-tesztelés kiszervezése egy erre szakosodott szervezetnek gyakran a reálisabb megoldás.

GYIK

A konfigurációs tesztelés során a termék saját támogatott beállításait – operációs rendszer, adatbázis verzió, csatlakoztatott eszköz – módosítják, majd újrafuttatják a csomagot. A kompatibilitási tesztelés azt ellenőrzi, hogy a termék együtt működik-e a külső szoftverekkel, platformokkal és böngészőkkel, amelyekkel együtt kell működnie.

Annyi, amennyit a kockázat indokol. A használatelemzés dönti el a sorrendet: először a felhasználói bázis nagy részét lefedő platform-, böngésző- és eszközkombinációkat fedjük le, majd a minimálisan támogatott specifikációkat.

Általában a minőségbiztosítási csapat, amelyet a rendszergazdák támogatnak, akik a környezeteket kiépítik. A hardver-intenzív termékek esetében egy dedikált laborcsapat vagy egy kiszervezett szakember felel a fizikai eszközökért.

Virtuális gép- és konténerplatformok szoftvertelepítésekhez, eszközlaborokhoz vagy felhőalapú eszközfarmokhoz hardverekhez és böngészőkhöz, valamint egy teszt automatizálás keretrendszer ugyanazon csomag minden konfiguráción történő lejátszásához.

Kombinatorikus robbanás, a licencek és fizikai eszközök költsége, lassú környezetkiépítés, valamint olyan hibák, amelyek csak egyetlen konfiguráción reprodukálódnak. A priorizálás és a virtualizáció a legtöbbjüket megoldja.

Miután az egység- és integrációs tesztelés sikeres volt, és jellemzően a rendszerteszteléssel párhuzamosan. Minden nagyobb kiadás előtt megismétlődik, mivel egy új operációs rendszer vagy illesztőprogram-verzió érvénytelenítheti a korábbi eredményeket.

A modellek a konfigurációs kombinációkat a valós használat és a korábbi hibaadatok alapján rangsorolják, így a mátrixot a legnagyobb kockázatú sorokra csonkolják. A hibákat is csoportosítják, hogy megmutassák, melyeknek egyetlen konfigurációs okuk van.

Igen. Paraméterezett tesztvázlatokat, környezetkiépítési szkripteket és CI-feladatdefiníciókat készít, amelyek egyetlen csomagot futtatnak számos konfiguráción. Magának a mátrixnak továbbra is a támogatott platformok listájából kell származnia.

Foglald össze ezt a bejegyzést a következőképpen: