RačunalnikiProgramska oprema

Metode testiranja programske opreme in jih primerjajo. Postopek testiranje "black box" testiranja in metodo "belo barvo"

Testiranje programske opreme (SW) opredeli vrzeli, pomanjkljivosti in napake v kodi, ki jih je treba obravnavati. To lahko opredelimo tudi kot proces ocenjevanja funkcionalnost in pravilnost programske opreme s pomočjo analize. Osnovne metode integracije in testiranja programske opreme in zagotovitev kakovosti, je test specifikacijo, oblikovanje in kodiranje, oceno zanesljivosti, potrjevanja in preverjanja.

metode

Glavni namen testiranja programske opreme - potrdilo o kakovosti sistema programske opreme prek sistematične aplikacije debugging pod skrbno nadzorovanimi pogoji, da ugotovi njihovo popolnost in natančnost, kot tudi odkrivanje skritih napak.

Metode preverjanja (testiranje) programe lahko razdelimo v statične in dinamične.

Nekdanji vključujejo neformalno, spremljanje in tehnični pregled, pregled, korak za korakom analize, revizije, kot tudi statično analizo toka podatkov in upravljanje.

Dinamični tehnike so:

  1. Bela box. To je podrobno študijo notranjo logiko in strukturo programa. Potrebno je poznavanje izvorne kode.
  2. Black box. Ta tehnika ne zahteva nobenega znanja o notranjem delovanju aplikacije. Menimo, da samo osnovne vidike sistema, ki niso povezani z ali povezane z nekaj njene notranje logično strukturo.
  3. Gray metoda polje. Združuje dve predhodni pristopov. Razhroščevanje z omejenim poznavanjem notranjega delovanja aplikacije je v kombinaciji s poznavanjem osnovnih vidikov sistema.

pregledno testiranje

Bele metoda polje, ki uporabljajo test skripte nadzor strukturo procesnega oblikovanja. Ta tehnika omogoča, da pokažejo napake pri izvajanju, kot so slaba kode sistema za upravljanje z analizo del notranje delovanje programske opreme. Te preskusne metode se uporabljajo na ravni povezovanja, modulov in sistemov. Tester mora imeti dostop do izvorne kode in jo uporabite, da ugotovite, katera enota obnaša neprimerno.

Testiranje programov, ki jih belo-box ima naslednje prednosti:

  • To omogoča, da odkrijejo napako v skrito kodo z odpravo nepotrebnih linij;
  • uporaba stranskih učinkov;
  • Največja pokritost je dosežena s pisanjem testni scenarij.

slabosti:

  • Postopek visoki stroški in zahteva usposobljene iskalnik napak;
  • številni drevoredi ostajajo neraziskane, saj temeljit pregled vseh morebitnih skritih napak je zelo zapletena;
  • nekaj kode bo neopazno.

Bela box se včasih imenujejo s preskušanjem prozoren ali odprto polje, strukturno, logično testiranje, ki temelji na kodi, in logike arhitekturo.

Glavne sorte:

1) testiranje nadzor pretoka - strukturna strategija z modelom pretoka nadzorni program, in kot prednost bolj enostavne načine za manj bolj zapletena;

2) veja je zasnovan za študij odpravljanje napak vsak ukaz (pravilne ali napačne) vsakega subjekta nadzora, ki vključuje tudi kombinirano rešitev;

3) testiranje glavne poti, ki omogoča tester za vzpostavitev logične zapletenosti ukrep procesnega projekt za izolacijo osnovni nabor izvršilnih poti;

4) preverjanje podatkovni tok - strategijo za nadzor pretoka raziskav s strani opomb računajo podatke o oglasu in uporabo spremenljivke programa;

5) ciklov preskušanja - popolnoma osredotočena na pravilno delovanje cikličnih procesov.

vedenjske odpravljanje napak

