KompjûtersSoftware

Metoaden fan testen software en ferlykjen se. Testing metoade fan "black box" testen en de metoade fan "wite box"

Testing software (SW) identifisearje hiaten, tekoartkommings en flaters yn de koade dy't moatte oanpakt wurde. It kin ek definiearre as it proses fan it evaluearjen fan de funksjonaliteit en correctness fan 'e software mei help fan' e analyze. Basis metoaden fan yntegraasje en hifkjen fan software applikaasjes en soargje kwaliteit is te testen de spesifikaasje, design en taalkodearjen, betrouberheid beoardieling, falidaasje en ferifikaasje.

metoaden

It wichtichste doel fan software testen - befêstiging fan 'e kwaliteit fan' e software systeem fia systematysk útbrek applikaasjes ûnder soarchfâldich regele betingsten te bepalen harren folsleinens en krektens, lykas ek it opspoaren fan ferburgen flaters.

De metoaden fan ferifikaasje (testing) programma kinne ûnderferdield wurde yn statische en dynamysk.

De eardere befetsje ynformeel, tafersjoch en technyske resinsje, ynspeksje, stap foar stap analyse, auditing, likegoed as statyske gegevens flow analyze en behear.

Dynamische techniken binne:

  1. Wite doaze testen. Dit is in detaillearre stúdzje fan de ynterne logika en de struktuer fan it programma. It is nedich om kennis fan de boarne koade.
  2. Black box testen. Dizze technyk net nedich gjin kennis oer it binnenste wurking fan it programma. Wy beskôgje allinne de fûnemintele aspekten fan it systeem, net besibbe oan of ferbûn mei in pear fan syn ynterne logyske struktuer.
  3. Grize doaze metoade. It kombinearret twa foargeande oanpak. Debuggen mei beheinde kennis fan de ynterne funksjonearjen fan it programma wurdt kombinearre mei kennis fan 'e fûnemintele aspekten fan it systeem.

transparante testing

De wite box metoade mei help test skripts behearskje struktuer fan it proseduerefout design. Dizze technyk makket it mooglik om reveal útfiering flaters, lykas earme behear koade systeem troch analysearjen fan in part fan 'e binnenste wurking fan' e software. Dy test metoaden binne fan tapassing foar de yntegraasje, module en systeem nivo. It tester moat ha tagong ta de boarne koade en brûk it om út te sykjen hokker ienheid gedraacht inappropriately.

Toetsing programma troch wyt-box hat de folgjende foardielen:

  • It makket it mooglik om te ûntdekken in flater yn 'e ferburgen koade troch it fuortsmiten fan oerstallige rigels;
  • it brûken fan de bywurkingen;
  • maksimum dekking wurdt berikt troch it skriuwen fan in test script.

neidielen:

  • hege kosten proses, nedich betûft debugger;
  • in protte leanen bliuwe nije omdat yngeande kontrôle dwaan fan alle mooglike ferburgen flaters is tige kompleks;
  • guon fan de koade sil wurde trochjûn ûngemurken.

Wite doaze testen wurdt soms oantsjutten mei it testen fan in trochskinende of iepen doaze, struktureel, logyske testen, basearre op de boarne koade, en logika arsjitektuer.

De wichtichste rassen:

1) teste de streaming kontrôle - strukturele strategy mei help fan it programma kontrôle flow model en as begeunstiging ienfâldiger manieren om minder komplekser;

2) De tûke is ûntwurpen om te studearjen útbrek elke opsje (Wier of net wier) fan eltse kontrôle operator, dêr't ek in kombinearre oplossing;

3) it toetsen fan de wichtichste paad, dat mooglik makket it tester fêst te stellen logyske kompleksiteit maatregel prosedurele projekt foar isolearjende in basis set fan eksekúsje paden;

4) kontrolearjen de data stream - de streaming kontrôle strategy fan ûndersyk troch de annotaasjes telle ynformaasje oer de advertinsje en brûk de programma fariabelen;

5) syklussen fan testen - folslein rjochte op 'e krekte wurking fan Cyclische prosessen.

gedrachsproblemen debuggen

