KompjuteraProgram

Metodat e testimit software dhe krahasimin e tyre. Metoda Testimi i testimit "kutinë e zezë" dhe metoda e "kutinë e bardhë"

software testimi (SW) të identifikuar boshllëqet, mangësitë dhe gabimet në kodin që duhet të adresohen. Ajo gjithashtu mund të përkufizohet si procesi i vlerësimit funksionalitetin dhe saktësinë e softuerit me ndihmën e analizës. Metodat themelore të integrimit dhe testimin e aplikacioneve software dhe për të siguruar cilësi të është për të provuar specifikim, dizajn dhe kodim, vlerësim besueshmërinë, vlefshmërinë dhe verifikimin.

metodat

Qëllimi kryesor i testimit software - konfirmim i cilësisë së sistemit të softuerit përmes aplikacioneve sistematike debugging nën kushte të kontrolluara me kujdes për të përcaktuar plotësinë e tyre dhe saktësinë, si dhe zbulimin e gabimeve të fshehura.

Metodat e verifikimit (testimit) programe mund të ndahet në statike dhe dinamike.

Ish përfshijnë joformal, monitorimin dhe rishikimin teknike, inspektimin, hap pas hapi, analizë të auditimit, si dhe analiza statike rrjedhës së të dhënave dhe menaxhimin.

Teknikat dinamike janë:

  1. testimi bardhë kuti. Ky është një studim i detajuar i logjikës së brendshme dhe strukturën e programit. Është e nevojshme për njohurinë e kodit burim.
  2. Testimi Black box. Kjo teknikë nuk kërkon ndonjë njohuri për punët e brendshme të aplikimit. Ne e konsiderojmë vetëm aspektet themelore të sistemit, nuk ka lidhje me ose që bashkëpunon me disa të strukturës së saj të brendshme logjike.
  3. Metoda gri kuti. Ajo kombinon dy qasjet e mëparshme. Debugging me njohuri të kufizuara të funksionimit të brendshëm të aplikimit është e kombinuar me njohuri të aspekteve themelore të sistemit.

testimi transparent

Scripts E bardhë metodë kuti duke përdorur testin kontrolluar strukturën e dizajnit procedurale. Kjo teknikë i lejon për të zbuluar gabimet e zbatimit, të tilla si sistemi i dobët kodit të menaxhimit duke analizuar një pjesë të punët e brendshme të softuerit. Këto metoda e testimit janë të aplikueshme për integrimit, Module dhe sistemit nivelet. Kontrollor duhet të ketë qasje në kodin burimor dhe e përdorin atë për të gjetur se cilat njësi sillet papërshtatshme.

Testimi i programeve me të bardhë-kuti ka përparësitë e mëposhtme:

  • Kjo lejon për të zbuluar një gabim në kodin e fshehur duke hequr linjat e panevojshme;
  • përdorimin e efekteve anësore;
  • Mbulimi maksimal është arritur duke shkruar një skenar test.

disavantazhet:

  • Procesi me kosto të lartë, që kërkon Rregullues të kualifikuar;
  • shumë rrugë mbeten të pashkelura për shkak kontroll të plotë të të gjitha gabimet e mundshme të fshehura është shumë kompleks;
  • disa të kodit do të kalojë pa u vënë re.

testimi kuti e bardhë është referuar disa herë duke testuar një kuti transparente ose të hapur, strukturore, testimin logjik, bazuar në kodin e burimit, dhe arkitekturës logjikë.

Varietetet kryesore:

1) testimin e kontrollit të rrjedhjes - strategji strukturore duke përdorur modelin e rrjedhës së kontrollit program dhe si favorizimi mënyra më e thjeshtë për pak më komplekse;

2) Dega është projektuar për të studiuar debugging çdo mundësi (të vërteta ose false) e çdo operator të kontrollit, i cili përfshin gjithashtu një zgjidhje të kombinuar;

3) testimi i rrugës kryesore, e cila lejon kontrollor për të krijuar projekt masë logjike kompleksitetit procedurale për izolimin e një grup bazë të rrugëve të ekzekutimit;

4) kontrollimin e të dhënave lumë - strategjinë e kontrollit rrjedhën e kërkimeve nga ana e Annotations numërimin informacion në lidhje me ad dhe përdorimin e variablave të programit;

5) ciklet e testimit - përqendruar plotësisht në funksionimin e duhur të proceseve ciklike.

debugging sjelljes

