Kompjuters, Softwer
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:
- 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.
- 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.
- 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