Kombinatorikus vizsgálat

febr 24, 2020

Bevezetés:

manapság a szoftverrendszerek sokfélék és összetettek, és számos lehetséges konfigurációval rendelkeznek. Ezek a tulajdonságok és funkciók a szoftver rendszerek felavatta a kereslet a szoftver és alkalmazások, amelyek egyedi tervezésű és innovatív, valamint a kreatív funkciókat. Ezeken kívül az ügyfelek és a felhasználók exponenciális teljesítményt, funkcionalitást, minőséget, skálázhatóságot, hatékonyságot és még sok mást is igényelnek. E célok elérése és az ügyfelek és a fogyasztók igényeinek kielégítése érdekében a szoftvermérnökök különféle innovatív technikákat és módszereket alkalmaznak a termék kifejlesztésére, valamint szigorú tesztelés elvégzésére, mivel a nem megfelelő teszteléssel Kiadott termékek helyrehozhatatlan károkat és veszteségeket okozhatnak az ügyfélnek, valamint az alkalmazást telepítő vagy a szoftvert használó felhasználónak. Ezenkívül testi sérüléseket is okozhat, amelyek nagy gazdasági veszteségeket vagy biztonsági megsértéseket eredményezhetnek, valamint befolyásolhatják a mindennapi élet minőségét. A szoftver tesztelők azonban gyakran korlátozott idővel és költségkerettel rendelkeznek, ami gyakran lehetetlenné teszi a szoftverek kimerítő tesztelését. Ezenkívül a tesztelők gyakran intuitív módon tesztelik az előre jelzett hibákat, míg a kevésbé előre látható hibákat figyelmen kívül hagyják, és nem tesztelik. Az ilyen helyzet leküzdésének legjobb módja a kombinatorikus tesztelés végrehajtása szoftverekben és alkalmazásokban. A kombinatorikus tesztelés olyan megközelítés, amely képes szisztematikusan megvizsgálni a rendszerbeállításokat kezelhető számú tesztben, szisztematikusan lefedve a t-út kölcsönhatásokat. Ezért itt van egy kifejtett vita a kombinatorikus tesztelésről, annak jelentőségének, módszereinek és egyéb főbb tulajdonságainak meghatározására.

Kombinatorikus tesztelés leírása:

a kombinatorikus tesztelés ma már gyakorlati megközelítés, amely kiváló minőségű tesztelést eredményez alacsonyabb költséggel. A nyers erőt lépésekre bontja, hogy fokozatosan támadja meg a problémát azáltal, hogy elkülöníti az elemzési és szintézis tevékenységeket, amelyek számszerűsíthetők és nyomon követhetők, és részben eszközökkel támogathatók. Ezenkívül a kombinatorikus tesztelés rendkívül egyszerű. Specifikáción alapuló technikaként nem igényel ismereteket a vizsgált megvalósításról. A kombinatorikus tesztelés azon a feltevésen alapul, hogy a szoftverekben sok hiba csak két vagy több paraméter kölcsönhatásából eredhet. Ezért a kombinatorikus tesztelés hatékony módszer a több konfigurációs paraméterrel rendelkező szoftverek tesztelésére. Főleg a paraméterek kombinációja által okozott interakciós hibák kimutatására szolgál. A kombinatorikus vizsgálat által generált vizsgálattípus célja, hogy olyan burkolatot hozzon létre, amely lefedi az összes t-irányú paraméter kombinációt, ahol a ‘t’ egy adott burkolatszilárdság. Az alapvető kombinatorikus tesztelés kétféle módon alkalmazható, amelyek külön-külön vagy egyidejűleg is alkalmazhatók. Ezek a módszerek:

  • konfigurációs értékek vagy paraméterek kombinációi, amelyekben a burkoló tömbök a konfigurálható paraméterek értékeinek kiválasztására szolgálnak, esetleg ugyanazon tesztek segítségével, amelyek az összes konfigurációs kombinációval szemben futnak.
  • a burkoló tömbök a bemeneti adatértékek kiválasztására szolgálnak, amelyek ezután a teljes tesztesetek részévé válnak, létrehozva egy tesztruhát az alkalmazáshoz. A kombinatorikus tesztelés ezen formájának alkalmazása a valós szoftverre kihívást jelent, mivel magasabb fokú interakciókat mutat be, amelyekhez nagyon nagy tesztekre lehet szükség.

Kombinatorikus Tesztruhák előállításához használt módszerek:

a kombinatorikus tesztelés népszerűsége kiemelkedően nőtt az elmúlt években. Számos előnye miatt a szoftver tesztelők különböző tesztelési szinteken használják. A modell, az egység, az integráció, a rendszer és az elfogadás tesztelésétől a fekete, fehér, modell alapú tesztelésig és így tovább, a tesztelők kombinatorikus tesztelést hajtanak végre, hogy hatékony eredményeket érjenek el költséghatékony áron. Sőt, a kombinatorikus teszteléshez szükséges tesztruhák előállításához a szoftvermérnökök rengeteg eszközt használnak, ami még tovább egyszerűsíti a szoftver tesztelésének folyamatát. Ezek a kombinatorikus tesztruhák nagyobb t-way lefedettséget biztosítanak, annak ellenére, hogy a magasabb t-ways lefedettségű tömbök létrehozása jelentős számítási erőforrásokat igényelhet és nagy eredményeket hozhat. Ezenkívül a kombinatorikus tesztelés algoritmusainak többsége a 2-utas tesztelés speciális esetére összpontosít. Ezenkívül a kombinatorikus teszteléshez használt tesztruha kézi összeállításához három módszert alkalmaznak. Ezek a módszerek különféle előnyöket nyújtanak a tesztelő számára, és biztosítják, hogy a kimenet a lehető legpontosabb legyen. Ezek a módszerek/algoritmusok:

  1. algebrai módszer: ez hatékony konstrukciókat kínál az idő szempontjából, azonban nehéz pontos eredményeket előállítani a bemenetek széles és általános változatosságán.
  2. Mohó Algoritmus: Ezek a jól tanulmányozott típusú algoritmusok a burkoló tömbök felépítéséhez, mivel viszonylag hatékonynak bizonyultak az idő és a pontosság tekintetében.
  3. heurisztikus keresés: heurisztikus keresés, különösen annak ellenére, hogy a stimulált lágyítás (SA) alkalmazása számos esetben a legpontosabb eredményeket szolgáltatta. Ez a helyi keresési módszer számos legkisebb tesztkészletet biztosított a különböző rendszerkonfigurációkhoz; azonban a tesztkészletek létrehozásának végrehajtási idejének költségén.