Black box testen behannelet de software as in "black box" - ynformaasje oer it binnenste wurking fan it programma wurde net meitelt, en kontrolearre allinne de fûnemintele aspekten fan it systeem. Yn dit gefal, it tester moat it witte it systeem arsjitektuer sûnder tagong ta de boarne koade.

Foardielen fan dizze oanpak:

  • effisjinsje foar grutte koade segment;
  • in machtich waarneming tester;
  • brûker perspektyf wurdt dúdlik skieden fan de Developer perspektiven (programmeur en tester binne ûnôfhinklik fan elkoar);
  • mear rapid skepping fan test.

Testing software black box metoade hat de folgjende neidielen:

  • yndied útfierd in selekte oantal test gefallen, resultearret yn in beheinde dekking;
  • ûntbrekken fan in dúdlike spesifikaasje dreech te ûntwikkeljen test skripts;
  • low efficiency.

Oare nammen foar dizze technology - gedrachsproblemen, net-transparante, funksjonele testen en debuggen metoade fan in sletten doaze.

Dizze kategory kin ûnder oaren de folgjende software testen techniken:

1) lykweardich ta ôfskieding, dat kin ferminderjen de dea fan test gegevens as ynfier software module gegevens wurdt opdield yn aparte dielen;

2) grins wearde analyse rjochtet him op de ferifikaasje fan de grinzen of ekstreme limyt wearden - it minimum, maximum, en typyske wearden fan fersin;

3) fuzzing - brûkt foar it útfieren fan it sykjen troch inputting flaters of skansearr gegevens poluiskazhennyh yn automatyske of semy-automatyske modus;

4) grêven fan kausaliteit - in technyk basearre op it skeppen fan grafiken en it fêststellen fan de relaasje tusken de aksje en syn reden: identiteit, ûntkenning, logysk OR en logysk EN - de fjouwer haadpersoanen, de utering fan de relaasje tusken oarsaak en gefolch;

5) Ferifikaasje van lykwols rigen tapast foar problemen mei in relatyf lyts ynfier gebiet heechst de mooglikheid fan alles omfiemjend ûndersyk;

6) teste alle pearen - in technyk dêr't in set fan test wearden bestiet út alle mooglike binêre kombinaasjes fan elk pear ynfier parameters;

7) debuggen steat oergong - in technyk nuttich foar it kontrolearjen fan de status fan 'e masine, en ek om navigearje troch de GUI brûker.

Black box testen: Foarbylden

black-box technyk is basearre op de spesifikaasjes, dokumintaasje, en beskriuwings fan 'e software ynterface of systeem. Dêrneist kinne jo brûke modellen (formele of ynformeel), foar de ferwachte gedrach fan de software.

Typysk, dy metoade wurdt brûkt foar it debuggen brûkersynterface en freget ynteraksje mei de applikaasje troch ynfiering fan in gegevens kolleksje en resultaten - út it skerm, út de ferslaggen of ôfdrukken te feroarjen.

De tester, dêrom, interacts mei it sêftguod troch inputting, troch stelt op 'e SWITCH knoppen of oare ynterfaces ferstjoerd. De kar fan 'e ynput data, de folchoarder fan administraasje of rige aksjes kinne liede ta in grutte totaal oantal kombinaasjes, lykas werjûn yn de folgjende foarbyld.

Hoefolle testen moatte meitsje om te kontrolearjen alle mooglike wearden foar de 4 finsters flagge en ien-off fjild, set de tiid yn sekonden? Op it earste each berekkening is simpel: 4 fjilden mei twa mooglike steaten - 24 = 16, dat moat wêze fermannichfâldige mei it tal mooglike posysjes fan 00 oant 99, i.e. 1600 mooglike testen.

Lykwols, dizze berekkening is ferkeard: kinne wy fêststelle dat it twa-punt fjild kin ek befetsje in romte, dws it bestiet út twa alfanumeryke posysjes en kin ûnder oaren alfanumeryke tekens, spesjale karakters, spaasjes, ensfh Sa, as .... systeem is in 16-bit computer, keare 216 = 65536 ien foar eltse posysje yn dêr sadwaande 4294967296 test saken dy't te formannichfâldige wirde troch 16 kombinaasjes fan flaggen dat jout in totaal fan 68.719.476 736. As se útfiere by 1 test per sekonde, de totale cont olzhitelnost hifkjen is 2 177.5 jier. Foar 32 of 64-bit systemen, de doer noch mear.