testimi kuti e zezë trajton software si një "kuti e zezë" - informacion në lidhje me punët e brendshme të programit nuk janë të numëruara, dhe kontrolluar vetëm aspektet themelore të sistemit. Në këtë rast, kontrollor duhet të dini arkitekturën e sistemit, pa qasje në kodin burimor.

Avantazhet e kësaj qasjeje:

  • efikasitetit për segment të madh kod;
  • lehtësinë e kontrollor perceptimit;
  • Perspektiva përdorues është i ndarë në mënyrë të qartë nga perspektiva zhvilluesi (programues dhe kontrollor janë të pavarur nga njëri-tjetri);
  • Krijimi më i shpejtë i testit.

Testimi software metodë kuti e zezë ka të metat e mëposhtme:

  • vërtetë kryer një numër të zgjedhur të rasteve të testit, duke rezultuar në mbulimin e kufizuar;
  • mungesa e një specifikim të qartë të vështirë për të zhvilluar Scripts provë;
  • efikasitetit të ulët.

Emra të tjerë për këtë teknologji - sjelljes, jo-transparent, testimin funksional dhe metoda debugging e një kuti të mbyllur.

Kjo kategori mund të përfshijë teknikat e mëposhtme testimi software:

1) ekuivalent me ndarje, të cilat mund të zvogëlojë sërë të dhënave të testit të dhënat modul software input është prishur poshtë në pjesë të veçanta;

2) Analiza e vlerës kufitare përqendrohet në verifikimin e kufijve apo vlerave ekstreme kufi - minimum, maksimum, dhe vlerat tipike të gabimit;

3) fuzzing - përdoret për të zbatuar kërkimin nga inputting gabime ose të korruptuar poluiskazhennyh të dhënave në mënyrë automatike ose gjysmë-automatike;

4) akuza të shkakësisë - një teknikë të bazuar në krijimin e grafikët dhe përcaktimin e marrëdhënieve në mes të veprimit dhe arsyet e tij: identitet, mohim, logjik OR dhe logjike AND - katër personazhet kryesore, duke shprehur marrëdhëniet në mes të shkakut dhe pasojës;

5) Verifikimi i vargjeve Puna aplikohet për problemet me një zonë relativisht të vogël të dhëna tejkalon mundësinë e kërkimit të shumta;

6) testimin gjitha palë - teknikën ku një grup i vlerave testit perfshin gjitha kombinimet e mundshme binare e çdo çift të parametrave të dhëna;

7) Tranzicioni debugging shtet - një teknikë e dobishme për të kontrolluar statusin e makinës, si dhe për të lundruar nëpër GUI përdoruesit.

Testimi Black box: Shembuj

teknikë black-box është i bazuar në specifikimet, dokumentacionit, dhe përshkrimet e software interface apo sistem. Përveç kësaj, ju mund të përdorni modele (formale apo joformale), përfaqëson sjelljen që pritet të softuerit.

Në mënyrë tipike, kjo metodë është përdorur për debugging ndërfaqen e përdoruesit dhe kërkon ndërveprim me aplikimin duke futur një mbledhjen e të dhënave dhe rezultatet - nga ekrani, nga raportet ose printuara.

Kontrollor, pra, ndërvepron me software nga inputting, duke vepruar mbi çelsin, butonat ose ndërfaqet e tjera. Zgjedhja e të dhënave hyrëse, rendi i administrimit apo rend i veprimeve mund të çojë në një numër të madh të përgjithshëm të kombinime, siç tregohet në shembullin e mëposhtëm.

Sa shumë teste duhet të bëni në mënyrë që të kontrolloni të gjitha vlerat e mundshme për 4 dritareve flamurit dhe fushën e një-off, të vendosur kohën në sekonda? Në llogaritjen shikim të parë është e thjeshtë: 4 fusha me dy shtetet e mundshme - 24 = 16, i cili duhet të shumëzohet me numrin e pozitave të mundshme nga 00 në 99, dmth 1600 testeve të mundshme.

Megjithatë, kjo llogaritje është e gabuar: Ne mund të përcaktojë se fusha me dy pikë mund të përmbajë edhe një hapësirë, dmth ajo përbëhet nga dy pozicioneve alfanumerike dhe mund të përfshijnë karaktere alfanumerike, karaktere të veçanta, hapësira, etj Kështu, në qoftë se .... Sistemi është një kompjuter 16-bit, kthehet 216 = 65.536 një për secilën pozitë në rezultante 4294967296 raste provë që duhet të shumëzohet me 16 kombinimet e flamuj që i jep një total prej 68,719,476 736. në qoftë se ata kryejnë në 1 provë për të dytë, cont përgjithshme testimi olzhitelnost është 2 177,5 vjet. Për sistemet e 32 ose 64-bit, kohëzgjatja edhe më shumë.

