KompjutersSoftwer

Metodi ta 'softwer ittestjar u jqabbluhom. Metodu tal-ittestjar ta 'ttestjar "kaxxa sewda" u l-metodu ta' "kaxxa bajda"

softwer Ittestjar (SW) jidentifikaw lakuni, nuqqasijiet u żbalji fil-kodiċi li jeħtieġ li jiġu indirizzati. Hija tista 'wkoll tkun definita bħala l-proċess ta' evalwazzjoni tal-funzjonalità u l-korrettezza tas-software bl-għajnuna tal-analiżi. metodi bażiċi ta 'integrazzjoni u l-ittestjar ta' applikazzjonijiet ta 'software u jiżguraw kwalità huwa li jittestja l-ispeċifikazzjoni, id-disinn u l-kodifikazzjoni, valutazzjoni affidabbiltà, il-validazzjoni u l-verifika.

metodi

L-għan ewlieni ta 'ittestjar tas-softwer - konferma tal-kwalità tas-sistema tas-softwer permezz ta' applikazzjonijiet debugging sistematiċi taħt kondizzjonijiet kontrollati bir-reqqa biex jiddeterminaw kompletezza u l-eżattezza, kif ukoll il-kxif ta 'żbalji moħbija.

Il-metodi ta 'verifika (ittestjar) programmi jistgħu jinqasmu statiċi u dinamiċi.

L-eks jinkludu informali, il-monitoraġġ u r-reviżjoni teknika, l-ispezzjoni, pass analiżi pass, il-verifika, kif ukoll analiżi tal-fluss tad-dejta statika u l-ġestjoni.

tekniki Dynamic huma:

  1. ittestjar kaxxa bajda. Dan huwa studju dettaljat tal-loġika interna u l-istruttura tal-programm. Huwa meħtieġ li l-għarfien tas-source code.
  2. ittestjar kaxxa s-sewda. Din it-teknika ma jeħtieġu ebda għarfien dwar il-ħidma interna ta 'l-applikazzjoni. Aħna nikkunsidraw biss l-aspetti bażiċi tas-sistema, mhux relatati ma 'jew assoċjati ma' ftit ta 'struttura loġika interna tagħha.
  3. Metodu kaxxa griż. Din tikkombina żewġ approċċi preċedenti. Debugging bl-għarfien limitat tal-funzjonament intern ta 'l-applikazzjoni huwa kombinat ma' għarfien tal-aspetti bażiċi tas-sistema.

ittestjar trasparenti

L-iskripts abjad test metodu kaxxa bl-użu jikkontrollaw istruttura tad-disinn proċedurali. Din it-teknika tippermetti li jiżvelaw żbalji implimentazzjoni, bħall-sistema kodiċi amministrazzjoni fqira mill tanalizza parti mill-ħidma interna tas-software. Dawn il-metodi tat-test huma applikabbli għal-livelli ta 'integrazzjoni, modulu u sistema. Il jittestja għandu jkollu aċċess għall-kodiċi sors u jużaha biex issir taf liema unità iġib ruħu b'mod mhux xieraq.

Ittestjar programmi billi abjad kaxxa għandu l-vantaġġi li ġejjin:

  • Hija tippermetti biex tiskopri żball fil-kodiċi moħbija billi jitneħħew linji bla bżonn;
  • l-użu ta 'effetti sekondarji;
  • kopertura massima jinkiseb billi tikteb b'kitba test.

iżvantaġġi:

  • proċess tat-ispiża għolja, li jeħtieġu debugger sengħa;
  • toroq ħafna jibqgħu mhux eżaminati minħabba verifika bir-reqqa ta 'l-iżbalji moħbija kollha possibbli hija kumplessa ħafna;
  • xi wħud mill-kodiċi se tiġi mgħoddija inosservati.

ittestjar kaxxa bajda huwa ħafna drabi riferut bl-ittestjar kaxxa trasparenti jew miftuħa, strutturali, ittestjar loġiku, ibbażata fuq il-kodiċi sors, u l-arkitettura loġika.

Il-varjetajiet ewlenin:

1) ittestjar tal-kontroll tal-fluss - istrateġija strutturali permezz tal-mudell fluss programm ta 'kontroll u bħala tiffavorixxi modi aktar sempliċi għal inqas aktar kumplessi;