Dêrom is der in ferlet om te ferminderjen dizze perioade ta in akseptabel nivo. Sa, de techniken moatte wurde tapast om te ferminderjen it oantal test gefallen sûnder it ferminderjen fan it berik fan teste.

lykweardigens partitioning

It ekwivalinte partition is in ienfâldige metoade dy't fan tapassing is foar eltse fariabelen dy't oanwêzich yn de software, oft input of útfier wearden, symboalysk, numeryk, en oaren. It is basearre op it prinsipe dat alle gegevens út ien ekwivalint fan 'e ôfskieding wurdt behannele op deselde wize en troch de deselde ynstruksjes.

Under teste, selektearre ien fertsjintwurdiger fan elke bepaalde lykweardigens partition. Dit makket it mooglik om systematysk ferminderje it oantal mooglike test gefallen sûnder ferlies fan dekking fan kommando en funksjes.

In oare konsekwinsje fan dit partitioning is te ferminderjen de combinatorial eksploazje tusken de ûnderskate fariabelen en it ferbûn reduksje fan test gefallen.

Bygelyks, yn (1 / x) 1/2 mei help fan trije gegevens sekwinsjes, trije lykweardich partition:

1. Alle positive getallen werjûn wurde behannele op deselde wize en moatte jaan goede resultaten.

2. Alle negative getallen wurde behannele yn 'e selde wize mei itselde resultaat. Dat is net goed, omdat de woartel fan in oantal negatyf is tinkbyldich.

3. Zero wurdt ôfhannele apart en jouwe de flater "dieling troch nul". Dit is in rubryk mei in inkele wearde.

Sa, we sjogge trije ûnderskate Seksjes, ien dêrfan wurdt redusearre ta in inkele wearde. Der is ien "korrekt" diel, dat jout betrouber resultaten, en twa "ferkearde" mei ferkearde resultaten.

Boundary wearde analysis

Ferwurkjen oer de grinzen fan 'e lykweardich partitioning kin dien wurde oars as ferwachte. Ûndersyk fan limyt wearden - in bekende metoade fan it analysearjen fan it hâlden en dragen fan 'e software yn sokke gebieten. Dizze technyk makket it mooglik om te identifisearjen sokke fouten:

  • ûnbehoarlik brûken fan relational operators (<,>, =, ≠, ≥, ≤);
  • single flater;
  • problemen yn fytst en werhellings,
  • ferkearde typen of grutte fan fariabelen brûkt foar it bewarjen fan ynformaasje;
  • keunstmjittich beheinings ferbûn mei gegevens types en fariabelen.

translucent testing

grize box metoade fergruttet de test dekking, kinne jo rjochtsje op alle drege nivo 's fan it systeem troch in kombinaasje fan swarte en wite techniken.

Mei help fan dizze technyk, de tester foar de ûntwikkeling fan de test wearden moatte hawwe kennis fan ynterne gegevens struktueren en algoritmen. Foarbylden fan griis-box testen metoaden binne as folget:

  • architectural model;
  • Ferienige Modeling Taal (UML);
  • steat model (einige steat machine).

Yn de metoade fan de grize fak te ûntwikkeljen test gefallen studearre modules yn wite engineering koades, en eigentlike test wurdt útfierd op 'e ynterfaces fan de swarte technology programma.

Dy teste metoaden hawwe de folgjende foardielen:

  • kombinaasje fan foardielen technikus wite en swarte doazen;
  • Tester is basearre op de ynterface en funksjonele spesifikaasje, en net de boarne koade;
  • debugger kin meitsje grutte test gefallen;
  • check wurdt makke út it eachpunt fan de brûker, net de ûntwerper fan it programma;
  • meitsje oanpaste test ûntwikkeling;
  • objektiviteit.

neidielen:

  • test dekking wurdt beheind omdat der gjin tagong ta de boarnekoade;
  • de kompleksiteit fan de ôfwikingen yn ferspraat applikaasjes;
  • in soad manieren bliuwe nije;
  • as de software ûntwikkeler hat lansearre de test, dan fierder ûndersyk kin wêze oermjittich.