Black box obravnava programske opreme kot "črno škatlo" - informacije o notranjem delovanju programa, se ne štejejo, in preveri le osnovne vidike sistema. V tem primeru je tester mora poznati arhitekture sistema, ki nimajo dostopa do izvorne kode.

Prednosti tega pristopa:

  • učinkovitosti za veliko kode segmenta;
  • enostavnost dojemanje tester;
  • Uporabnik perspektiva jasno loči od vidikov razvijalec (programer in preizkuševalnik sta neodvisna drug od drugega);
  • hitrejše oblikovanje testa.

Testiranje programske opreme metoda črna škatla ima naslednje slabosti:

  • dejansko izvedli izbrano število testnih primerov, kar ima za posledico omejeno pokritostjo;
  • pomanjkanje jasne specifikacije težko razvili test skripte;
  • nizka učinkovitost.

Druga imena za to tehnologijo - vedenjsko, nepregleden, funkcionalno testiranje in način za odpravljanje napak pri zaprtem oknu.

Ta kategorija lahko vključuje naslednje tehnike testiranja programske opreme:

1) ustreza particiji, ki lahko zmanjša nabor podatkov testnih kot vnos podatkov programski modul razčlenjene v ločene dele;

2) Analiza mejnih vrednosti se osredotoča na preverjanje meja ali ekstremnih mejnimi vrednostmi - minimalno, maksimalno, in tipične vrednosti napak;

3) fuzzing - uporabljen pri izvajanju iskanje z vnosom napake ali poškodovan poluiskazhennyh podatkov v avtomatsko ali polavtomatsko način;

4) grofje vzročnosti - tehniko, ki temelji na ustvarjanju grafov in določitev razmerja med dejavnostjo in njenih razlogov: identiteto, negacijo, logični ALI in logično - štiri glavne like, ki izraža razmerje med vzroki in posledicami;

5) Preverjanje pravokotnih polj uporabljajo za probleme z relativno majhno območje za vnos presega možnost izčrpnih raziskav;

6) testiranje vseh parov - tehniko, kjer množica testnih vrednostih obsega vse možne binarne kombinacije vsak par vhodnih parametrov;

7) debugging prehajanja stanj - tehnika, uporabna za preverjanje stanja naprave, kot tudi za navigacijo skozi GUI uporabnika.

Black box: Primeri

black-box tehnika temelji na specifikacije, dokumentacijo in opise vmesnika programske opreme ali sistema. Poleg tega lahko uporabite modele (formalno ali neformalno), ki predstavlja pričakovano obnašanje programske opreme.

Značilno je, da je ta metoda se uporablja za odpravljanje napak uporabniški vmesnik in zahteva interakcijo z vlogo z uvedbo zbiranja in rezultate podatkov - od zaslona, iz poročil in izpisov.

Tester, zato sodeluje s programsko opremo, ki jo vnos, tako da deluje na stikala, gumbi in drugi vmesniki. Izbira vhodnih podatkov, lahko vrstni red uporabe ali zaporedja ukrepov vodi do velikega skupnega števila kombinacij, kot je prikazano v naslednjem primeru.

Koliko testi morali narediti, da se preveri vse možne vrednosti za zastavo 4 okna in področju enkratne se, nastavite čas v sekundah? Na prvi izračun pogled je preprost: 4 Področja dveh možnih stanj - 24 = 16, ki jih je treba pomnoženo s številom možnih položajev od 00 do 99, tj 1600 možnih testih.

Vendar pa je ta izračun je narobe: lahko ugotovimo, da lahko polje za dve točki vsebuje tudi prostor, kar pomeni, da je sestavljen iz dveh alfanumeričnih položajih in lahko vsebujejo črke, številke, posebne znake, presledke, itd Torej, če .... sistem je 16-bitni računalnik, zavijemo 216 = 65536 eno za vsak položaj v nastalo 4294967296 testnih primerov, ki jih je treba pomnožiti s 16 kombinacijami zastav, ki daje skupaj 68,719,476 736. Če jih opravljajo 1. preskusom na sekundo, skupna nadalj olzhitelnost testiranje je 2 177,5 leti. Za 32 ali 64-bitnih sistemov, traja še več.

