Co je Gray Box Testování? Techniky, příklad
⚡ Chytré shrnutí
Šedá Box Testování zkoumá aplikaci s částečnou znalostí její vnitřní struktury a kombinuje pohled uživatele na testování černé skříňky s dostatečným architektonickým vhledem do aplikace, aby vysvětlilo, proč k selhání došlo, a ne jen to, že k němu došlo.
Co je Gray Box Testování?
Šedá Box Testování (také psáno Gray Box Testování) je technika testování softwaru, která testuje softwarový produkt nebo aplikaci s částečnou znalostí vnitřní struktury aplikace. Účelem metody Grey Box Testování slouží k vyhledávání a identifikaci vad způsobených nesprávnou strukturou kódu nebo nesprávným použitím aplikace.
V tomto procesu se běžně identifikují kontextově specifické chyby související s webovými systémy. Tato technika se zvyšuje pokrytí testu soustředěním se na všechny vrstvy komplexního systému, spíše než na jednu z nich.
Šedá Box Testování je metoda testování softwaru, která kombinuje Bílá Box Testování a Černá Box TestováníRozdíl mezi těmito třemi spočívá v tom, kolik vnitřní struktury tester vidí:
- V bílé Box Testování vnitřní struktury (kódu) je známé.
- V černé Box Testování vnitřní struktury (kódu) není známo.
- V šedé Box Testování vnitřní struktury (kódu) je částečně známé.
Níže uvedený diagram umisťuje všechny tři metody na stejnou stupnici viditelnosti.
In softwarové inženýrství, Šedá Box Testování umožňuje testovat obě strany aplikace, prezentační vrstvu i kód za ní. Je primárně užitečné v integrační testování a penetrační zkoušky.
Příklad šedé Box Testování: Pokud tester při testování funkcí webových stránek, jako jsou odkazy nebo osiřelé odkazy, narazí na problém s těmito odkazy, může tuto změnu provést okamžitě v HTML kódu a zkontrolovat ji v reálném čase.
Proč šedá Box Testování
Šedá Box Testování se provádí z následujících důvodů:
- Nabízí kombinované výhody testování černé a bílé skříňky.
- Kombinuje vstupy vývojářů i testerů a zlepšuje celkovou kvalitu produktu.
- Snižuje režijní náklady spojené s dlouhým procesem testování funkčních a nefunkčních typů.
- To dává vývojáři dostatek volného času na opravu chyb.
- Testování se provádí z pohledu uživatele, nikoli z pohledu designéra.
- Selhání lze vysvětlit, nikoli pouze nahlásit, protože tester vidí vrstvu, kde k němu došlo.
Šedá Box Testování vs. Black Box vs. bílý Box Testování
Tyto tři metody nejsou ani tak soupeřícími alternativami, jako spíše třemi úrovněmi přístupu, a každá z nich odpovídá na jiný druh otázky. Jejich umístění vedle sebe činí volbu konkrétní.
| Základna | Černá Box Testování | Šedá Box Testování | Bílá Box Testování |
|---|---|---|---|
| Znalost vnitřní struktury | Nevyplněno | Částečný | Plný |
| Účinkuje | Testeři a koncoví uživatelé | Testeři a vývojáři pracující s testery | Vývojáři a testovací inženýři |
| Základy návrhu testů | Požadavky a specifikace | Archistruktura, algoritmy, datové struktury a rozhraní | Zdrojový kód a tok řízení |
| Typická úroveň | Systémové a akceptační testování | Integrační, penetrační a webové servisní testování | Testování jednotek a komponent |
| Pokrytí měřené jako | Pokrytí požadavků | Rozhraní, data a pokrytí trasy | Pokrytí příkazů, větví a cest |
| Hlavní omezení | Příčina selhání zůstává skryta | Hloubka je omezena uděleným přístupem | Drahé a může minout chybějící požadavky |
Většina týmů používá všechny tři životní cyklus testování softwarua vrstva šedého rámečku je místem, kde se obvykle zachycují vady, které se nacházejí mezi uživatelským rozhraním a úložištěm dat.
Šedá Box Strategie testování
Provést Greye Box U testování není nutné, aby měl tester přístup ke zdrojovému kódu. Test je navržen na základě znalostí algoritmů, architektur, vnitřních stavů nebo jiných popisů chování programu na vysoké úrovni.
Provést Greye Box Testování:
- Využívá jednoduché techniky testování černé skříňky.
- Je založen na generování testovacích případů řízených požadavky, takže předem nastaví všechny podmínky předtím, než je program otestován metodou assertion.
Techniky použité pro šedou Box Testování je:
- Maticové testování: Tato technika zahrnuje definování všech proměnných, které v programu existují, spolu s rizikem, které každá z nich nese, tak, aby byly viditelné nepoužívané a vysoce rizikové proměnné.
- Regresní testování: kontroluje, zda změna v předchozí verzi narušila další aspekty programu v nové verzi. Provádí se to pomocí strategií, jako je opětovné otestování všech aspektů, opětovné otestování rizikových případů užití a opětovné otestování v rámci firewallu.
- Testování ortogonálního pole nebo ovesné šťávy: poskytuje maximální pokrytí kódu s minimálním počtem testovacích případů.
- Testování vzorů: provedeno na historických datech předchozích systémových vad. Na rozdíl od testování černé skříňky, šedý Box Testování se zabývá hlubinami kódu a určuje, proč k selhání došlo.
Šedá Box metodologie obvykle využívá automatizované nástroje pro testování softwaru k provedení testování. Stuby a ovladače modulů jsou vytvořeny tak, aby tester nemusel kód generovat ručně.
Kroky k provedení Greyho Box Testování je:
- Krok 1: Identifikace vstupů.
- Krok 2: Identifikujte výstupy.
- Krok 3: Určete hlavní cesty.
- Krok 4: Identifikujte dílčí funkce.
- Krok 5: Vypracujte vstupy pro dílčí funkce.
- Krok 6: Vypracujte výstupy pro dílčí funkce.
- Krok 7: Spusťte testovací případ pro dílčí funkce.
- Krok 8: Ověřte správný výsledek pro podfunkce.
- Krok 9: Opakujte kroky 4 až 8 pro ostatní dílčí funkce.
- Krok 10: Opakujte kroky 7 a 8 pro ostatní dílčí funkce.
Testovací případy pro Greye Box Testování může zahrnovat mimo jiné otázky grafického uživatelského rozhraní, zabezpečení, databáze, prohlížeče a operačního systému. Každý vygenerovaný případ stále vyžaduje obvyklé modelový případ atributy, protože případ, který nelze reprodukovat z vlastního popisu, je během regrese málo užitečný.
Kde šedá Box Používá se testování
Tato technika si zaslouží své místo všude tam, kde lze vadu diagnostikovat pouze současným pohledem na dvě vrstvy. Nejčastěji se používá v následujících scénářích:
- Pracovní postupy založené na databázi: Akce se provede prostřednictvím uživatelského rozhraní a výsledné řádky se poté přímo dotazují, aby se potvrdilo, že hodnoty, typy a vztahy byly uloženy podle očekávání.
- Webové služby a API: Je odeslán požadavek a stav odpovědi, záhlaví a datová část jsou porovnány s publikovanými údaji.tract, což je každodenní forma API testování.
- Integrační body: Zprávy překračující hranici mezi dvěma moduly jsou kontrolovány, přičemž oba moduly jsou považovány za běžící systémy, nikoli za zdrojové soubory.
- Posouzení bezpečnosti: Penetrační tester s běžným uživatelským účtem a přehledem architektury reprodukuje pozici zasvěcené osoby, což je standardní model zapojení šedé krabice.
- Webové aplikace a grafická uživatelská rozhraní: Nefunkční odkazy, osiřelé stránky, zpracování relací a validace na straně klienta jsou kontrolovány s částečnou viditelností kódu a toku požadavků.
Ve všech těchto případech se celkové náklady na systémové vady snižují, protože problémy jsou zachyceny a vysvětleny dříve, než se dostanou dále do procesního procesu. testování systému nebo výroba.
Šedá Box Nástroje testování
Žádný nástroj nefunguje šedě Box Samotné testování. Tato kategorie potřebuje kombinaci ovladače rozhraní, inspekčního nástroje pro podkladovou vrstvu a způsobu, jak tyto dva prvky napsat společně.
- API a klienti webových služeb jako Postman a SoapUI, používá se k vydávání požadavků a uplatňování stavových kódů a těl odpovědí.
- Databázoví klienti a nástroje pro SQL dotazy, používá se k ověření trvalého stavu po akci rozhraní.
- Nástroje pro vývojáře prohlížečů a HTTP proxy jako Burp Suite, používaný ke kontrole a úpravě požadavků během relací zaměřených na zabezpečení.
- Rámce pro automatizaci uživatelského rozhraní jako Selenium, používaný k řízení prezentační vrstvy uvnitř testování automatizace apartmá.
- Nástroje pro protokolování a monitorování, používaný ke korelaci pozorované chyby s tím, co aplikace v daném okamžiku interně zaznamenala.
Na volbě záleží méně než na zapojení: pokud ovladač rozhraní a krok inspekce neběží ve stejném skriptovaném toku, výsledkem jsou dvě samostatné manuální kontroly, nikoli jeden test šedé krabice.
Šedá Box Testovací výzvy
Částečná viditelnost s sebou přináší problémy, které žádná z čistých metod nemá, a následující jsou ty, se kterými se týmy setkávají nejčastěji:
- Když testovaná součást narazí na nějakou poruchu, může to přerušit probíhající operaci a ponechat zbytek sekvence neprovedený.
- Test se může spustit v plném rozsahu, i když je obsah výsledku nesprávný, takže krok ověřování musí kontrolovat hodnoty, nikoli dokončení.
- Úplné pokrytí kódové cesty není dosažitelné, protože tester nikdy nevidí každou větev, ke které by se dostalo testováním bílé skříňky.
- Návrhová dokumentace, na které se testy spoléhají, může být zastaralá a zastaralé schéma nebo specifikace rozhraní tiše zneplatňuje návrh testu.
- Testeři potřebují jak znalosti oboru, tak i technické znalosti, což je užší profil dovedností, pro který je vhodné uchazeče najímat.
- Rozložené a silně břišní svalytracZkomplikované architektury ztěžují připsání pozorované selhání konkrétní vnitřní komponentě.
Tato omezení argumentují pro zacházení s Greyem Box Testování jako jedna vrstva mezi několika, spíše než náhrada za ostatní, což je bod kladený napříč širší sadou techniky testování softwaru a typy testování softwaruPřirozeně sedí vedle funkční testování a přístupy založené na specifikacích, jako například testování založené na modelu.