2) Il-fergħa hija mfassla biex jistudjaw debugging kull għażla (veru jew falza) ta 'kull operatur kontroll, li jinkludi wkoll soluzzjoni magħquda;

3) l-ittestjar tal-passaġġ prinċipali, li tippermetti t-tester biex tistabbilixxi miżura kumplessità loġiku proġett proċedurali għal iżolament sett bażi ta 'mogħdijiet eżekuzzjoni;

4) verifika tal-fluss ta 'data - l-istrateġija ta' kontroll tal-fluss tar-riċerka mill-annotazzjonijiet jgħoddu informazzjoni dwar l-ad u jużaw il-varjabbli tal-programm;

5) ċikli ta 'ttestjar - kompletament iffokat fuq l-operazzjoni korretta tal-proċessi ċikliċi.

debugging komportamentali

ittestjar kaxxa s-sewda tittratta l-softwer bħala "kaxxa sewda" - informazzjoni dwar il-ħidma interna tal-programm ma jiġux magħduda, u ċċekkjati biss l-aspetti bażiċi tas-sistema. F'dan il-każ, il jittestja jeħtieġ li jkun jaf l-arkitettura tas-sistema mingħajr aċċess għall-kodiċi sors.

Vantaġġi ta 'dan l-approċċ:

  • effiċjenza għall-segment kodiċi kbira;
  • faċilità ta 'jittestja perċezzjoni;
  • perspettiva utent hija separata b'mod ċar mill-perspettivi iżviluppatur (programmer u tester huma indipendenti minn xulxin);
  • ħolqien aktar rapidu ta 'test.

softwer Ittestjar Metodu kaxxa s-sewda għandu l-iżvantaġġi li ġejjin:

  • tabilħaqq numru magħżul ta 'każijiet ta' prova, li jirriżulta fil-kopertura limitata;
  • nuqqas ta 'speċifikazzjoni ċara diffiċli li jiġu żviluppati skripts tat-test;
  • effiċjenza baxxa.

Ismijiet oħra għal din it-teknoloġija - komportamentali, mhux trasparenti, ittestjar funzjonali u l-metodu debugging ta 'kaxxa magħluqa.

Din il-kategorija tista 'tinkludi t-tekniki ittestjar tas-softwer li ġejjin:

1) ekwivalenti għal partizzjoni, li jistgħu jnaqqsu s-sett ta 'data tat-test bħala data modulu softwer input huwa maqsumin f'partijiet separati;

2) Analiżi valur konfini tiffoka fuq il-verifika tal-konfini jew valuri ta 'limitu estrem --minimu, massimu, u l-valuri tipiċi ta' żball;

3) fuzzing - użati biex timplimenta l-tfittxija bi dħul żbalji jew korrotta poluiskazhennyh data b'mod awtomatiku jew semi-awtomatiku;

4) għadd ta kawżalità - teknika bbażati fuq il-ħolqien ta graffs u li jiddetermina r-relazzjoni bejn l-azzjoni u r-raġunijiet tagħha: l-identità, negazzjoni, loġiku JEW u loġiku U - l-erba 'karattri prinċipali, li jesprimi r-relazzjoni bejn kawża u effett;

5) Verifika tal arrays ortogonali applikati għall-problemi bil-erja dħul relattivament żgħira li jaqbeż il-possibilità ta 'riċerka eżawrjenti;

6) l-ittestjar pari kollha - teknika fejn sett ta 'valuri tat-test jinkludi kombinazzjonijiet kollha possibbli żewġ fibri ta' kull par ta 'parametri ta' input;

7) transizzjoni istat debugging - teknika utli biex tkun iċċekkjata l-istatus tal-magna, kif ukoll biex jinnavigaw fil- GUI utent.

ittestjar kaxxa s-sewda: Eżempji

teknika iswed-kaxxa hija bbażata fuq l-ispeċifikazzjonijiet, dokumentazzjoni, u deskrizzjonijiet tal-interfaċċja software jew sistema. Barra minn hekk, tista 'tuża mudelli (formali jew informali), li jirrappreżentaw l-imġieba mistennija tas-software.

Tipikament, dan il-metodu huwa użat għall debugging user interface u teħtieġ azzjoni reċiproka ma 'l-applikazzjoni billi jintroduċi ġbir tad-data u r-riżultati - mill-iskrin, mir-rapporti jew printouts.