Zato je treba ta rok skrajša na sprejemljivo raven. Zato bi bilo treba uporabiti tehnike za zmanjšanje števila testnih primerov ne da bi zmanjšala obseg testiranja.

enakovrednost delitev

Enakovredna particija je preprosta metoda, ki se uporablja za vse spremenljivke, ki so prisotni v programski opremi, ali vhodnih in izhodnih vrednot, simbolično, številčna, in drugi. Temelji na načelu, da se bodo vsi podatki iz enega ekvivalenta particijo obravnavati na enak način in z Enaka navodila.

Med testiranjem, izbran po en predstavnik vsakega posameznega enakovrednosti particiji. To vam omogoča, da sistematično zmanjšati število možnih testnih primerov brez izgube kritja ukazov in funkcij.

Posledica tega ločevanja je zmanjšanje kombinatorne eksplozije med različnimi spremenljivkami in s tem povezano zmanjšanje testnih primerov.

Na primer, v (1 / x) 1/2 s tremi podatkovnimi sekvence, tri enakim particije:

1. Vse pozitivne številke bodo obravnavani na enak način in bi morale dati prave rezultate.

2. Vse negativne številke se obravnavajo na enak način, z istim rezultatom. To je napačno, saj je koren negativnega števila je namišljena.

3. Zero bodo obravnavani ločeno in daje napaki "delitev z nič". To je oddelek z eno vrednostjo.

Tako smo videli tri različne dele, od katerih je ena nižjih v eno vrednost. Obstaja ena "pravilna" sekcija, ki daje zanesljive rezultate, in dva "narobe" z netočnimi rezultati.

Analiza mejnih vrednosti

Obdelava na mejah enakovredno delitev je mogoče storiti drugače, kot je bilo pričakovano. Preiskava mejnimi vrednostmi - znana metoda analizira obnašanje programske opreme v teh območjih. Ta tehnika omogoča identifikacijo take napake:

  • nepravilno uporabo relacijskih operatorjev (<,>, =, ≠, ≥, ≤);
  • eno napako;
  • problemi v ciklih in iteracij,
  • napačne vrste ali velikosti spremenljivk, ki se uporabljajo za shranjevanje podatkov;
  • umetnih omejitev, povezanih z podatkovnih tipov in spremenljivk.

prosojna testiranje

sivo metoda polje povečuje test pokritost, se lahko osredotočite na vseh zahtevnih ravneh sistema s kombinacijo črne in bele tehnike.

S to tehniko, bi moral tester za razvoj preskusnih vrednosti, poznavanje notranjih podatkovnih struktur in algoritmov. Primeri metod testiranja sivo-box so naslednji:

  • arhitekturni vzorec;
  • Unified Modeling Language (UML);
  • Stanje modela (finite state machine).

Pri metodi sivega polja za razvoj testnih primerov študiral modulov v bele tehnike kod, in dejanski preizkus se izvaja na vmesnikov črne programov tehnologije.

Te preskusne metode imajo naslednje prednosti:

  • Kombinacija prednosti tehnik bele in črne škatle;
  • Tester temelji na vmesniku in funkcionalne specifikacije, in ne izvorne kode;
  • razhroščevalnik lahko veliko testnih primerov;
  • Preverjanje se opravi z vidika uporabnika, ne pa na oblikovalec programa;
  • ustvariti lasten razvoj testov;
  • objektivnost.

slabosti:

  • test pokritost je omejena, ker ni dostopa do izvorne kode;
  • zahtevnost napak v porazdeljene aplikacije;
  • veliko načinov, ostajajo neraziskana;
  • če je razvijalec programske opreme je začel test, potem nadaljnje preiskave pretirana.

Drugo ime za sive tehnike polje - prosojna odpravljanje napak.

Ta kategorija zajema take metode testiranja:

