A szoftverfejlesztésben a szürkedobozos tesztelés a fehérdobozos tesztelés és a feketedobozos tesztelés kombinációja. Ennek a tesztelésnek a célja a hibák felkutatása, amelyek az alkalmazások nem megfelelő felépítése vagy nem megfelelő használata miatt fordulnak elő.
Áttekintés A feketedobozos tesztelő nincs tisztában a tesztelni kívánt alkalmazás belső felépítésével, míg a fehérdobozos tesztelő hozzáfér az alkalmazás belső felépítéséhez. A szürkedobozos tesztelő részben ismeri a belső struktúrát, amely hozzáférést ad a belső adatszerkezetek dokumentációjához, valamint az alkalmazott algoritmusokhoz.
A szürkedobozos tesztelőknek magas szintű és részletes, az alkalmazást leíró dokumentumokra van szükségük, amelyeket a tesztesetek meghatározásához gyűjtenek.
Előnyei A szürkedobozos tesztelés azért előnyös, mert a feketedobozos tesztelés egyszerű technikáját alkalmazza, és egyesíti a kóddal megcélzott rendszerekkel a fehérdobozos tesztelés során.
A szürkedobozos tesztelés a követelményteszt-esetek előállításán alapul, mivel megmutatja az összes feltételt a program tesztelése előtt az assertion metódus segítségével. Követelmény specifikáció nyelvet használnak, hogy megkönnyítsék a követelmények megértését és ellenőrizzék a helyességüket.
Szürkedobozos tesztelési feltételezések az objektumorientált szoftverekről Az objektumorientált szoftver elsősorban objektumokból áll; ahol az objektumok egyetlen oszthatatlan egységek, amelyek futtatható kóddal és/vagy adatokkal rendelkeznek. Az alábbiakban néhány feltételezést közlünk, amelyekre szüksége van az alkalmazásnak szürkedobozos teszteléshez.
A módszerek aktiválása Állapotjelentés a tesztelés alatt álló osztályban (CUT). Jelentés tesztelése elválaszthatatlan a tesztelés alatt álló osztálytól.
Példák
Építészeti modell Egységes modellezési nyelv - UML tervezési modell Véges állapotú gép - állapotmodell.
Technikák Cem Kaner meghatározta, hogy a "szürkedobozos tesztelés bemenetek és kimenetek bevonásával jár, de a teszt tervezését a kódra vagy a program működésére vonatkozó információk tanítják, amelyek általában nem lennének láthatóak a tesztelőnek". A szürkedobozos tesztelési technikák a következők:
Mátrix tesztelés: megadja a projekt állapotjelentését. Regressziós teszt: a teszteket újra kell futtatni ha változások történtek Minta tesztelése: ellenőrizze a jó alkalmazást annak tervezésére, architektúrájára és mintáira. Ortogonális tömbvizsgálat : az összes lehetséges kombináció részhalmazaként használják.
Hatások
Pozitív hatások
Kombinált előnyöket kínál: Mivel a szürkedobozos tesztelés a fehérdobozos és a feketedobozos tesztek kombinációja, mindkét tesztelésből előnyt szerez. Nem tolakodó: Funkcionális specifikáción, építészeti nézeten alapszik, míg nem a forráskódon vagy a bináris fájlokon, amik szintén invazívvá teszi. Intelligens tesztkészítés: A szürkedobozos tesztelő intelligens teszt eseteket kezel, például adattípus-kezelést, kommunikációs protokollt, kivételkezelést . Elfogulatlan tesztelés: A fenti előnyök és funkciók ellenére a szürkedobozos tesztelés megőrzi a tesztelés határait a tesztelő és a fejlesztő között.
Negatív hatások
Részleges kód lefedettség: A szürkedobozos tesztelésnél hiányoznak a forráskódok vagy a bináris fájlok, mivel az alkalmazások belsejéhez vagy struktúrájához való hozzáférés korlátozott, ami korlátozott hozzáférést eredményez a kód útjának az eléréséhez. Hibák azonosítása: Az elosztott alkalmazásokban nehéz társítani a hibák azonosítását. Ennek ellenére a szürkedobozos tesztelés megkönnyíti annak megállapítását, hogy ezek a rendszerek mennyire megfelelően dobnak kivételeket és mennyire jól vannak ezek a kivételek kezelve az elosztott rendszereknél ahol webes szolgáltatási környezet található.
Alkalmazások
A szürkedobozos tesztelés jól alkalmazható webes alkalmazásokhoz. A webalkalmazások elosztott hálózattal vagy rendszerekkel rendelkeznek; forráskód vagy bináris fájlok hiánya miatt nem lehet használni a fehérdobozos tesztelést.A feketedobozos tesztelés szintén nem használatos az ügyfél és a fejlesztő közötti szerződés miatt, ezért hatékonyabb a szürkedobozos tesztelés használata, mivel jelentős információk állnak rendelkezésre a Web Services Description Language (WSDL) nyelven. A szürkedobozos tesztelés alkalmas funkcionális vagy üzleti tartomány tesztelésére. A funkcionális tesztelés alapvetően a felhasználói interakciók tesztje lehet külső rendszerekkel. A szürkedobozos tesztelés jellemzői miatt jól alkalmazható funkcionális tesztelésre; azt is segíti megerősíteni, hogy a szoftver megfelel-e a szoftverre meghatározott követelményeknek.
A webszolgáltatások elosztott jellege lehetővé teszi a szürkedobozos tesztelésnek a szolgáltatások-orientált architektúrán (SOA) belüli hibák felderítését. Mint tudjuk, a fehérdobozos tesztelés nem alkalmas a webszolgáltatások számára, mivel közvetlenül a belső struktúrákkal foglalkozik. A fehérdobozos tesztelés használható állapot leíró metódusokhoz; például üzenetmutáció, amely generálja a nagy tömbök automatikus tesztjeit, hogy segítse a kivételkezelés állapotait, forráskód vagy bináris fájlok nélkül. Egy ilyen stratégia hasznos ahhoz, hogy a szürkedobozos tesztelés közelebb kerüljön a fehérdobozos tesztelés eredményeihez.
Jegyzetek
Fordítás
Kategória:Szoftvertesztelés