PočítačeSoftware

Metody testování softwaru a porovnat je. Zkušební metoda testování „černé skříňky“ a metoda „white box“

Testování software (SW) identifikovat mezery, nedostatky a chyby v kódu, který je třeba řešit. To může také být definován jako proces vyhodnocení funkčnosti a správnosti softwaru pomocí analýzy. Základní metody integrace a testování softwarových aplikací a zajištění jakosti je prověřit specifikace, design a kódování, hodnocení spolehlivosti, validace a verifikace.

metody

Hlavním účelem testování softwaru - potvrzení o kvalitě softwarového systému prostřednictvím systematického aplikací ladění za pečlivě kontrolovaných podmínek, aby se určila jejich úplnost a přesnost, stejně jako detekci skrytých chyb.

Tyto metody ověřování (zkoušení) programy lze rozdělit na statické a dynamické.

První z nich zahrnuje neformální, monitorování a technické přezkoumání, revize, krok za krokem analýzy, auditu, stejně jako statické analýzy toku dat a správu.

Dynamické techniky jsou:

  1. Bílý box testování. Jedná se o detailní studie vnitřní logice a struktuře programu. Je nezbytné znalosti zdrojového kódu.
  2. Testování černé skříňky. Tato technika nevyžaduje žádné znalosti o vnitřním fungování aplikace. Domníváme se, že pouze základní aspekty systému, který se netýká ani spojené s několika jeho vnitřní logickou strukturu.
  3. Šedá metoda box. Spojuje dva předchozí přístupy. Ladění s omezenými znalostmi vnitřního fungování aplikace je v kombinaci se znalostmi základních aspektů systému.

transparentní testování

Bílé způsob krabice pomocí testovací skripty kontrolovat strukturu procesního návrhu. Tato technika umožňuje odhalit chyby při provádění, jako například špatné řízení kódovací systém analýzou část vnitřního fungování softwaru. Tyto zkušební metody jsou aplikovatelné na úrovni integrace, modulů a systémů. Tester musí mít přístup ke zdrojovému kódu a použít ji zjistit, která jednotka se chová nevhodně.

Testování programů bílou-box má následující výhody:

  • To umožňuje detekovat chyby ve skrytém kódu odstraněním zbytečných linií;
  • použití vedlejších účinků;
  • Maximální pokrytí lze dosáhnout tím, že píše testovací skript.

nevýhody:

  • vysoké náklady na proces, který vyžaduje kvalifikované ladicí;
  • mnoho cest zůstávají neprozkoumané, protože důkladná kontrola všech možných skrytých chyb je velmi složité;
  • některé z kódu budou předány bez povšimnutí.

testování bílý box je někdy označován testováním transparentní nebo otevřený box, konstrukční, logické testy, založený na zdrojovém kódu, a logickou strukturu.

Mezi hlavní odrůdy:

1) testování řízení toku - konstrukční strategie, za použití modelu řízení toku programu a jak favorizovat více jednoduchých způsobů, jak méně složitější;

2) větev je navržen pro studium ladění jednotlivé volby (true nebo false) každého kontrolního subjektu, který zahrnuje také kombinované řešení;

3) testování na hlavní cestu, která umožňuje tester stanovit logické složitost měr procesní projekt pro izolaci základní sadu prováděcích cest;

4) kontrolu datového toku - řízení toku strategii výzkumu ze strany anotací počítat informace o reklamě a používat proměnné programu;

5) cyklů testování - zcela zaměřena na správné provádění cyklických procesů.

ladění behaviorální

Testování černé skříňky zachází software jako „černé skříňky“ - informace o vnitřním fungování programu se nepočítají, a kontroluje pouze základní aspekty systému. V tomto případě tester potřebuje znát systémovou architekturu bez přístupu ke zdrojovému kódu.

Výhody tohoto přístupu:

  • účinnost pro velké části kódu;
  • snadnost vnímání testeru;
  • hlediska uživatele je jasně odděleno od pohledů vývojáře (programátor a tester na sobě nezávislé);
  • rychlejší tvorba testu.

Testování software metoda black box má následující nevýhody:

  • skutečně provádí vybraný počet testovacích případů, což vede k omezené pokrytí;
  • Absence jasného specifikace obtížné vytvořit testovací skripty;
  • nízká účinnost.

Jiná jména pro tuto technologii - behavioral, netransparentní, funkční testování a ladění metoda uzavřeného boxu.

V této kategorii mohou obsahovat následující testování softwaru techniky:

1) odpovídající oddíl, který může snížit sadu testovacích dat jako datový vstup softwarový modul je rozdělen na jednotlivé části;