Prandaj, ekziston një nevojë për të zvogëluar këtë periudhë në një nivel të pranueshëm. Kështu, teknikat duhet të aplikohen për të zvogëluar numrin e rasteve të testit, pa reduktimin e fushës së testimit.

ekuivalenca ndarje

Ekuivalenca ndarje është një metodë e thjeshtë e aplikueshme për çdo ndryshore që janë të pranishme në software, nëse ajo është input ose output vlerat, karakteri, numerike, etj .. Ajo është e bazuar në parimin se të gjitha të dhënat nga një ekuivalent i ndarjes do të trajtohen në të njëjtën mënyrë dhe nga udhëzime njëjtë.

Gjatë testimit, të zgjedhur një përfaqësues i çdo ndarje të veçantë ekuivalenca. Kjo ju lejon për të reduktuar në mënyrë sistematike numrin e rasteve të mundshme të testit, pa humbje e mbulimit të komandave dhe funksionet.

Një tjetër pasojë e kësaj ndarje është për të reduktuar shpërthimin kombinator midis variablave të ndryshme dhe reduktimin e rasteve lidhur testit.

Per shembull, ne (1 / x) 1/2 duke përdorur tre sekuenca të dhënave, tre ndarje ekuivalent:

1. Numrat gjitha pozitive do të trajtohen në të njëjtën mënyrë dhe duhet të japin rezultate të sakta.

2. Numrat gjitha negative janë trajtuar në të njëjtën mënyrë me të njëjtin rezultat. Kjo është e gabuar, sepse rrënja e një numri negativ është imagjinare.

3. Zero do të trajtohen veç e veç dhe të japin gabim "ndarje nga zero" e. Ky është një seksion me një vlerë të vetme.

Kështu, ne shohim tre seksione të veçanta, njëra prej të cilave është reduktuar në një vlerë të vetme. Nuk është një seksion "e saktë", e cila jep rezultate të besueshme, dhe dy "e gabuar" me rezultate të pasakta.

Analiza Vlera kufitare

Përpunimit në kufijtë e ndarjes ekuivalent mund të bëhet ndryshe nga sa pritej. Hetimi i vlerave kufi - një metodë e njohur e analizuar sjelljen e programeve në fusha të tilla. Kjo teknikë e bën të mundur për të identifikuar gabime të tilla:

  • përdorimi i pavend i operatorëve relacionale (<,>, =, ≠, ≥, ≤);
  • Gabim i vetëm;
  • probleme në cikle dhe iterations,
  • Lloje të gabuara ose madhësia e variablave të përdorura për ruajtjen e informacionit;
  • kufizimet artificiale që lidhen me lloje të të dhënave dhe variablave.

testimi i tejdukshëm

Metoda gri kuti rrit mbulimi test, ju mund të përqëndrohen në të gjitha nivelet e vështira të sistemit me anë të kombinimit të teknikave të zezë dhe të bardhë.

Duke përdorur këtë teknikë, kontrollor për zhvillimin e vlerave të testit duhet të ketë njohuri të strukturave të të dhënave të brendshme dhe algoritme. Shembuj të metodave të testimit gri-kuti janë si më poshtë:

  • Modeli arkitektonike;
  • Unified Modeling Language (UML);
  • Modeli i shtetit (makinë e fundme të shtetit).

Në metodën e kutisë gri për të zhvilluar test rasteve studiuar module në kodet inxhinierike të bardhë, dhe testi i vërtetë është kryer në ndërfaqet e programeve të teknologjisë zeza.

Këto metoda testimi kanë përparësitë e mëposhtme:

  • Kombinimi i avantazheve kuti Teknik bardhë dhe e zezë;
  • Tester është i bazuar në interface dhe specifikimet funksionale, dhe jo kodin burimor;
  • Rregullues mund të bëjë raste të mëdha provë;
  • kontroll është bërë nga pikëpamja e përdoruesit, jo projektuesi i programit;
  • krijuar zhvillimin porosi provë;
  • objektiviteti.

disavantazhet:

  • Mbulimi testi është e kufizuar, sepse nuk ka qasje në kodin burimor;
  • kompleksiteti i defekteve në aplikimet e shpërndara;
  • shumë mënyra mbeten të pashkelura;
  • nëse software zhvilluesi ka nisur testin, atëherë hetimi i mëtejshëm mund të jetë e tepruar.

Një tjetër emër për teknikat kuti gri - debugging tejdukshëm.

