Szürkedobozos tesztelés
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ő.[1] [2]
Áttekintés
[szerkeszté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.[3]
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.[4]
Előnyei
[szerkesztés]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.[5]
Szürkedobozos tesztelési feltételezések az objektumorientált szoftverekről
[szerkesztés]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[6]
- Állapotjelentés a tesztelés alatt álló osztályban (CUT).
- Jelentés tesztelése elválaszthatatlan a tesztelés alatt álló osztálytól.[5]
Példák
[szerkesztés]- Építészeti modell
- Egységes modellezési nyelv - UML tervezési modell
- Véges állapotú gép - állapotmodell.[7] [8]
Technikák
[szerkesztés]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".[9] 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.[10]
Hatások
[szerkesztés]Pozitív hatások
[szerkesztés]- 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.[11]
Negatív hatások
[szerkesztés]- 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ó.[11] [12]
Alkalmazások
[szerkesztés]- 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.[13]
- 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.[14] [15] [16] [17]
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
[szerkesztés]- ↑ Microsoft Research – Emerging Technology, Computer, and Software Research
- ↑ Archived copy. [2012. március 29-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. október 17.)
- ↑ Gray Box Testing. Software Testing Fundamentals, 2011. november 4. [2021. november 16-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. január 19.)
- ↑ Example of grey box testing with definition. Geekinterview.com. (Hozzáférés: 2012. január 19.)
- ↑ a b Jake Rogers: Common Questions Regarding Grey-Box Testing. cgsec.co.uk, 2016. augusztus 8. (Hozzáférés: 2016. augusztus 8.)[halott link]
- ↑ Object-Oriented Extensions to Pascal. Pascal-central.com. [2021. június 5-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. január 19.)
- ↑ Patton, Ron. Software Testing. Sams, 2. o. (2005. július 26.). ISBN 978-0-672-32798-8
- ↑ Archived copy. [2012. április 3-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. október 17.)
- ↑ Nguyen, Hung Q. Testing Applications on the Web: Test Planning for Internet-Based Systems. John Wiley & Sons (2001. november 20.). ISBN 9780471437642
- ↑ Explore the World of Gray Box Testing. Extremesoftwaretesting.com. (Hozzáférés: 2012. január 19.)
- ↑ a b SOA Testing Tools for Black, White and Gray Box SOA Testing Techniques. Crosschecknet.com. [2018. október 1-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. január 19.)
- ↑ E33 Gray Box Testing.PDF
- ↑ Ramdeo: Gray Box Testing - Software. Testing Geek, 2011. május 5. (Hozzáférés: 2012. január 19.)
- ↑ Bach, James. Lessons Learned in Software Testing. Wiley Computer Publishing
- ↑ Falk, Jack. Testing Computer Software, 2nd Edition. Wiley Computer Publishing
- ↑ http://legacy.cleanscape.net/docs_lib/paper_graybox.pdf
- ↑ Li (2010. április 6.). „Business-process-driven gray-box SOA testing”. IBM Systems Journal 47 (3), 457–472. o. DOI:10.1147/sj.473.0457.
Fordítás
[szerkesztés]Ez a szócikk részben vagy egészben a Gray box testing című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.