PočítačeSoftvér

Metódy testovania softvéru a porovnať ich. Skúšobná metóda testovania "čiernej skrinky" a metóda "white box"

Testovanie softvér (SW) identifikovať medzery, nedostatky a chyby v kóde, ktorý treba riešiť. To môže tiež byť definovaný ako proces vyhodnotenia funkčnosti a správnosti softvéru pomocou analýzy. Základné metódy integrácie a testovania softvérových aplikácií a zaistenie kvality je preveriť špecifikácie, dizajn a kódovanie, hodnotenie spoľahlivosti, schvaľovania a overovania.

metódy

Hlavným účelom testovania softvéru - potvrdenie o kvalite softvérového systému prostredníctvom systematického aplikácií ladenie za starostlivo kontrolovaných podmienok, aby sa určila ich úplnosť a presnosť, rovnako ako detekciu skrytých chýb.

Tieto metódy overovania (skúšania) programy možno rozdeliť na statické a dynamické.

Prvý z nich zahŕňa neformálne, monitorovanie a technické preskúmanie, revízie, krok za krokom analýzy, auditu, rovnako ako statické analýzy toku dát a správu.

Dynamické techniky sú:

  1. Biely box testovanie. Jedná sa o detailné štúdie vnútornej logike a štruktúre programu. Je nevyhnutné znalosti zdrojového kódu.
  2. Testovanie čiernej skrinky. Táto technika nevyžaduje žiadne znalosti o vnútornom fungovaní aplikácie. Domnievame sa, že iba základné aspekty systému, ktorý sa netýka ani spojené s niekoľkými jeho vnútornú logickú štruktúru.
  3. Šedá metóda box. Spája dva predchádzajúce prístupy. Ladenie s obmedzenými znalosťami vnútorného fungovania aplikácie je v kombinácii so znalosťami základné aspekty systému.

transparentné testovanie

Biele spôsob krabice pomocou testovacie skripty kontrolovať štruktúru procesného návrhu. Táto technika umožňuje odhaliť chyby pri vykonávaní, ako napríklad zlé riadenie kódovací systém analýzou časť vnútorného fungovania softvéru. Tieto skúšobné metódy sú aplikovateľné na úrovni integrácie, modulov a systémov. Tester musia mať prístup k zdrojovému kódu a použiť ju zistiť, ktorá jednotka sa chová nevhodne.

Testovanie programov bielou-box má nasledujúce výhody:

  • To umožňuje detekovať chyby v skrytom kódu odstránením zbytočných línií;
  • použitia vedľajších účinkov;
  • Maximálna pokrytie možno dosiahnuť tým, že píše testovací skript.

nevýhody:

  • vysoké náklady na proces, ktorý vyžaduje kvalifikovaných ladiaci;
  • mnoho ciest zostávajú nepreskúmané, pretože dôkladná kontrola všetkých možných skrytých chýb je veľmi zložité;
  • niektoré z kódu budú odovzdané bez povšimnutia.

testovanie biely box je niekedy označovaný testovaním transparentné alebo otvorený box, konštrukčné, logické testy, založený na zdrojovom kóde, a logickú štruktúru.

Medzi hlavné odrody:

1) testovanie riadenie toku - konštrukčné stratégie, za použitia modelu riadenia toku programu a ako uprednostňovať viac jednoduchých spôsobov, ako menej zložitejšie;

2) vetva je navrhnutý pre štúdium ladenie jednotlivé voľby (true alebo false) každého kontrolného orgánu, ktorý zahŕňa aj kombinované riešenie;

3) testovanie na hlavnú cestu, ktorá umožňuje tester stanoviť logické zložitosť mier procesné projekt pre izoláciu základnú sadu vykonávacích ciest;

4) kontrolu dátového toku - riadenie toku stratégiu výskumu zo strany anotácií počítať informácie o reklame a používať premenné programu;

5) cyklov testovanie - úplne zameraná na správne vykonávanie cyklických procesov.

ladenie behaviorálna