1) pravokotna matrika - uporaba podskupini vseh možnih kombinacij;

2) matriks za odpravljanje napak z uporabo stanje podatkov programa;

3) regresivno pregled opravljen na nove spremembe programske opreme;

4) preizkus predloga, ki analizira oblikovanje in arhitekturo dobre vloge.

Primerjava metod testiranja programske opreme

Uporaba dinamičnih metod vodi do kombinatorne eksplozije števila testov, ki jih je treba razviti, izvajati in izvaja. Vsaka tehnika je treba uporabiti pragmatično, pri čemer svoje omejitve upoštevati.

Edina prava metoda ne obstaja, obstaja le tiste, ki so bolj primerni za posebne okoliščine. Statika nam omogočajo, da bi našli neuporabna ali zlonamerne kode, vendar so zapletene in ne veljajo za velike programe. Metode, ki temeljijo na specifikacijah - edine, ki so sposobni prepoznati manjkajoče kode, vendar jih ni mogoče identificirati outsider. Nekatere tehnike so bolj primerni za posebno preskus ravni, vrsti ali kontekstu napak kot drugi.

Spodaj so glavne razlike med tremi dinamičnih tehnik testiranja - je podana primerjalno preglednico med tremi oblikami razhroščevanje programske opreme.

vidik

Postopek črna škatla

Siva metoda polje

Metoda belo-box

Dostopnost informacij o sestavi programa

Obravnava le osnovne vidike

Delno poznavanje notranje strukture programa

Polni dostop do izvorne kode

Stopnja razdrobljenosti programa

nizka

Srednja

visoko

Kdo proizvaja razhroščevanje?

Končni uporabniki, testerji in razvijalci

Končni uporabniki, razvijalci in razhroščevalniki

Razvijalci in testerji

baza

Testiranje temelji na zunanjih izrednih razmerah na.

Diagrami baze podatkov, diagrami toka podatkov, stanje notranje poznavanje algoritma in arhitekture

Notranji Naprava se zaveda,

Stopnja pokritosti

Manj obsežen in zahteva najmanj časa

Srednja

Potencialno najbolj celovito. Zamudno

Podatki in notranje meje

Debug samo s poskusi in napakami

Mogoče preveriti domene podatkov in notranje meje, če so znani

Najboljši domene preizkus podatkov in notranje meje

Primernost testiranje algoritem

Ne

Ne

Da

avtomatizacija

Avtomatske metode testiranja programske opreme je precej poenostavi postopek pregleda, glede na tehničnem okolju in kontekstu EU. Uporabljajo se v dveh primerih:

1) za avtomatizacijo dolgočasno, ponavljajoče se ali natančna opravila, kot so datoteke primerjavi z več tisoč vrstic, da se sprosti čas za koncentracijo tester bolj pomembnih točk;

2) za izvajanje sledenja oziroma naloge, ki jih ni mogoče ljudje lahko izvajajo, kot so preverjanje učinkovitosti ali analize odzivni čas, ki se lahko meri v stotinkah sekunde.