Kjo kategori përfshin metoda të tilla të testimit:

1) orthogonal grup - përdorimi i një mesin e gjitha kombinimet e mundshme;

2) debugging matrix përdorur gjendjen e dhëna programit;

3) Inspektimi regresive kryer në ndryshimet e reja të softuerit;

4) Testi template që analizon projektimin dhe arkitekturën e një aplikim të mirë.

Krahasimi i teknikave të testimit software

Përdorimi i metodave dinamike të çon në një shpërthim kombinator të numrit të testeve që duhet të zhvillohen, zbatuar dhe kryer. Çdo teknikë duhet të përdoret në mënyrë pragmatike, duke marrë kufizimet e saj në konsideratë.

Metoda e vetme e vërtetë nuk ekziston, ekziston vetëm ata që janë më të përshtatshme për kontekstin specifik. inxhinieri strukturore të na lejojë për të gjetur një kod të padobishme ose me qëllim të keq, por ata janë komplekse dhe nuk janë të zbatueshme për programet e mëdha. Metodat bazë të specifikimeve - të vetmit që janë në gjendje të identifikojnë kodin mungon, por ata nuk mund të identifikojë një i huaj. Disa teknika janë më të përshtatshme për një nivel të caktuar provë, tipi gabim apo kontekstin se të tjerët.

Më poshtë janë dallimet kryesore në mes të tri teknikat e testimit dinamike - është dhënë një tabelë krahasim në mes të tri format e debugging software.

aspekt

Metoda e Black Box

Metoda e gri kuti

Metoda White-box

Disponueshmëria e informacionit mbi përbërjen e programit

Shqyrton vetëm aspektet themelore të

njohuri të pjesshme në lidhje me strukturën e brendshme të programit

qasje të plotë në kodin e burimit

Shkalla e fragmentimit të programit

ulët

qendror

i lartë

Kush prodhon debugging?

Dhënë fund përdoruesit, testers dhe zhvilluesit

Dhënë fund përdoruesit, zhvilluesve dhe debuggers

Zhvilluesit dhe testers

bazë

Testimi është i bazuar në situatat e jashtme të emergjencës.

Diagramet bazës së të dhënave, diagramet e rrjedhës së të dhënave, gjendja e njohurive të brendshëm të algorithm dhe arkitekturës

Pajisja e brendshme është plotësisht i vetëdijshëm

Shkalla e mbulimit

Më pak gjithëpërfshirës dhe kërkon një minimum të kohës

qendror

Potencialisht më i plotë. Që ha kohë

Data dhe kufijtë e brendshëm

Debug vetëm nga gjykimi dhe gabim

Mund të kontrollohet domains të dhënave dhe kufijve të brendshëm, në qoftë se ata janë të njohur

Të mirë domains të dhënat e provave dhe kufijtë e brendshëm

Përshtatshmëria testimi algorithm

jo

jo

po

automatizim

Metodat automatik i testimit software është shumë më e lehtësuar procesin e inspektimit, pavarësisht mjedisit teknik dhe kontekstin e. Ata janë përdorur në dy raste:

1) të Automate detyrat e lodhshme, të përsëritura ose të përpiktë të tilla si krahasim file në disa mijëra rreshta në mënyrë që të nxjerrë kohë për përqendrimin e kontrollor pikave më të rëndësishme;

2) për kryerjen ndjekja apo detyra që nuk mund të kryhen lehtësisht nga njerëz të tilla si verifikimi performancës apo analizës përgjigje kohë që mund të matet në hundredths e një të dytë.