2) Analýza hraniční hodnoty se zaměřuje na ověření hranic nebo extrémní mezních hodnot - minimum, maximum, a typické hodnoty chyby;

3) fuzzing - slouží k provádění vyhledávání podle zadání chyby nebo poškozené poluiskazhennyh dat v automatickém nebo poloautomatickém režimu;

4) počty příčinné souvislosti - technika založená na vytváření grafů a určení vztahu mezi akce a důvody: Identita, negaci, logický součet a logický součin - čtyři hlavní znaky, vyjadřující vztah příčiny a následku;

5) Ověření ortogonální pole aplikuje na problémy s relativně malým vstupním ploše větší než možnost vyčerpávající výzkumu;

6) testování všechny dvojice - technika, kde sada zkušebních hodnot zahrnuje všechny možné binární kombinace každou dvojici vstupních parametrů;

7) ladění přechod stavu - technika vhodná pro kontrolu stavu stroje, jakož i pro pohyb v GUI uživatele.

Black box testování: Příklady

black-box metoda je založena na specifikace, dokumentace a popisy rozhraní softwaru nebo systému. Kromě toho můžete použít modely (formální či neformální), což představuje očekávané chování softwaru.

Obvykle je tato metoda se používá pro ladění uživatelského rozhraní a vyžaduje interakci s žádosti zavedení sběr dat a výsledky - na obrazovce, ze zpráv nebo tisku.

Tester, tedy v interakci se softwarem zadáním, které působí na spínače, tlačítka nebo jiné rozhraní. Volba vstupních údajů, je pořadí podávání nebo sekvence akcí může vést k velkým celkovým počtem kombinací, jak je uvedeno v následujícím příkladu.

Kolik testů je třeba provést s cílem ověřit všechny možné hodnoty pro 4 okna vlajkou a one-off pole, nastavit čas v sekundách? Na první pohled výpočet je jednoduchý: 4 pole s dvěma možnými stavy - 24 = 16, které musí být vynásobený počtem možných poloh od 00 do 99, tj 1600 možných testů.

Nicméně, tento výpočet je špatně: můžeme určit, že pole dvoubodové může také obsahovat mezeru, to znamená, že se skládá ze dvou alfanumerických poloh a může obsahovat alfanumerické znaky, speciální znaky, mezery, atd Proto, pokud .... systém je 16-ti bitový počítač, otočit 216 = 65536 jeden pro každou pozici ve výsledných 4294967296 testovací případy, které mají být vynásobeny 16 kombinací příznaků, které dává celkem 68,719,476 736. Pokud se vykonávají 1 testu za sekundu, celková cont olzhitelnost testování je 2 177,5 rok. Pro 32 nebo 64-bitové systémy, doba ještě víc.

Z tohoto důvodu je třeba, aby toto období zkrátit na přijatelnou úroveň. To znamená, že techniky, by měly být použity ke snížení počtu testovaných případech bez omezení rozsahu testování.

ekvivalence dělení

Ekvivalentní oddíl je jednoduchá metoda, která je použitelná pro všechny proměnné, které jsou přítomny v softwaru, ať již vstupní nebo výstupní hodnoty, symbolický, numerické a další. Je založen na principu, že všechna data z jednoho ekvivalentu oddílu bude zacházeno stejným způsobem a podle stejné pokyny.

Během testování byla vybrána jednoho zástupce z každého konkrétního ekvivalence oddíl. To vám umožní systematicky snížit počet možných testovacích případů bez ztráty pokrytí příkazů a funkcí.

Dalším důsledkem tohoto rozdělení je snížit kombinatorické explozi mezi různými proměnnými a související snížení testovacích případů.

Například, v (1 / x) 1/2 pomocí tří datových sekvencí, tři ekvivalentní oddíl:

1. Všechny pozitivní čísla bude zacházeno stejným způsobem a měl by dávat správné výsledky.

2. Všechny záporná čísla jsou řešeny stejným způsobem se stejným výsledkem. Toto je nesprávné, protože kořen záporného čísla je imaginární.

3. Zero budou řešeny samostatně a dát „dělení nulou“ chyby. Jedná se o úsek s jedinou hodnotou.

Vidíme tedy, tři odlišné části, z nichž jedna je snížena na jednu hodnotu. Je tam jeden „správný“ sekce, která poskytuje spolehlivé výsledky, a dva „špatné“ s nesprávným výsledkům.

Analýza okrajová