In oare namme foar de grize fak techniken - trochsichtichName debuggen.

Dizze kategory befettet sokke metoaden fan testing:

1) lykwols array - it brûken fan in bepaald berik fan alle mooglike kombinaasjes;

2) matrix debuggen mei help fan de steat fan it programma data;

3) regressive ynspeksje útfierd op it nije feroarings oan 'e software;

4) template test dat analysearret it ûntwerp en de arsjitektuer fan in goede tapassing.

Ferliking fan software testen techniken

It brûken fan dynamyske metoades liedt ta in combinatorial ûntploffing fan it tal testen dy't moatte wurde ûntwikkele, ymplemintearre en útfierd. Alle technyk moat brûkt wurde pragmatically, nimme syn beheiningen rekken.

De ienige echte metoade bestiet net, der is dan hat dy binne geskikter foar it spesifike kontekst. Strukturele engineering tastean ús te finen in nutteleas of kwea-aardige koade, mar se binne kompleks en binne net fan tapassing op grutte programma. Wurkwizen basearre op de spesifikaasjes - de iennigen dy't by steat binne om te identifisearjen de missende koade, mar se kinne net identifisearje in bûtensteander. Guon techniken binne mear geskikt foar in bepaald test nivo, error type of kontekst as oaren.

Hjirûnder binne de wichtichste ferskillen tusken de trije dynamyske testing technyken - wurdt jûn in ferliking tafel tusken de trije foarmen fan útbrek software.

aspekt

De swarte doaze metoade

Grize box metoade

White-box metoade

Beskikberens fan ynformaasje oer de gearstalling fan it programma

Ûndersiket allinne de basis aspekten fan

Partial kennis oer de ynterne struktuer fan it programma

Folsleine tagong ta de boarnekoade

Mjitte fan fersnippering fan it programma

low

sintraal

heech

Wa produsearret debuggen?

End brûkers, testers en ûntwikkelers

End brûkers, ûntwikkelers en debuggers

Ûntwikkelders en testers

base

Testing is basearre op de eksterne emergency situaasjes.

Skema 'database, gegevens trochstreaming skema', steat fan ynterne kennis fan 'e algoritme en arsjitektuer

De ynterne apparaat is folslein bewust

De mjitte fan dekking

Minder wiidweidich en ferget in minimum fan tiid

sintraal

Mooglik de meast útwreide. Tiidslinend

Data en binnengrinzen hinne

Debug allinne mei fallen en opstean

Kin wurde kontrolearre op de gegevens domeinen en ynterne grinzen, as se binne bekend

De bêste test gegevens domeinen en ynterne grinzen

Geskiktheid testing algoritme

gjin

gjin

Ja

automatisearring

Automatysk metoaden fan software testen wurdt folle ferienfâldigje it proses fan de ynspeksje, los fan 'e technyske omjouwing en de kontekst fan e. Se wurde brûkt yn twa gefallen:

1) te automate it ferfeelsum, werheljende of sekuere taken lykas triem ferliking ta in pear tûzen rigen om te release tiid foar konsintraasje fan de tester wichtiger punten;

2) foar it útfieren tracking of taken dy 'kin net maklik útfierd troch minsken lykas prestaasjes verification of analyse reaksjetiid dat kin metten wurde yn hundredths fan in sekonde.