Testovanie čiernej skrinky zaobchádza softvér ako "čierne skrinky" - informácie o vnútornom fungovaní programu sa nepočítajú, a kontroluje iba základné aspekty systému. V tomto prípade tester potrebuje poznať systémovú architektúru bez prístupu k zdrojovému kódu.

Výhody tohto prístupu:

  • účinnosť pre veľké časti kódu;
  • jednoduchosť vnímanie testera;
  • hľadiska užívateľa je jasne oddelené od pohľadov vývojárov (programátor a tester na sebe nezávislé);
  • rýchlejší tvorba testu.

Testovanie softvér metóda black box má nasledujúce nevýhody:

  • skutočne vykonáva vybraný počet testovacích prípadov, čo vedie k obmedzenej pokrytie;
  • Absencia jasného špecifikácia ťažké vytvoriť testovacie skripty;
  • nízka účinnosť.

Iné mená pre túto technológiu - behavioral, netransparentné, funkčné testovanie a ladenie metóda uzavretého boxu.

V tejto kategórii môžu byť nasledovné testovanie softvéru techniky:

1) zodpovedajúci oddiel, ktorý môže znížiť sadu testovacích dát ako dátový vstup softvérový modul je rozdelený na jednotlivé časti;

2) Analýza hraničné hodnoty sa zameriava na overenie hraníc alebo extrémne medzných hodnôt - minimum, maximum, a typické hodnoty chyby;

3) fuzzing - slúži na vykonávanie vyhľadávania podľa zadania chyby alebo poškodené poluiskazhennyh dát v automatickom alebo poloautomatickom režime;

4) počty príčinnej súvislosti - technika založená na vytváranie grafov a určenie vzťahu medzi akcie a dôvody: Identita, negáciu, logický súčet a logický súčin - štyri hlavné znaky, vyjadrujúce vzťah príčiny a následku;

5) Overenie ortogonálne pole aplikuje na problémy s relatívne malým vstupným ploche väčšej ako možnosť vyčerpávajúce výskumu;

6) testovanie všetky dvojice - technika, kde sada skúšobných hodnôt zahŕňa všetky možné binárne kombinácie každú dvojicu vstupných parametrov;

7) ladenie prechod stavu - technika vhodná pre kontrolu stavu stroja, ako aj pre pohyb v GUI používateľa.

Black box testovanie: Príklady

black-box metóda je založená na špecifikácie, dokumentácie a popisy rozhranie softvéru alebo systému. Okrem toho môžete použiť modely (formálne alebo neformálne), čo predstavuje očakávané správanie softvéru.

Zvyčajne je táto metóda sa používa pre ladenie používateľského rozhrania a vyžaduje interakciu s žiadosti zavedenie zber dát a výsledky - na obrazovke, zo správ alebo tlače.

Tester, teda v interakcii so softvérom zadaním, ktoré pôsobia na spínače, tlačidlá alebo iné rozhranie. Voľba vstupných údajov, je poradie podávanie alebo sekvencie akcií môže viesť k veľkým celkovým počtom kombinácií, ako je uvedené v nasledujúcom príklade.

Koľko testov je potrebné vykonať s cieľom overiť všetky možné hodnoty pre 4 okná vlajkou a one-off pole, nastaviť čas v sekundách? Na prvý pohľad výpočet je jednoduchý: 4 pole s dvoma možnými stavmi - 24 = 16, ktoré musia byť krát počet možných polôh od 00 do 99, tj 1600 možných testov.

Avšak, tento výpočet je zle: môžeme určiť, že pole dvojbodové môže tiež obsahovať medzeru, to znamená, že sa skladá z dvoch alfanumerických polôh a môže obsahovať alfanumerické znaky, špeciálne znaky, medzery, atď Preto, ak .... systém je 16-bitový počítač, otočiť 216 = 65536 jeden pre každú pozíciu vo výsledných 4294967296 testovacie prípady, ktoré majú byť vynásobené 16 kombinácií príznakov, ktoré dáva celkom 68,719,476 736. Ak sa vykonávajú 1 testu za sekundu, celková cont olzhitelnost testovanie je 2 177,5 rok. Pre 32 alebo 64-bitové systémy, doba ešte viac.