Zpracování na hranicích ekvivalentního rozdělení se dá udělat jinak, než bylo očekáváno. Vyšetřování mezních hodnot - dobře známý způsob analýze chování softwaru v těchto oblastech. Tato technika umožňuje identifikaci takových chyb:

  • nesprávné používání relační operátory (<,>, =, ≠, ≥, ≤);
  • jediné chyby;
  • problémy v cyklech a iterací,
  • špatné typy nebo velikost proměnné používané pro ukládání informací;
  • umělá omezení spojená s datovými typy a proměnnými.

průsvitný testovací

šedá Způsob box zvyšuje pokrytí testy, můžete se soustředit na všechny obtížných úrovních systému pomocí kombinace černé a bílé techniky.

Při použití této techniky, tester pro rozvoj testovacích hodnot by měl mít znalosti interních datových struktur a algoritmů. Příklady testovacích metod šedé pouzdra jsou následující:

  • architektonický modelu;
  • Unified Modeling Language (UML);
  • state model (konečný automat).

Ve způsobu podle šedém poli na vytvoření modelové případy studoval modulů v bílých technických kódů a skutečná zkouška se provádí na rozhraní technologických programů černých.

Tyto zkušební metody mají následující výhody:

  • kombinace výhod technik bílé a černé skříňky;
  • Tester je založen na rozhraní a funkční specifikace, a ne zdrojový kód;
  • debugger může dělat velké testovací případy;
  • Kontrola se provádí z hlediska uživatele, ne designér programu;
  • vytvořit vlastní vývoj testů;
  • objektivita.

nevýhody:

  • test pokrytí je omezeno, protože neexistuje žádný přístup ke zdrojovému kódu;
  • složitost vad v distribuovaných aplikací;
  • mnoho způsobů, jak zůstat bez prohlídky;
  • pokud software developer zahájila test, pak další šetření mohou být přehnané.

Jiný název pro šedém poli techniky - průsvitný ladění.

Tato kategorie zahrnuje takové metody testování:

1) ortogonální pole - použití podmnožiny všech možných kombinací;

2) matice ladění pomocí stav dat programu;

3) regresivní kontrola provedena na nové změny v softwaru;

4) Zkušební šablona, která analyzuje design a architekturu dobré žádosti.

Porovnání metod testování softwaru

Použití dynamických metod vede ke kombinační explozi počtu testů, které musí být vytvořeny, zavedeny a prováděny. Každý postup by měl být použit pragmaticky, přičemž její omezení v úvahu.

Jediná pravda metoda neexistuje, existuje pouze ty, které jsou vhodnější pro konkrétní kontext. Pozemní stavitelství nám umožňují najít zbytečný nebo škodlivý kód, ale oni jsou složité a nejsou použitelné pro velké programy. Metody založené na specifikacích - pouze ty, které jsou schopny identifikovat chybějící kód, ale nemohou identifikovat outsiderem. Některé postupy jsou vhodné pro konkrétní test hladiny, typu chyby nebo kontextu než ostatní.

Níže jsou uvedeny hlavní rozdíly mezi třemi dynamických testovacích technik - je uveden srovnávací tabulku mezi těmito třemi formami ladění software.

aspekt

Černá skříňka metoda

Šedá Způsob box

Metoda White-box

Dostupnost informací o složení programu

Zkoumá pouze základní aspekty

Částečná znalost o vnitřní struktuře programu

Plný přístup ke zdrojovému kódu

Stupeň fragmentace programu

nízký

centrální

vysoký

Která vyrábí ladění?

Koncoví uživatelé, testery a vývojáře

Koncoví uživatelé, vývojáři a debuggery

Vývojáře a testery

základna

Testování je založeno na vnějších havarijních situací.

Diagramy databáze, tok dat diagramy, stav vnitřního poznání algoritmu a architektury

Vnitřní zařízení je plně vědoma

Stupeň krytí

Méně komplexní a vyžaduje minimum času

centrální

Potenciálně nejrozsáhlejší. Časově náročné

Data a vnitřních hranic

Ladění pouze metodou pokusů a omylů

Lze zkontrolovat datových domén a vnitřních hranic, v případě, že jsou známy

Nejlepší testovací data domény a vnitřní hranice

Vhodnost testování algoritmus

žádný

žádný

ano

automatizace

Automatické metody testování softwaru je velmi zjednodušit proces kontroly, bez ohledu na technickém prostředí a kontextu. Jsou používány ve dvou případech:

1) pro automatizaci zdlouhavé, opakující se nebo pečlivé úkoly, jako je porovnání souborů do několika tisíc řad, aby se uvolnil čas na koncentraci testeru více důležité body;

