Co je to WHITE Box Testing? Techniky, příklady & Typy

Obsah:

Anonim

Testování bílé skříňky

White Box Testing je technika testování softwaru, při které se testuje vnitřní struktura, design a kódování softwaru, aby se ověřil tok vstupů a výstupů a zlepšil design, použitelnost a bezpečnost. Při testování v bílé krabici je kód viditelný pro testery, takže se také nazývá testování jasné krabice, testování otevřené krabice, testování průhledné krabice, testování založené na kódu a testování skleněné krabice.

Je to jedna ze dvou částí přístupu Box Testing k testování softwaru. Jeho protějšek, testování Blackboxu, zahrnuje testování z pohledu externího typu nebo typu koncového uživatele. Na druhou stranu testování White box v softwarovém inženýrství je založeno na vnitřním fungování aplikace a točí se kolem interního testování.

Termín „WhiteBox“ byl použit kvůli konceptu průhledného rámečku. Jasný rámeček nebo název WhiteBox symbolizuje schopnost vidět skrz vnější plášť (nebo „rámeček“) softwaru do jeho vnitřního fungování. Podobně „černá skříňka“ v „Testování černé skříňky“ symbolizuje neschopnost vidět vnitřní fungování softwaru, takže lze otestovat pouze zkušenosti koncového uživatele.

V tomto výukovém programu pro testování bílé krabice se naučíte-

  • Co je to testování bílé skříňky?
  • Co ověřujete při testování bílé skříňky?
  • Jak provádíte testování White Box?
  • Příklad testování WhiteBox
  • Techniky testování bílé skříňky
  • Druhy testování bílé skříňky
  • Nástroje pro testování bílé krabice
  • Výhody testování bílé skříňky
  • Nevýhody testování WhiteBox

Co ověřujete při testování bílé skříňky?

Testování bílé skříňky zahrnuje testování softwarového kódu pro následující:

  • Vnitřní bezpečnostní otvory
  • Poškozené nebo špatně strukturované cesty v procesech kódování
  • Tok konkrétních vstupů kódem
  • Očekávaný výstup
  • Funkčnost podmíněných smyček
  • Testování každého příkazu, objektu a funkce na individuálním základě

Testování lze provádět na systémové, integrační a jednotkové úrovni vývoje softwaru. Jedním ze základních cílů testování whiteboxu je ověřit pracovní tok pro aplikaci. Zahrnuje testování řady předdefinovaných vstupů proti očekávaným nebo požadovaným výstupům, takže když konkrétní vstup nevede k očekávanému výstupu, došlo k chybě.

Pokud video není přístupné, klikněte sem

Jak provádíte testování White Box?

Abychom vám poskytli zjednodušené vysvětlení testování bílé skříňky, rozdělili jsme to do dvou základních kroků . To je to, co testeři dělají při testování aplikace pomocí techniky testování bílé krabice:

KROK 1) ROZUMĚJTE ZDROJOVÉMU KÓDU

První věc, kterou tester často udělá, je naučit se a porozumět zdrojovému kódu aplikace. Vzhledem k tomu, že testování bílé skříňky zahrnuje testování vnitřního fungování aplikace, musí být tester velmi dobře obeznámen s programovacími jazyky používanými v aplikacích, které testují. Testující osoba si také musí být vysoce vědoma postupů bezpečného kódování. Zabezpečení je často jedním z hlavních cílů testování softwaru. Tester by měl být schopen najít bezpečnostní problémy a zabránit útokům hackerů a naivních uživatelů, kteří by mohli vědomě i nevědomky vložit škodlivý kód do aplikace.

Krok 2) VYTVOŘENÍ TESTOVACÍCH PŘÍPADŮ A PROVÁDĚNÍ

Druhý základní krok k testování bílé skříňky zahrnuje testování zdrojového kódu aplikace pro správný tok a strukturu. Jedním ze způsobů je napsání více kódu k otestování zdrojového kódu aplikace. Tester vyvine malé testy pro každý proces nebo sérii procesů v aplikaci. Tato metoda vyžaduje, aby tester měl důkladnou znalost kódu a často ji provádí vývojář. Mezi další metody patří ruční testování, testování pokusů a chyb a použití testovacích nástrojů, jak vysvětlíme dále v tomto článku.

Příklad testování WhiteBox

Zvažte následující část kódu

Printme (int a, int b) {------------ Printme je funkceint výsledek = a + b;Pokud (výsledek> 0)Tisk ("Pozitivní", výsledek)JinýTisk („Negativní“, výsledek)} ----------- Konec zdrojového kódu 

Cílem testování WhiteBox v softwarovém inženýrství je ověřit všechny rozhodovací větve, smyčky, příkazy v kódu.

Chcete-li uplatnit prohlášení ve výše uvedeném příkladu testování bílé krabice, testovací případy WhiteBox by byly

  • A = 1, B = 1
  • A = -1, B = -3

Techniky testování bílé skříňky