Z tohto dôvodu je potrebné, aby toto obdobie skrátiť na prijateľnú úroveň. To znamená, že techniky, by mali byť použité na zníženie počtu testovaných prípadoch bez obmedzenia rozsahu testovania.

ekvivalencie delenie

Ekvivalentná oddiel je jednoduchá metóda, ktorá je použiteľná pre všetky premenné, ktoré sú prítomné v softvéri, či už vstupné alebo výstupné hodnoty, symbolický, numerické a ďalšie. Je založený na princípe, že všetky dáta z jedného ekvivalentu oddielu nakladalo rovnako a podľa rovnaké pokyny.

Počas testovania bola vybraná jedného zástupcu z každého konkrétneho ekvivalencie oddiel. To vám umožní systematicky znížiť počet možných testovacích prípadov bez straty pokrytia príkazov a funkcií.

Ďalším dôsledkom tohto rozdelenia je znížiť kombinatorickej explózii medzi rôznymi premennými a súvisiace zníženie testovacích prípadov.

Napríklad, v (1 / x) 1/2 pomocou troch dátových sekvencií, tri ekvivalentné oddiel:

1. Všetky pozitívne čísla bude zaobchádzať rovnakým spôsobom a mal by dávať správne výsledky.

2. Všetky záporné čísla sú riešené rovnakým spôsobom s rovnakým výsledkom. Toto je nesprávne, pretože koreň záporného čísla je imaginárny.

3. Zero budú riešené samostatne a dať "delenie nulou" chyby. Ide o úsek s jedinou hodnotou.

Vidíme teda, tri odlišné časti, z ktorých jedna je znížená na jednu hodnotu. Je tam jeden "správny" sekcie, ktorá poskytuje spoľahlivé výsledky, a dva "zlé" s nesprávnym výsledkom.

analýza okrajová

Spracovanie na hraniciach ekvivalentného rozdelení sa dá urobiť inak, než sa očakávalo. Vyšetrovanie medzných hodnôt - dobre známy spôsob analýze správanie softvéru v týchto oblastiach. Táto technika umožňuje identifikáciu takýchto chýb:

  • nesprávne používanie relačné operátory (<,>, =, ≠, ≥, ≤);
  • jedinej chyby;
  • problémy v cykloch a iterácií,
  • zlé typy alebo veľkosť premenné používané na ukladanie informácií;
  • umelá obmedzenia spojené s dátovými typmi a premennými.

priesvitný testovacie

šedá Spôsob box zvyšuje pokrytie testy, môžete sa sústrediť na všetky obtiažnych úrovniach systému pomocou kombinácie čiernej a bielej techniky.

Pri použití tejto techniky, tester pre rozvoj testovacích hodnôt by mal mať znalosti interných dátových štruktúr a algoritmov. Príklady testovacích metód šedej puzdra sú nasledovné:

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

V spôsobe podľa sivom poli na vytvorenie modelovej prípady študoval modulov v bielych technických kódov a skutočná skúška sa vykonáva na rozhraní technologických programov čiernych.

Tieto skúšobné metódy majú nasledujúce výhody:

  • kombinácia výhod techník bielej a čiernej skrinky;
  • Tester je založený na rozhraní a funkčné špecifikácie, a nie zdrojový kód;
  • debugger môže robiť veľké testovacie prípady;
  • Kontrola sa vykonáva z hľadiska užívateľa, nie dizajnér programu;
  • vytvoriť vlastný vývoj testov;
  • objektivita.

nevýhody:

  • test pokrytia je obmedzené, pretože neexistuje žiadny prístup k zdrojovému kódu;
  • zložitosť vád v distribuovaných aplikácií;
  • mnoho spôsobov, ako zostať bez prehliadky;
  • ak softvér developer začala test, potom ďalšie šetrenie môžu byť prehnané.

Iný názov pre sivom poli techniky - priesvitný ladenie.