Il jittestja, għalhekk, jinteraġixxi mas-softwer bi dħul, billi jaġixxu fuq il-swiċċijiet, buttuni jew interfaces oħra. L-għażla tad-dejta, l-ordni ta 'amministrazzjoni jew is-sekwenza ta' azzjonijiet jista 'jwassal għal numru totali kbir ta' kombinazzjonijiet, kif muri fl-eżempju li ġej.

Kemm testijiet bżonn tagħmel sabiex jivverifika l-valuri possibbli għall-bandiera 4 twieqi u l-qasam ta 'darba, tistabbilixxi l-ħin f'sekondi? Fl-kalkolu ewwel daqqa t'għajn huwa sempliċi: 4 oqsma b'żewġ stati possibli - 24 = 16, li għandhom jiġu mmultiplikati bin-numru ta 'pożizzjonijiet possibbli 00-99, jiġifieri 1600 testijiet possibbli.

Madankollu, dan il-kalkolu huwa żbaljat: nistgħu jiddeterminaw li l-kamp ta 'żewġ punt jista' jkun fihom ukoll spazju, jiġifieri jikkonsisti f'żewġ posizzjonijiet alfanumeriċi u jistgħu jinkludu karattri alfanumeriċi, karattri speċjali, spazji, eċċ Għalhekk, jekk .... sistema huwa kompjuter 16-bit, dawwar 216 = 65536 waħda għal kull pożizzjoni fil-4294967296 każijiet jirriżultaw test li għandhom jiġu mmultiplikati b'16 kombinazzjonijiet ta 'bnadar li jagħti total ta' 68,719,476 736 Jekk dawn iwettqu fl-1 test kull sekonda, l-cont totali ittestjar olzhitelnost huwa 2 177.5 snin. Għal sistemi 32 jew 64-bit, it-tul saħansitra aktar.

Għalhekk hemm il-bżonn li jitnaqqsu dan il-perjodu għal livell aċċettabbli. Għalhekk, it-tekniki għandhom jiġu applikati biex jitnaqqas l-għadd ta 'każijiet ta' prova mingħajr ma jitnaqqas l-ambitu tal-ittestjar.

ekwivalenza partizzjoni

Il-partizzjoni ekwivalenti huwa metodu sempliċi li huwa applikabbli għal kwalunkwe varjabbli li huma preżenti fis-software, kemm jekk il-valuri input jew output, simboliku, numeriċi, u oħrajn. Hija bbażata fuq il-prinċipju li d-data kollha minn ekwivalenti wieħed mill-partizzjoni ser jiġu ttrattati bl-istess mod u bl- istess istruzzjonijiet.

Matul l-ittestjar, magħżula rappreżentant wieħed minn kull partizzjoni ekwivalenza partikolari. Dan jippermettilek li tnaqqas sistematikament numru ta 'każijiet possibbli ta' ttestjar mingħajr telf ta 'kopertura ta' kmandi u funzjonijiet.

Konsegwenza oħra ta 'dan tqassim huwa li jitnaqqsu l-isplużjoni kombinatorji bejn l-varjabbli differenti u t-tnaqqis assoċjat ta' każijiet tat-test.

Per eżempju, fl (1 / x) 1/2 jużaw tliet sekwenzi tad-data, tliet partizzjoni ekwivalenti:

1. in-numri kollha pożittivi se jiġu trattati bl-istess mod u għandu jagħti riżultati korretti.

2. numri negattivi kollha huma ttrattati bl-istess mod ma 'l-istess riżultat. Dan huwa żbaljata, minħabba l-għerq ta 'għadd negattiv huwa immaġinarja.

3. żero ser jiġu ttrattati separatament u jagħtu l-iżball "diviżjoni permezz żero". Din hija taqsima b'valur wieħed.

Għalhekk, naraw tliet sezzjonijiet distinti, li waħda minnhom hija mnaqqsa għal valur wieħed. Hemm wieħed "korretta" taqsima, li jagħti riżultati affidabbli, u żewġ "żbaljat" b'riżultati żbaljata.

Analiżi valur konfini