Hlavní technikou testování bílé krabice je analýza pokrytí kódu. Analýza pokrytí kódu eliminuje mezery v sadě testovacích případů. Identifikuje oblasti programu, které se nevykonávají pomocí sady testovacích případů. Jakmile jsou identifikovány mezery, vytvoříte testovací případy k ověření nevyzkoušených částí kódu, čímž zvýšíte kvalitu softwarového produktu

K dispozici jsou automatizované nástroje k provádění analýzy pokrytí kódu. Níže uvádíme několik technik analýzy pokrytí, které může box tester použít:

Pokrytí prohlášení : - Tato technika vyžaduje, aby všechny možné příkazy v kódu byly alespoň jednou testovány během procesu testování softwarového inženýrství.

Pokrytí větve - Tato technika kontroluje všechny možné cesty (if-else a další podmíněné smyčky) softwarové aplikace.

Kromě výše uvedeného existuje řada typů pokrytí, jako je Coverage Condition, Multiple Condition Coverage, Path Coverage, Function Coverage atd. Každá technika má své vlastní výhody a pokusy o testování (pokrytí) všech částí softwarového kódu. Použitím pokrytí výpisů a poboček obecně dosáhnete pokrytí kódem 80-90%, což je dostatečné. Níže jsou uvedeny důležité techniky testování WhiteBox:

  • Pokrytí prohlášení
  • Pokrytí rozhodnutí
  • Pokrytí pobočky
  • Pokrytí stavu
  • Pokrytí více podmínek
  • Konečný stav pokrytí stroje
  • Pokrytí cesty
  • Kontrola testování toku
  • Testování toku dat

V tomto článku najdete další podrobnosti https://www.guru99.com/code-coverage.html

Druhy testování bílé skříňky

Testování bílé skříňky zahrnuje několik typů testování používaných k vyhodnocení použitelnosti aplikace, bloku kódu nebo konkrétního softwarového balíčku. Níže jsou uvedeny -

  • Testování jednotek: Často se jedná o první typ testování prováděného na aplikaci. Testování jednotek se provádí na každé jednotce nebo bloku kódu, jak je vyvíjen. Testování jednotek provádí v zásadě programátor. Jako vývojář softwaru vyvinete několik řádků kódu, jednu funkci nebo objekt a otestujete jej, abyste se ujistili, že funguje, než budete pokračovat Testování jednotek pomáhá identifikovat většinu chyb na začátku životního cyklu vývoje softwaru. Chyby identifikované v této fázi jsou levnější a snadno opravitelné.

  • Testování na úniky paměti : Úniky paměti jsou hlavní příčinou pomaleji běžících aplikací. Specialista QA, který má zkušenosti s detekcí úniků paměti, je nezbytný v případech, kdy máte pomalu běžící softwarovou aplikaci.

Kromě výše uvedeného je několik typů testování součástí testování černé skříňky i bílé skříňky. Jsou uvedeny níže

  • White Box Penetration Testing: V tomto testování má tester / vývojář úplné informace o zdrojovém kódu aplikace, podrobné informace o síti, zúčastněné adresy IP a všechny informace o serveru, na kterých aplikace běží. Cílem je zaútočit na kód z několika úhlů a odhalit bezpečnostní hrozby
  • Testování mutací v bílé krabičce : Testování mutací se často používá k objevování nejlepších technik kódování, které lze použít k rozšíření softwarového řešení.

Nástroje pro testování bílé krabice

Níže je uveden seznam nejlepších testovacích nástrojů pro bílé pole.

  • Parasoft Jtest
  • EclEmma
  • NUnit
  • PyUnit
  • HTMLUnit
  • CppUnit

Výhody testování bílé skříňky

  • Optimalizace kódu hledáním skrytých chyb.
  • Případy testů v bílé krabici lze snadno automatizovat.
  • Testování je důkladnější, protože jsou obvykle pokryty všechny cesty kódu.
  • Testování může začít brzy v SDLC, i když GUI není k dispozici.

Nevýhody testování WhiteBox

  • Testování v bílé krabici může být docela složité a drahé.
  • Vývojáři, kteří obvykle provádějí testovací případy bílé skříňky, to nenávidí. Testování bílé krabice vývojáři není podrobné, může vést k výrobním chybám.
  • Testování bílé skříňky vyžaduje profesionální zdroje s podrobným porozuměním programování a implementaci.
  • Testování bílé skříňky je časově náročné, větším programovacím aplikacím je čas na úplné testování.

Závěrečné poznámky:

  • Testování bílé skříňky může být docela složité. Složitost má hodně co do činění s testovanou aplikací. Malá aplikace, která provádí jedinou jednoduchou operaci, může být testována za několik minut, zatímco úplným testovacím programům u větších programovacích aplikací trvá dny, týdny a ještě déle.
  • Testování bílé skříňky při testování softwaru by mělo být prováděno na softwarové aplikaci, která se vyvíjí po napsání a znovu po každé úpravě