Szürkedobozos tesztelés

A Wikipédiából, a szabad enciklopédiából

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]

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]

  1. Microsoft Research – Emerging Technology, Computer, and Software Research
  2. Archived copy. [2012. március 29-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. október 17.)
  3. Gray Box Testing. Software Testing Fundamentals, 2011. november 4. (Hozzáférés: 2012. január 19.)
  4. Example of grey box testing with definition. Geekinterview.com. (Hozzáférés: 2012. január 19.)
  5. 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]
  6. 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.)
  7. Patton, Ron. Software Testing. Sams, 2. o. (2005. július 26.). ISBN 978-0-672-32798-8 
  8. Archived copy. [2012. április 3-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. október 17.)
  9. Nguyen, Hung Q. Testing Applications on the Web: Test Planning for Internet-Based Systems. John Wiley & Sons (2001. április 24.). ISBN 9780471437642 
  10. Explore the World of Gray Box Testing. Extremesoftwaretesting.com. (Hozzáférés: 2012. január 19.)
  11. 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.)
  12. E33 Gray Box Testing.PDF
  13. Ramdeo: Gray Box Testing - Software. Testing Geek, 2011. május 5. (Hozzáférés: 2012. január 19.)
  14. Bach, James. Lessons Learned in Software Testing. Wiley Computer Publishing 
  15. Falk, Jack. Testing Computer Software, 2nd Edition. Wiley Computer Publishing 
  16. http://legacy.cleanscape.net/docs_lib/paper_graybox.pdf
  17. 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.