Ipproċessar fuq il-fruntieri tal-qsim ekwivalenti jista 'jsir b'mod differenti minn dak mistenni. Investigazzjoni ta 'valuri ta' limitu - metodu magħrufa li tanalizza l-imġiba tas-softwer f'dawn iż-żoni. Din it-teknika jagħmilha possibbli li jiġu identifikati żbalji bħal dawn:

  • użu mhux xieraq ta 'operaturi relazzjonali (<,>, =, ≠, ≥, ≤);
  • żball wieħed;
  • problemi fil ċikli u iterazzjonijiet,
  • tipi żbaljata jew id-daqs ta 'varjabbli użati għall-ħażna ta' informazzjoni;
  • limitazzjonijiet artifiċjali assoċjati ma 'tipi ta' data u fatturi varjabbli.

ittestjar trasluċidi

Metodu kaxxa griża iżid il-kopertura tat-test, inti tista 'tiffoka fuq il-livelli diffiċli kollha tas-sistema permezz ta' taħlita ta 'tekniki iswed u abjad.

Bl-użu din it-teknika, il jittestja għall-iżvilupp ta 'valuri tat-test għandu jkollu għarfien tal-istrutturi u algoritmi data interni. Eżempji ta 'metodi ta' ttestjar griż fil-kaxxa huma kif ġej:

  • mudell arkitettoniku;
  • Unifikata Modeling Lingwa (UML);
  • mudell ta 'stat (finit magna istat).

Fil-metodu tal-kaxxa griża li tiżviluppa każijiet ta 'eżaminazzjoni studjati moduli f'kodiċijiet inġinerija abjad, u test attwali hija mwettqa fuq l-interfaces tal-programmi tat-teknoloġija iswed.

Dawn il-metodi ta 'ttestjar għandhom il-vantaġġi li ġejjin:

  • kombinazzjoni ta 'vantaġġi kaxxi abjad u iswed tekniku;
  • Jittestja huwa bbażat fuq l-interface u l-ispeċifikazzjoni funzjonali, u mhux il-kodiċi sors;
  • debugger jistgħu jagħmlu każijiet ta 'prova kbira;
  • verifika huwa magħmul mill-perspettiva tal-utent, mhux il-disinjatur tal-programm;
  • joħloq żvilupp tat-test tad-dwana;
  • oġġettività.

iżvantaġġi:

  • kopertura tat-test huwa limitat minħabba li m'hemm l-ebda aċċess għall-kodiċi sors;
  • -kumplessità tal-difetti fl-applikazzjonijiet distribwiti;
  • f'ħafna modi jibqgħu mhux eżaminati;
  • jekk l-iżviluppatur softwer nediet it-test, allura aktar investigazzjoni jista 'jkun eċċessiv.

Isem ieħor għall-tekniki kaxxa griż - debugging trasluċidi.

Din il-kategorija tinkludi dawk il-metodi ta 'ttestjar:

1) ortogonali firxa - l-użu ta subsett ta 'kombinazzjonijiet kollha possibbli;

2) matriċi debugging jużaw l-istat tad-dejta programm;

3) Spezzjoni rigressiva mwettqa lejn il-bidliet ġodda għall-softwer;

4) tat-test mudell li tanalizza d-disinn u l-arkitettura ta 'applikazzjoni tajba.

Tqabbil ta 'tekniki ittestjar tas-softwer

L-użu ta 'metodi dinamiċi twassal għal splużjoni kombinatorji tan-numru ta' testijiet li jridu jiġu żviluppati, implimentati u mwettqa. Kull teknika għandha tintuża b'mod pragmatiku, filwaqt limitazzjonijiet tagħha in kunsiderazzjoni.

L-uniku metodu veru ma jeżistix, hemm biss dawk li huma adattati aħjar għall-kuntest speċifiku. inġinerija strutturali inessu biex isibu kodiċi inutli jew malizzjużi, iżda huma kumplessi u mhumiex applikabbli għal programmi kbar. Metodi bbażati fuq l-ispeċifikazzjonijiet - l-uniċi li jistgħu jidentifikaw l-kodiċi nieqsa, iżda dawn ma jistgħux jidentifikaw bħala barrani. Xi tekniki huma aktar adattati għal partikolari livell tat-test, it-tip żball jew kuntest minn oħrajn.