Táto kategória zahŕňa také metódy testovania:

1) ortogonálne pole - použitie podmnožiny všetkých možných kombinácií;

2) matica ladenia pomocou stav dát programu;

3) regresívne kontrola vykonaná na nové zmeny v softvéru;

4) Skúšobné šablóna, ktorá analyzuje dizajn a architektúru dobré žiadosti.

Porovnanie metód testovania softvéru

Použitie dynamických metód vedie ku kombinačnej explóziu počtu testov, ktoré musia byť vytvorené, zavedené a vykonávané. Každý postup by mal byť použitý pragmaticky, pričom jej obmedzenia do úvahy.

Jediná pravda metóda neexistuje, existuje iba tie, ktoré sú vhodnejšie pre konkrétny kontext. Pozemné staviteľstvo nám umožňujú nájsť zbytočný alebo škodlivý kód, ale oni sú zložité a nie sú použiteľné pre veľké programy. Metódy založené na špecifikáciách - iba tie, ktoré sú schopné identifikovať chýbajúce kód, ale nemôžu identifikovať outsiderom. Niektoré postupy sú vhodné pre konkrétny test hladiny, typu chyby alebo kontextu ako ostatní.

Nižšie sú uvedené hlavné rozdiely medzi tromi dynamických testovacích techník - je uvedený tabuľku zhody medzi týmito tromi formami ladenie softvér.

aspekt

Čierna skrinka metóda

Šedá Spôsob box

Metóda White-box

Dostupnosť informácií o zložení programe

Skúma iba základné aspekty

Čiastočná znalosť o vnútornej štruktúre programu

Plný prístup k zdrojovému kódu

Stupeň fragmentácia programu

nízky

centrálnej

vysoký

Ktorá vyrába ladenie?

Koncoví užívatelia, testery a vývojárov

Koncoví užívatelia, vývojári a debuggery

Vývojárov a testery

základňa

Testovanie je založené na vonkajších havarijných situácií.

Diagramy databázy, tok dát diagramy, stav vnútorného poznania algoritmu a architektúry

Vnútorné zariadenie je plne vedomá

stupeň krytia

Menej komplexný a vyžaduje minimum času

centrálnej

Potenciálne najrozsiahlejšie. časovo náročné

Dáta a vnútorných hraníc

Ladenie len metódou pokusov a omylov

Možno skontrolovať dátových domén a vnútorných hraníc, v prípade, že sú známe

Najlepšie testovacie dáta domény a vnútorné hranice

Vhodnosť testovanie algoritmus

žiadny

žiadny

áno

automatizácia

Automatické metódy testovania softvéru je veľmi zjednodušiť proces kontroly, bez ohľadu na technickom prostredí a kontexte. Sú používané v dvoch prípadoch:

1) pre automatizáciu zdĺhavé, opakujúce sa alebo starostlivé úlohy, ako je porovnanie súborov do niekoľkých tisíc radov, aby sa uvoľnil čas na koncentrácii testera viac dôležité body;

2) pre realizáciu merania či úlohy, ktoré nemôžu byť ľahko vykonané ľuďmi, ako je overovanie výkonu alebo na analýzu doby odozvy, ktorá môže byť meraná v stotinách sekundy.