Mjetet Test mund të klasifikohen në mënyra të ndryshme. Ndarja tjetër është e bazuar në detyrat që ata mbështesin:

  • menaxhimin e testimit, e cila përfshin mbështetjen e projektit të menaxhimit, versionet, konfigurimin, analizën e riskut, ndjekja test, gabime, defekte, dhe mjetet e raportimit;
  • menaxhimin e kërkesave, e cila përfshin kërkesat e magazinimit dhe specifikimet, kontrolloni ato për plotësinë dhe paqartësie, prioritet e tyre dhe gjurmueshmërinë e çdo test;
  • shqyrtim kritik dhe analiza statike, duke përfshirë monitorimin e rrjedhës, dhe detyrat, regjistrimin dhe ruajtjen e komenteve, zbulimin defekt dhe të planifikuara lidhje menaxhimit korrigjimet në listat kontrolluese dhe rregullave, ndjekja dokumentet burimore komunikimit dhe kodin e analiza statike për të zbuluar defektet, sigurimin e pajtueshmërisë me standardet e kodit të shkruarit, Analiza e strukturave dhe varësi, llogaritja e parametrave metrikë e kodit dhe arkitekturës. Përveç kësaj, përdorni hartuesit, analizues, gjeneratorë dhe marrëdhëniet ndër-referenca;
  • modelimit, e cila përfshin mjetet për sjelljen e biznesit modelimit dhe provë e modeleve;
  • zhvillimit te testit siguron gjenerimin e të dhënave është pritur në bazë të kushteve dhe modeleve ndërfaqen e përdoruesit dhe kodin, të menaxhuar për të krijuar ose modifikuar fotografi dhe bazat e të dhënave, mesazheve, të dhënave validation në bazë të rregullave të menaxhimit, analizat statistikore të kushteve dhe rreziqeve;
  • një pikëpamje kritike duke futur të dhënat përmes një grafike user interface, API, command line duke përdorur krahasuesve për të ndihmuar në identifikimin teste të suksesshme dhe të pasuksesshme;
  • Mbështetja mjedis debugging që ju lejon për të zëvendësuar të humbur hardware ose software, në h. Vol. pajisjet e Simulimit të bazuar në mesin e caktuar e prodhimit, Emulators terminalit, telefonat celularë dhe pajisjet e rrjetit, mjedisin për të kontrolluar gjuhë, sistemet operative dhe hardware duke zëvendësuar komponentët mungojnë shoferin, fiktive modulet, etj, si dhe mjetet për kapjen dhe modifikimin e OS kërkon kufizimin CPU simulimi, RAM, ROM, ose në rrjetin .;
  • .. Një krahasim i dosjeve të të dhënave, bazat e të dhënave, kontrolloni rezultatet e pritura gjatë dhe pas testi është i plotë, përfshirë dinamike dhe krahasimi grumbull, Automatic "Oracles";
  • veshja matje për lokalizimin e rrjedhjet e kujtesës dhe sjelljen e saj të kontrollit të pasakta sistemit duke vlerësuar në bazë aplikimet ngarkesës gjeneruese load simuluar, bazat e të dhënave, rrjetet apo serverat në një skenar realist të rritjes për matjen, analizën dhe verifikimin e raportit burimeve të sistemit;
  • sigurisë;
  • testimin e performancës, ngarkesës dhe analiza dinamike;
  • mjete të tjera, në vëll. h. për të kontrolluar drejtshkrimin dhe sintaksën, sigurinë e rrjetit, disponueshmërinë e të gjitha faqeve të internetit dhe të tjera.

perspektivë

Me trendet në industrinë e softuerit, procesi i debugging është gjithashtu subjekt për të ndryshuar. Ka metoda të reja të testimit software, të tilla si një arkitekturë të shërbimit-orientirovannae (SOA), teknologjive wireless, shërbime të lëvizshme, dhe kështu me radhë. E., kanë hapur rrugë të reja të testimit software. Disa nga ndryshimet që priten në industrinë e gjatë disa viteve të ardhshme janë të shënuara më poshtë:

  • testers do të ofrojë një model të lehtë që zhvilluesit do të jetë në gjendje për të kontrolluar kodin tuaj;
  • zhvillimi i metodave të testimit, duke përfshirë shikimin dhe modelimin e programeve në një fazë të hershme, do të eliminojë shumë nga kontradiktat;
  • Prania e përgjimeve të shumta testit do të shkurtojë kohën e zbulimit të gabimit;
  • Analyzer statike dhe zbulimi do të thotë që do të përdoren më gjerësisht;
  • Përdorimi i matricave minerale, të tilla si mbulimi i specifikimit, qëllimi i modelit dhe kodit mbulimit të do të përcaktojë zhvillimin e projekteve;
  • Mjete kombinator lejojë testers për të përcaktuar fushat prioritare për debugging;
  • testers do të sigurojë një shërbime më intuitive dhe të vlefshme në të gjithë procesin e zhvillimit të softuerit;
  • debuggers mund të krijojnë mjetet dhe metodat e testimit software shkruar në dhe të bashkëveprojmë me një shumëllojshmëri të gjuhëve të programimit;
  • Ekspertët debugging do të trajnohen më shumë profesionalisht.

Do të zëvendësohet nga një metoda të reja të biznesit të orientuar testimit software, për të ndryshuar mënyrën e ndërveprimit me sistemet dhe informacionin që ata ofrojnë ndërsa reduktimin e rreziqeve dhe rritjen përfitimet e ndryshimeve të biznesit.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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