Hawn taħt huma l-differenzi ewlenin bejn it-tliet metodi ta 'ttestjar dinamika - huwa mogħti tabella paragun bejn it-tliet forom ta' debugging software.

aspett

Il-metodu kaxxa s-sewda

Metodu kaxxa griża

Metodu White-kaxxa

Disponibbiltà ta 'informazzjoni dwar il-kompożizzjoni tal-programm

Teżamina biss l-aspetti bażiċi ta '

għarfien parzjali dwar l-istruttura interna tal-programm

aċċess sħiħ għall-kodiċi sors

Grad ta 'frammentazzjoni tal-programm

baxxa

ċentrali

għolja

Li jipproduċi debugging?

Tmiem utenti, testers u l-iżviluppaturi

Tmiem utenti, l-iżviluppaturi u debuggers

Iżviluppaturi u dawk li jittestjaw

bażi

Ittestjar hija bbażata fuq is-sitwazzjonijiet ta 'emerġenza esterni.

Dijagrammi database, dijagrammi fluss ta 'dejta, l-istat ta' għarfien intern tal-algoritmu u l-arkitettura

L-apparat interna hija kompletament konxju

Il-grad ta 'kopertura

Anqas komprensivi u jeħtieġ minimu ta 'żmien

ċentrali

Potenzjalment l-aktar komprensiva. ħin

Data u l-fruntieri interni

Debug biss bi prova u żball

Jistgħu jiġu kkontrollati l-oqsma tad-dejta u l-fruntieri interni, jekk dawn ikunu magħrufa

Id-dominji aħjar tad-dejta tat-test u l-fruntieri interni

algoritmu ittestjar idoneità

Nru

Nru

Iva

awtomazzjoni

Metodi awtomatiċi ta 'ittestjar tas-softwer hija ferm jissimplifikaw il-proċess ta' spezzjoni, irrispettivament mill-ambjent tekniku u l-kuntest tal-. Dawn huma użati f'żewġ każijiet:

1) l-awtomazzjoni tal-kompiti tedious, ripetittivi jew metikoluż bħal paragun fajl biex diversi eluf ringieli biex jirrilaxxaw ħin għall-konċentrazzjoni tal-tester punti aktar importanti;

2) għat-twettiq traċċar jew kompiti li ma jistgħux jiġu faċilment mwettqa minn nies bħal verifika tal-prestazzjoni jew ħin ta 'reazzjoni analiżi li jista' jitkejjel f'wieħed għal kull mija ta 'sekonda.