Test ark kin wurde yndield yn ferskate wizen. De folgjende ferdieling is basearre op de taken dy't se stipe:

  • test behear, dêr't ek projekt behear stipe, ferzjes, konfiguraasje, risiko analyze, test tracking, flaters, mankeminten, en rapportaazje ark;
  • easken behear, dêr't ek opslach easken en spesifikaasjes, kontrolearje se foar folsleinens en ambiguïteit, harren prioriteit en de traceability fan eltse toets;
  • kritysk hifkjen en statyske analyze, ynklusyf trochstreaming monitoring, en taken, opname en opslach fan kommentaar, defect detection en foarnommen korreksjes behear keppelings nei checklists en regels, tracking kommunikaasje boarne dokuminten en koade statyske analyze te spoaren mankeminten, garandearret it neilibjen fan 'e noarmen fan skriuwen code, analyze fan struktueren en Ofhinklikens, berekkening fan it metrike parameters fan de koade en arsjitektuer. Dêrneist brûke compilers, Analyzers, Generators en relaasjes fan cross-referinsjes;
  • modeling, dêr't ark foar modellewurk saaklike gedrach en test 'e modellen;
  • test ûntwikkeling soarget foar de generaasje fan gegevens ferwachte oan 'e basis fan de betingsten en brûkersynterface modellen en koade, beheare te meitsjen of wizigjen fan triemmen en databanken, messaging, gegevens kontrôle oan de basis fan de regels fan behear, statistyske analyze fan' e betingsten en risiko;
  • in kritysk each troch it ynfieren fan de gegevens fia in grafyske brûkersomjouwing, API, kommando rigel mei help comparators te helpen identifisearjen súksesfol en mislearre toetsen;
  • stipe debuggen omjouwing wêrmei jo ferfange de missende Hardware of sêftguod, yn Vol. h. Neispylje apparatuer basearre op de fêststelde útgong dielsamling, terminal Emulators, mobile tillefoans en netwurk apparatuer, it miljeu te kontrolearjen talen, Betriebssystemen en hardware troch it ferfangen fan de ûntbrekkende ûnderdielen bestjoerder, fiktyf modules, ensfh, likegoed as ark foar it fêstlizzen en feroarjen fan de OS freget de CPU simulaasje beheining, RAM, ROM, of netwurk .;
  • .. In ferliking fan de gegevens triemmen, databanken, kontrolearje de ferwachte resultaten tidens en nei de test is kompleet, incl dynamysk en batch ferliking, Automatysk "orakels";
  • coating mjitting foar de lokalisaasje fan ûnthâld lekkage en net goed syn kontrôle gedrach berekkene dat systeem ûnder Simulated load opwekken fan load applikaasjes, databanken, netwurken of tsjinners yn in realistyske senario fan groei foar mjitting, analysearjen en kinne de systeem middels ferslach;
  • security;
  • prestaasjes testen, lading en dynamyske analyze;
  • oare helpmiddels, yn Vol. h. te kontrolearjen de stavering en de syntaksis, netwurk feiligens, de beskikberens fan alle website siden en oare.

perspektyf

Mei de feroarjende trends yn 'e software yndustry, it proses fan debuggen is ek ûnderwerp te feroarjen. Der binne nije metoaden fan software testen, sa as in service-orientirovannae boukeunst (SOA), Wireless Technologies, mobile tsjinsten, ensafuorthinne. E., Ha iepene up nije wizen fan teste software. Guon fan 'e feroarings dy't ferwachte yn' e yndustry oer de kommende pear jierren wurde hjirunder:

  • testers sille soargje foar in lichtgewicht model dat ûntwikkelders sil by steat wêze om te kontrolearje jo koade;
  • ûntwikkeling fan it útprobearjen metoaden, ynklusyf besjoch en modellering programma yn in ier stadium, sil elimineren in protte fan 'e tsjinstellingen;
  • oanwêzigens fan meardere interceptions test sil koarter de tiid fan error detection;
  • Statyske analyser en detection betsjut wurde mear soad brûkt;
  • it brûken fan minerale matrices, lykas dekking fan de spesifikaasje, de wurkingssfear fan it model en de koade dekking sil bepale de ûntwikkeling fan projekten;
  • combinatorial ark tastean testers om te bepalen hokker prioriteit gebieten foar it debuggen;
  • testers sille soargje foar in mear yntuïtyf en weardefolle tsjinsten hiele software ûntwikkeling proses;
  • debuggers kinne meitsje ark en software testen metoades skreaun yn en interacting mei in ferskaat oan programmearring talen;
  • Útbrek saakkundigen sille mear profesjoneel oplaat.

Wurdt ferfongen troch in nij bedriuw rjochte software testen metoaden, om te feroarjen de wei fan ynteraksje mei de systemen en de ynformaasje dy't se jouwe wylst it ferminderjen fan risiko 's en it fergrutsjen fan de foardielen fan it bedriuw feroaret.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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