2) pro provádění měření či úkoly, které nemohou být snadno provedeny lidmi, jako je ověřování výkonu nebo pro analýzu doby odezvy, která může být měřena v setinách sekundy.

Testovací nástroje mohou být klasifikovány různými způsoby. Příští divize je založen na plnění úkolů, které podporují:

  • Test management, který zahrnuje podporu projektového řízení, verze, konfigurace, analýzu rizik, test stopování, chyby, nedostatky a reportovací nástroje;
  • správu požadavků, který zahrnuje požadavky na úložiště a specifikace, zkontrolujte, zda je pro úplnost a nejednoznačnosti, jejich priority a sledovatelnosti každé zkoušky;
  • kritické zhodnocení a statickou analýzu, včetně monitorování průtoku, a úkoly, nahrávání a ukládání připomínek, zjištění vady a plánované propojení řízení oprav na seznamy a pravidel, sledování komunikace podklady a kódu statickou analýzu ke zjištění vad, které zajistí soulad s normami psaní kódu, analýza struktur a závislostí, výpočet metrických parametrů kódu a architektury. Kromě toho, pomocí překladače, analyzátory, generátory a vztahy křížové odkazy;
  • modelování, který obsahuje nástroje pro modelování chování podniků a testování modelů;
  • Test vývoj zajišťuje generování dat očekávaných na základě podmínek a modelů uživatelského rozhraní a kódu podaří vytvořit nebo upravovat soubory a databáze, zprávy, ověřování dat na základě pravidel řízení, statistické analýzy podmínek a rizik;
  • kritický pohled zadáním dat prostřednictvím grafického uživatelského rozhraní, API, příkazového řádku pomocí komparátory pro identifikaci úspěšných a neúspěšných testů;
  • Podpora ladění prostředí, které vám umožní nahradit chybějící hardware nebo software, v Vol. h. Simulační zařízení na základě předem určené výstupním podskupiny, terminálových emulátorů, mobilní telefony a síťová zařízení, životní prostředí ke kontrole jazyků, operačních systémů a hardwaru nahrazením ovladač chybí součásti, fiktivní moduly a podobně, jakož i nástroje pro zachycení a úpravu OS navrhuje, aby omezení simulace CPU, RAM, ROM nebo síť .;
  • .. Porovnání datových souborů, databází, zkontrolujte očekávané výsledky v průběhu a po dokončení testu, včetně dynamické a dávkové srovnání, Automatic „věštci“;
  • nátěr měření pro lokalizaci úniků paměti a jeho kontrola chování odhadovat systému nesprávné za simulovaných žádostí zatížení vytvářející zatížení, databází, sítí nebo serverů v realistickém scénáři růstu pro měření, analýzy a verifikace zprávy systémových zdrojů;
  • zabezpečení;
  • testování výkonu, náklad a dynamická analýza;
  • jiné nástroje, na sv. h. pro kontrolu pravopisu a syntaxi, síťovou bezpečnost, dostupnost všech stránkách webové stránky a další.

perspektiva

S měnící se trendy v softwarovém průmyslu, proces ladění je rovněž podléhají změnám. K dispozici jsou nové metody testování softwaru, jako je například služba-orientirovannae architektury (SOA), bezdrátové technologie, mobilní služby, a tak dále. E., se otevřely nové možnosti testování softwaru. Některé ze změn, které jsou očekávány v průmyslu v průběhu několika příštích let jsou uvedeny níže:

  • testery poskytne lehký model, který vývojáři budou moci ověřit svůj kód;
  • vývoj zkušebních metod, včetně sledování a modelování programů v raném stadiu, bude eliminovat mnoho rozporů;
  • Přítomnost více zachycení testu zkrátí čas detekce chyb;
  • Statické analyzátor a detekční prostředky, které mají být ve větší míře používány;
  • Použití minerální matrice, jako je pokrytí specifikace, se rozsah modelu a kódu pokrytím určit vývoj projektů;
  • kombinatorické nástroje umožňují testery pro stanovení prioritních oblastí pro ladění;
  • testery bude poskytovat více intuitivní a cenné služby v průběhu celého procesu vývoje softwaru;
  • debuggers mohou vytvářet nástroje a metody testování software napsaný v a interakci s různými programovacích jazyků;
  • Odborníci ladění bude více odborně vyškolený personál.

Bude nahrazen novým testování softwaru metod business-orientované, změnit způsob interakce se systémy a informace, které poskytují při současném snížení rizika a zvyšování výhod obchodních změn.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 cs.atomiyme.com. Theme powered by WordPress.