Testovacie nástroje môžu byť klasifikované rôznymi spôsobmi. Budúci divízie je založený na plnenie úloh, ktoré podporujú:

  • Test management, ktorý zahŕňa podporu projektového riadenia, verzia, konfigurácie, analýzu rizík, test stopovanie, chyby, nedostatky a reportovacie nástroje;
  • správu požiadaviek, ktorý zahŕňa požiadavky na úložisko a špecifikácie, skontrolujte, či je pre úplnosť a nejasnostiam, ich priority a sledovateľnosti každej skúšky;
  • kritické zhodnotenie a statickú analýzu, vrátane monitorovania prietoku, a úlohy, nahrávanie a ukladanie pripomienok, zistení vady a plánované prepojenie riadenie opráv na zoznamy a pravidiel, sledovanie komunikácie podklady a kódu statickú analýzu na zistenie vád, ktoré zabezpečí súlad s normami písania kódu, analýza štruktúr a závislostí, výpočet metrických parametrov kódu a architektúry. Okrem toho, pomocou prekladača, analyzátory, generátory a vzťahy krížové odkazy;
  • modelovanie, ktorý obsahuje nástroje pre modelovanie správanie podnikov a testovanie modelov;
  • Test vývoj zaisťuje generovanie dát očakávaných na základe podmienok a modelov používateľského rozhrania a kódu podarí vytvoriť alebo upravovať súbory a databázy, správy, overovanie dát na základe pravidiel riadenia, štatistické analýzy podmienok a rizík;
  • kritický pohľad zadaním dát prostredníctvom grafického užívateľského rozhrania, API, príkazového riadku pomocou komparátory pre identifikáciu úspešných a neúspešných testov;
  • Podpora ladenie prostredie, ktoré vám umožní nahradiť chýbajúci hardvér alebo softvér, v Vol. H. Simulačné zariadenia na základe vopred určenej výstupným podskupiny, terminálových emulátorov, mobilné telefóny a sieťové zariadenia, životné prostredie ku kontrole jazykov, operačných systémov a hardvéru nahradením ovládač chýba súčasti, fiktívne moduly a podobne, ako aj nástroje na zachytenie a úpravu OS navrhuje, aby obmedzenie simulácie CPU, RAM, ROM alebo sieť.;
  • .. Porovnanie dátových súborov, databáz, skontrolujte očakávané výsledky v priebehu a po dokončení testu, vrátane dynamickej a dávkové porovnanie, Automatic "veštci";
  • náter merania pre lokalizáciu únikov pamäte a jeho kontrola výkonu odhadovať systému nesprávne za simulovaných žiadostí zaťaženia vytvárajúce zaťaženie, databáz, sietí alebo serverov v realistickom scenári rastu pre meranie, analýzy a verifikácia správy systémových zdrojov;
  • zabezpečenia;
  • testovanie výkonu, náklad a dynamická analýza;
  • iné nástroje, na sv. h. pre kontrolu pravopisu a syntax, sieťovú bezpečnosť, dostupnosť všetkých stránkach webové stránky a ďalšie.

perspektíva

S meniace sa trendy v softvérovom priemysle, proces ladenie je takisto podliehajú zmenám. K dispozícii sú nové metódy testovania softvéru, ako je napríklad služba-orientirovannae architektúry (SOA), bezdrôtové technológie, mobilné služby, a tak ďalej. E., sa otvorili nové možnosti testovania softvéru. Niektoré zo zmien, ktoré sa očakávajú v priemysle v priebehu niekoľkých najbližších rokov sú uvedené nižšie:

  • testery poskytne ľahký model, ktorý vývojári budú môcť overiť svoj kód;
  • vývoj testovacích metód, vrátane sledovania a modelovanie programov v ranom štádiu, bude eliminovať mnoho rozporov;
  • Prítomnosť viac zachytenie testu skráti čas detekcie chýb;
  • Statické analyzátor a detekčné prostriedky, ktoré majú byť vo väčšej miere používať;
  • Použitie minerálne matrice, ako je pokrytie špecifikácia, sa rozsah modelu a kódu pokrytím určiť vývoj projektov;
  • kombinatorickej nástroje umožňujú testery pre stanovenie prioritných oblastí pre ladenie;
  • testery bude poskytovať viac intuitívne a cenné služby v priebehu celého procesu vývoja softvéru;
  • Debuggers môžu vytvárať nástroje a metódy testovania softvéru napísaný v a interakciu s rôznymi programovacích jazykov;
  • Odborníci ladenie bude viac odborne vyškolený personál.

Bude nahradený novým testovanie softvéru metód business-orientované, zmeniť spôsob interakcie so systémami a informácie, ktoré poskytujú pri súčasnom znížení rizika a zvyšovanie výhod obchodných zmien.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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