Páros Vizsgálat:

közismert nevén all-pair testing, páronkénti tesztelés egy kombinatorikus módszer szoftver tesztelés, hogy minden pár bemeneti paraméter egy rendszer, teszteli az összes lehetséges diszkrét kombinációi ezeket a paramétereket. Ez egy teszttervezési technika, amely száz százalékos teszt lefedettséget biztosít. A program leggyakoribb hibáit általában egy bemeneti paraméter vagy egy paraméterpár közötti kölcsönhatás okozza. A három vagy több paraméter közötti kölcsönhatásokat érintő hibák fokozatosan ritkábbak, valamint fokozatosan drágábbak, az ilyen tesztelés korlátozza az összes lehetséges bemenet tesztelését. Ebben az esetben a kombinatorikus technika a tesztesetek kiválasztásához, mint minden pár, nagyon hasznos költség-haszon kompromisszum, amely lehetővé teszi a tesztesetek számának jelentős csökkentését anélkül, hogy drasztikusan veszélyeztetné a funkcionális lefedettséget. Ezért a páros tesztelési technika rendkívül hasznos a több paramétert tartalmazó alkalmazások tesztelésének megtervezésében. Tesztruhája minden kombinációt lefed, ezért nem kimerítő, mégis nagyon hatékony a hibák megtalálásában. Bár a páros tesztelés drámaian csökkentheti a kombinációkat, továbbra is nagyon hatékony a hibaérzékelés szempontjából, és valóban egy intelligens teszttervezési technika, amely a legjobb tesztelési erőfeszítéseket és kivételes hatékonyságot ígéri.

a kombinatorikus tesztelés előnyei:

a kombinatorikus tesztelésről szóló fenti vita tükrözi annak jelentőségét és hasznosságát. Ez az egyik leghatékonyabb szoftvertesztelési technika, mivel több konfigurálható paraméterrel rendelkező szoftvert tesztel. Ezenkívül kombinatorikus tesztelés segítségével könnyen észlelhetők a paraméterek kombinációja által okozott kölcsönhatási hibák. Az ilyen típusú tesztelés másik előnye, hogy kiváló minőségű tesztelést eredményez nagyon költséghatékony ütemben, ami nemcsak a szoftverfejlesztőknek és a tesztelőknek segít, hanem annak a szervezetnek is előnyös, amelynek a terméket fejlesztik. Ezért ennek a megközelítésnek az egyéb előnyei a következők:

  • kezeli lefedettség aggályok meghatározásakor a vizsgálati terv.
  • lehetővé teszi a teszt szisztematikus tervezését.
  • gyakorlatilag bármilyen szoftverre alkalmazható, az absztrakciók különböző szintjein.
  • magasabb vizsgálati lefedettség jobb minőségbiztosítással.
  • nem igényel hozzáférést a belső forráskód SUT.
  • maximalizálja az egyes tesztelt forgatókönyvek értékét.
  • a tesztek számának jelentős csökkenése.
  • képes kontrollálni a kockázatokat, és könnyen áttekinthető.

következtetés:

a szoftverrendszerek összetettek, és exponenciális számú lehetséges tesztet végezhetnek. Minden olyan termék, amelyet megfelelő tesztelés nélkül bocsátanak ki, jelentős veszélyt jelenthet a szervezet és a felhasználó számára. Ezért annak biztosítása érdekében, hogy a szoftver kiadása után ne forduljon elő ilyen helyzet vagy probléma, a szoftvertesztelők szigorú tesztelést végeznek. Sőt, gyakran használnak kombinatorikus tesztelést különböző tesztelési szinteken, mivel könnyen tesztelheti a szoftvert több konfigurálható paraméterrel. Röviden, kombinatorikus tesztelést alkalmaznak a paraméterek kombinációja által okozott interakciós hibák kimutatására. A kombinatorikus tesztelés hatékonyságát alátámasztó kulcsfontosságú felismerés a NIST által 1999-2004 között végzett tanulmányok és kutatások sorozatából származik. Rendkívül hasznos megközelítés, amely szisztematikusan megvizsgálhatja a rendszer beállítását kezelhető számú tesztben. Ez egy olyan megközelítés, amely magas színvonalú tesztelést állít elő és hajt végre nagyon költséghatékony áron. Ezenkívül ez egy hatékony teszttervezési technika, amely a lehető leghamarabb képes kezelni a lefedettségi aggályokat. Ezért, ha egy szoftvermérnök a legjobb tesztelési eredményeket akarja elérni, akkor biztosan végre kell hajtania a kombinatorikus tesztelést a szoftverfejlesztési életciklus (SDLC) korai szakaszában.

adja meg visszajelzését!

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.