għodod ta 'ttestjar jistgħu jiġu kklassifikati b'modi differenti. Id-diviżjoni li jmiss huwa bbażat fuq il-kompiti huma jappoġġjaw:

  • ġestjoni tat-test, li jinkludi appoġġ għall-proġett ta 'ġestjoni, il-verżjonijiet, konfigurazzjonijiet, l-analiżi tar-riskju, traċċar tat-test, l-iżbalji, difetti, u għodod ta' rappurtar;
  • Rekwiżiti ġestjoni, li jinkludi rekwiżiti ta 'ħażna u l-ispeċifikazzjonijiet, verifikati għall-kompletezza u ambigwità, il-prijorità tagħhom u t-traċċabilità ta' kull test;
  • reviżjoni kritika u analiżi statika, inkluż il-monitoraġġ tal-fluss, u l-kompiti, reġistrazzjoni u l-ħażna ta 'kummenti, skoperta difett u r-rabtiet ippjanati ġestjoni korrezzjonijiet listi ta' kontroll u r-regoli, l-ittrakkjar dokumenti sors komunikazzjoni u l-analiżi statika kodiċi li jiskopru d-difetti, li jiżguraw konformità mal-istandards tal-kodiċi kitba, analiżi tal-istrutturi u dipendenzi, il-kalkolu tal-parametri metrika tal-kodiċi u l-arkitettura. Barra minn hekk, l-użu kompilaturi, analizzaturi, ġeneraturi u r-relazzjonijiet ta 'referenzi inkroċjati;
  • immudellar, li tinkludi għodod għal imġieba negozju immudellar u tittestja l-mudelli;
  • iżvilupp tat-test jiżgura l-produzzjoni ta 'dejta mistennija fuq il-bażi ta' kondizzjonijiet u mudelli interface għall-utent u l-kodiċi, jirnexxilhom joħolqu jew jimmodifikaw fajls u d-databases, messaġġi, validazzjoni tad-data fuq il-bażi tar-regoli ta 'ġestjoni, l-analiżi statistika tal-kundizzjonijiet u r-riskji;
  • ħsieb kritiku billi ddaħħal id-dejta permezz ta 'interface għall-utent, API, linja ta' kmand grafika jużaw komparaturi biex jgħinu jidentifikaw it-testijiet ta 'suċċess u li ma rnexxietx;
  • appoġġ agroambjentali debugging li jippermettilek li tissostitwixxi l-hardware jew software nieqsa, f'Vol. h. tagħmir Simulazzjoni bbażata fuq is-subsett determinata produzzjoni, emulators terminali, mowbajls u tagħmir tan-netwerk, l-ambjent għall-iċċekkjar lingwi, sistemi operattivi u hardware billi jissostitwixxi l-sewwieq komponenti neqsin, fittizja moduli, eċċ, kif ukoll għodod għall-qabda u timmodifika l-OS jitlob il-limitazzjoni simulazzjoni CPU, RAM, ROM, jew netwerk .;
  • .. Paragun ta 'fajls tad-data, databases, jiċċekkjaw ir-riżultati mistennija matul u wara t-test tkun kompluta, inkl dinamika u l-paragun tal-lott, Awtomatika "Oracles";
  • kisi kejl għall-lokalizzazzjoni ta 'tnixxijiet memorja u l-imġieba ta' kontroll tagħha skorretta sistema istima taħt applikazzjonijiet tat-tagħbija li jiġġeneraw b'tagħbija simulata, databases, netwerks jew servers possibbiltà reali ta 'tkabbir għall-kejl, analiżi u verifika tar-rapport riżorsi tas-sistema;
  • -sigurtà;
  • testijiet ta 'prestazzjoni, tagħbija u l-analiżi dinamika;
  • għodod oħra, Vol. h. biex jiċċekkja l-ortografija u sintassi, sigurtà tan-netwerk, id-disponibbiltà ta 'paġni kollha website u oħrajn.

perspettiva

Bl-tendenzi li qed jinbidlu fl-industrija tas-softwer, il-proċess ta 'debugging huwa wkoll soġġetta għal bidla. Hemm metodi ġodda ta 'ittestjar tas-softwer, bħal arkitettura-orientirovannae servizz (SOA), it-teknoloġiji wireless, servizzi mobbli, u l-bqija. E., Have fetaħ modi ġodda ta' softwer ittestjar. Xi wħud mill-bidliet li huma mistennija fl-industrija matul il-ftit snin li ġejjin huma elenkati hawn taħt:

  • testers se jipprovdi mudell ħfief li l-iżviluppaturi se tkun tista 'tiċċekkja kodiċi tiegħek;
  • iżvilupp ta 'metodi ta' ttestjar, inklużi wiri u mudellar programmi fi stadju bikri, se jelimina ħafna mill-kontradizzjonijiet;
  • preżenza ta 'test interċezzjonijiet multipli se jitqassar iż-żmien tal-iżbalji;
  • analizzatur statiku u sejbien mezzi li għandhom jintużaw b'mod aktar wiesa;
  • l-użu ta 'matriċi minerali, bħall kopertura ta' l-ispeċifikazzjoni, l-ambitu tal-mudell u l-kodiċi kopertura se jiddeterminaw l-iżvilupp ta 'proġetti;
  • għodod combinatorial jippermettu testers biex tiddetermina l-oqsma prijoritarji għall debugging;
  • testers se tipprovdi servizzi aktar intuwittivi u ta 'valur matul il-proċess ta' żvilupp softwer;
  • debuggers jistgħu jinħolqu għodod u metodi ta 'ttestjar software miktuba u l-interazzjoni ma' varjetà ta 'lingwi ta' programmar;
  • esperti debugging se jiġu mħarrġa aktar professjonalment.

Se jiġu sostitwiti permezz ta 'metodi ġodda ta' ttestjar softwer orjentati għan-negozju, li jibdlu l-mod ta 'interazzjoni mas-sistemi u l-informazzjoni li jipprovdu filwaqt li jitnaqqsu r-riskji u żżid il-benefiċċji tal-bidliet tan-negozju.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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