Test orodja lahko razvrstimo na različne načine. Naslednja delitev temelji na naloge, ki jih podpirajo:

  • test za upravljanje, ki vključuje podporo projektnega vodenja, različice, konfiguracije, analizo tveganja, test sledenje, napake, napake, in orodja za poročanje;
  • Upravljanje zahteve, ki vključuje zahteve za skladiščenje in specifikacije, ki jih preveri popolnost in dvoumnosti, njihove prioritete in sledljivost vsakega testa;
  • kritičen pregled in statična analiza, vključno s spremljanjem pretoka, in naloge, snemanje in shranjevanje pripomb, odkrivanje napak in načrtovane povezave upravljanje popravki na kontrolnih seznamov in pravil, sledenje komunikacija izvornih dokumentov in kodo statične analize za odkrivanje napak, ki zagotavljajo skladnost s standardi pisanje kode, analiza strukture in odvisnosti, izračun metričnih parametrov kode in arhitekture. Poleg tega se uporabljajo prevajalniki, analizatorji, generatorjev in odnose navzkrižnih referenc;
  • modeliranje, ki vključuje orodja za poslovno obnašanje modeliranje in testiranje modelov;
  • Test razvoj zagotavlja pridobivanje podatkov pričakovanih na podlagi pogojev in uporabniškega vmesnika modelov in kode, je uspelo ustvariti ali spremeniti datotek in baz podatkov, sporočil, preverjanje podatkov na podlagi pravil upravljanja, statistično analizo razmer in tveganj;
  • kritičen pogled z vnosom podatkov prek grafičnega uporabniškega vmesnika, API, ukazni vrstici z uporabo primerljiva za pomoč pri prepoznavanju uspešnih in neuspešnih preskusov;
  • Podpora za odpravljanje napak okolje, ki vam omogoča, da zamenjate manjkajoče strojne ali programske opreme, v Vol. h. Simulacija opreme, ki temelji na določenem izhodni podskupini, terminalnih emulatorjev, mobilnih telefonov in omrežne opreme, okolje za preverjanje jezikov, operacijskih sistemov in strojne opreme, tako, da se voznik manjkajoče komponente, izmišljena moduli, itd, kot tudi orodja za zajem in spreminjanje OS zahteva omejitve CPU simulacija, RAM, ROM, ali omrežja .;
  • .. Primerjava podatkovnih datotek, podatkovnih baz, preverite pričakovane rezultate, med in po je test končan, vključno z dinamično in serije primerjava, Automatic "Oraklje";
  • premaz meritev za lokalizacijo spomin razpoka in nepravilne nadzor nad vedenjem sistema ocenjujete na podlagi simuliranih aplikacije za generiranje obremenitev obremenitev, baz podatkov, omrežij in strežnikov v realističnem scenariju rasti za merjenje, analizo in preverjanje poročila sistemskih virov;
  • varnosti;
  • testiranje zmogljivosti, obremenitve in dinamična analiza;
  • druga orodja, v Zv. ur. za preverjanje črkovanja in sintakso, varnost omrežja, razpoložljivost vseh spletnih strani in drugih.

perspektiva

S spremembo trendov v industriji programske opreme, proces odpravljanja napak je tudi lahko spremenijo. Obstajajo nove metode testiranja programske opreme, kot so storitve, orientirovannae arhitekture (SOA), brezžične tehnologije, mobilnih storitev, in tako naprej. E., so se odprle nove možnosti za testiranje programske opreme. Nekatere spremembe, ki se pričakujejo v industriji v naslednjih nekaj letih, so navedeni spodaj:

  • preizkuševalce bo lahek model, ki bo razvijalcem lahko preverili svojo kodo;
  • Razvoj preskusnih metod, vključno ogled in modeliranje programe v zgodnji fazi, se bodo odpravili veliko protislovij;
  • Prisotnost preskusa več prestreženih skrajša čas odkrivanje napak;
  • Statična analizator in detekcijskimi sredstvi, ki se bolj pogosto uporablja;
  • uporaba mineralnih matrik, kot je zajetje specifikacije, bo obseg modela in kodo kritja določiti razvoj projektov;
  • kombinatorne orodja omogočajo testerji za določitev prednostnih področij za odpravljanje napak;
  • preizkuševalci bo bolj intuitivne in koristne storitve v celotnem procesu razvoja programske opreme;
  • Debuggers lahko ustvarite orodij in programske opreme, metod testiranja napisana v in interakcijo z različnih programskih jezikov;
  • Razhroščevanje strokovnjaki bodo bolj strokovno usposobljeni.

Bo treba nadomestiti z novo poslovno usmerjenih testiranja programske opreme metode, da spremenite način interakcije s sistemom, in informacije, ki jih zagotavljajo, medtem ko zmanjšanje tveganj in povečanje koristi poslovnih sprememb.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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