CyfrifiaduronMeddalwedd

Dulliau o feddalwedd profi a'u cymharu. dull profi o brofi "blwch du" ac yn y dull o "blwch gwyn"

Meddalwedd Profi (SW) nodi bylchau, gwendidau a gwallau yn y cod y mae angen rhoi sylw iddynt. Gall hefyd gael ei ddiffinio fel y broses o werthuso ymarferoldeb a chywirdeb y meddalwedd gyda chymorth y dadansoddiad. dulliau sylfaenol o integreiddio a phrofi cymwysiadau meddalwedd a sicrhau ansawdd yn profi'r fanyleb, dylunio a chodio, asesu dibynadwyedd, dilysu a gwirio.

dulliau

Prif bwrpas profi meddalwedd - cadarnhad o ansawdd system feddalwedd drwy geisiadau debugging systematig dan amodau rheoledig yn ofalus i bennu eu cyflawnrwydd a chywirdeb, yn ogystal â chanfod camgymeriadau cudd.

Mae'r dulliau dilysu rhaglenni (profi) gellir ei rhannu yn statig a deinamig.

Mae'r cyntaf yn cynnwys anffurfiol, monitro ac adolygu technegol, arolygu, gam wrth gam dadansoddiad, archwilio, yn ogystal â dadansoddiad llif data statig a rheoli.

Technegau Dynamic yw:

  1. profion blwch gwyn. Mae hon yn astudiaeth fanwl o'r rhesymeg mewnol a strwythur y rhaglen. Mae angen gwybodaeth am y cod ffynhonnell.
  2. profion blwch du. Nid yw'r dechneg yn gofyn am unrhyw wybodaeth am weithrediad mewnol y cais. Rydym yn ystyried dim ond yr agweddau sylfaenol ar y system, heb fod yn gysylltiedig â neu sy'n gysylltiedig â rhai o'i strwythur rhesymegol mewnol.
  3. Dull blwch llwyd. Mae'n cyfuno dau ddull blaenorol. Debugging gyda gwybodaeth gyfyngedig o'r weithrediad mewnol y cais yn cael ei gyfuno â gwybodaeth am agweddau sylfaenol ar y system.

profion tryloyw

Mae'r dull blwch ddefnyddio sgriptiau profion gwyn rheoli strwythur y dyluniad gweithdrefnol. Mae'r dechneg hon yn caniatáu i ddatgelu gwallau gweithredu, megis system cod rheoli gwael trwy ddadansoddi yn rhan o weithrediad mewnol y meddalwedd. Mae'r dulliau profi yn berthnasol i'r lefelau integreiddio, modiwl a system. Rhaid i'r profwr yn cael mynediad at y cod ffynhonnell ac yn ei ddefnyddio i ganfod pa uned ymddwyn yn amhriodol.

Profi rhaglenni gan gwyn-blwch wedi y manteision canlynol:

  • Mae'n caniatáu i ganfod camgymeriad yn y cod cudd trwy gael gwared ar linellau diangen;
  • y defnydd o sgîl-effeithiau;
  • cwmpas mwyaf posibl yn cael ei gyflawni drwy ysgrifennu sgript prawf.

anfanteision:

  • broses cost uchel, sy'n gofyn am dadfygiwr medrus;
  • mae llawer o lwybrau yn parhau i fod heb ei archwilio oherwydd gwirio trylwyr o'r holl wallau cudd posibl yn gymhleth iawn;
  • Bydd rhai o'r cod yn cael ei basio heb i neb sylwi.

cael ei alw'n brofion blwch gwyn weithiau drwy brofi tryloyw neu agor y blwch, mae'r strwythurol profi, rhesymegol, yn seiliedig ar y cod ffynhonnell, a phensaernïaeth rhesymeg.

Y prif fathau:

1) profi'r rheoli llif - strategaeth strwythurol gan ddefnyddio'r model llif rheoli rhaglen ac yn ffafrio ffyrdd mwy syml i lai mwy cymhleth;

2) Mae'r gangen wedi ei gynllunio i astudio debugging pob dewis (gwir neu gau) o bob gweithredydd rheoli, sydd hefyd yn cynnwys ateb cyfunol;

3) brofi y prif lwybr, sy'n caniatáu i'r profwr i sefydlu prosiect gweithdrefnol fesur cymhlethdod rhesymegol ar gyfer ynysu set sylfaenol o lwybrau gweithredu;

4) gwirio llif data - y strategaeth rheoli llif o waith ymchwil gan yr anodiadau cyfrif wybodaeth am y ad a defnyddio'r newidynnau rhaglen;

5) cylchoedd o brofi - canolbwyntio'n llawn ar weithrediad cywir o brosesau cylchol.

debugging ymddygiadol

profion blwch du yn trin y feddalwedd fel "blwch du" - nid yw gwybodaeth am y weithrediad mewnol y rhaglen yn cael eu cyfrif, a'u gwirio dim ond yr agweddau sylfaenol ar y system. Yn yr achos hwn, mae angen i'r profwr i adnabod y bensaernïaeth system heb fynediad at y cod ffynhonnell.

Manteision y dull hwn:

  • effeithiol ar gyfer segment Cod mawr;
  • rhwyddineb profwr canfyddiad;
  • safbwynt y defnyddiwr yn cael ei wahanu yn glir o safbwynt datblygwr (rhaglennydd a profwr yn annibynnol ar ei gilydd);
  • mwy o brawf creu cyflym.

Mae meddalwedd Profi dull blwch du yr anfanteision canlynol:

  • yn wir perfformio nifer dethol o achosion prawf, gan arwain at sylw cyfyngedig;
  • diffyg manyleb clir anodd datblygu sgriptiau profion;
  • effeithlonrwydd isel.

Enwau eraill ar gyfer y dechnoleg hon - ymddygiadol, nad ydynt yn dryloyw, profion swyddogaethol a dull debugging o flwch caeëdig.

Gall categori hwn gynnwys y technegau profi meddalwedd canlynol:

1) sy'n cyfateb i balis, a all leihau y set o ddata profion fel data modiwl meddalwedd mewnbwn yn cael ei dorri i lawr yn rhannau ar wahân;

2) Dadansoddiad Gwerth terfyn yn canolbwyntio ar ddilysu terfynau neu werthoedd terfyn eithafol - y lleiaf, mwyaf, a gwerthoedd nodweddiadol o gamgymeriadau;

3) fuzzing - a ddefnyddir i weithredu'r chwilio drwy fewnbynnu camgymeriadau neu lygru poluiskazhennyh data mewn modd awtomatig neu led-awtomatig;

4) cyfrif o achosiaeth - techneg sy'n seiliedig ar y graffiau creu a penderfynu ar y berthynas rhwng y camau gweithredu a'i resymau: hunaniaeth, negyddu, rhesymegol a rhesymegol NEU A - y pedwar prif gymeriadau, gan fynegi y berthynas rhwng achos ac effaith;

5) Gwirio araeau orthogonol cymhwyso i broblemau gydag ardal mewnbwn gymharol fach fwy na'r posibilrwydd o ymchwil gynhwysfawr;

6) profi pob pâr - techneg lle set o werthoedd prawf yn cynnwys yr holl gyfuniadau deuaidd posibl pob pâr o baramedrau mewnbwn;

7) debugging wladwriaeth pontio - techneg ddefnyddiol ar gyfer gwirio statws y peiriant, yn ogystal ag i lywio drwy'r GUI defnyddiwr.

profion blwch du: Enghreifftiau

techneg du-blwch yn seiliedig ar y manylebau, dogfennau, a disgrifiadau o'r rhyngwyneb meddalwedd neu system. Yn ogystal, gallwch ddefnyddio modelau (ffurfiol neu anffurfiol), sy'n cynrychioli ymddygiad a ddisgwylir gan y meddalwedd.

Yn nodweddiadol, mae'r dull hwn yn cael ei ddefnyddio ar gyfer debugging rhyngwyneb defnyddiwr ac yn ei gwneud yn ofynnol rhyngweithio gyda'r cais trwy gyflwyno casgliad data a chanlyniadau - o'r sgrin, o'r adroddiadau neu allbrintiau.

Mae'r profwr, felly, yn rhyngweithio gyda'r meddalwedd trwy fewnbynnu, drwy weithredu ar y switsys, botymau neu rhyngwynebau eraill. Mae'r dewis o ddata mewnbwn, gall y drefn gweinyddu neu ddilyniant o gamau gweithredu yn arwain at gyfanswm nifer fawr o gyfuniadau, fel y dangosir yn yr enghraifft ganlynol.

Faint o brofion angen iddynt eu gwneud er mwyn gwirio holl werthoedd posibl ar gyfer y 4 ffenestr faner a'r cae unwaith ac am byth, yn gosod yr amser mewn eiliadau? Ar yr olwg gyntaf cyfrifiad yn syml: 4 gaeau gyda dwy wladwriaeth posibl - 24 = 16, y mae'n rhaid ei luosi gan y nifer o swyddi posibl 00-99, hy 1600 o brofion posibl.

Fodd bynnag, y cyfrifiad hwn yn anghywir: gallwn benderfynu y gall y cae dau-bwynt hefyd yn cynnwys gofod, hy mae'n cynnwys dwy swydd alffaniwmerig a gall gynnwys nodau alffaniwmerig, nodau arbennig, mannau, ac ati Felly, os .... system yn cyfrifiadur 16-bit, trowch 216 = 65536 un ar gyfer pob safle yn y 4294967296 achosion prawf canlyniadol sydd i'w luosi â 16 o gyfuniadau o faneri sy'n rhoi cyfanswm o 68,719,476 736. Os ydynt yn perfformio ar 1 prawf yr eiliad, cyfanswm y parhad profion olzhitelnost yw 2 177.5 flynedd. Ar gyfer systemau 32 neu 64-bit, hyd hyd yn oed mwy.

Felly, mae angen lleihau'r cyfnod hwn i lefel dderbyniol. Felly, dylai'r technegau eu cymhwyso i leihau nifer yr achosion prawf heb leihau cwmpas profi.

cywerthedd parwydydd

Mae'r rhaniad cyfatebol yn ddull syml sy'n berthnasol ar gyfer unrhyw newidynnau sy'n bresennol yn y meddalwedd, boed mewnbwn neu allbwn gwerthoedd, symbolaidd, rhifol, ac eraill. Mae'n seiliedig ar yr egwyddor y bydd yr holl ddata o un sy'n cyfateb i'r rhaniad yn cael ei drin yn yr un ffordd a chan y yr un cyfarwyddiadau.

Yn ystod profion, dewis un cynrychiolydd o bob rhaniad cywerthedd penodol. Mae hyn yn eich galluogi i leihau nifer yr achosion prawf posibl yn systematig heb golli sylw o orchmynion a swyddogaethau.

Canlyniad arall ymrannu hwn yw lleihau'r ffrwydrad combinatorial rhwng y gwahanol newidynnau a'r lleihad cysylltiedig o achosion prawf.

Er enghraifft, yn (1 / x) 1/2 ddefnyddio tri dilyniannau data, tri rhaniad cyfatebol:

1. Bydd rhifau pob gadarnhaol yn cael ei drin yn yr un ffordd a dylai roi canlyniadau cywir.

2. Nifer yr holl negyddol yn cael eu trin yn yr un modd gyda'r un canlyniad. Mae hyn yn anghywir, oherwydd bod y gwraidd rhif negatif yn ddychmygol.

3. Zero yn cael eu trin ar wahân ac yn rhoi y gwall "is-adran gan sero". Mae hon yn adran sydd â gwerth sengl.

Felly, rydym yn gweld tair adran wahanol, un ohonynt yn cael ei leihau i werth sengl. Mae un adran "cywir", sy'n rhoi canlyniadau dibynadwy, a dau "anghywir" gyda chanlyniadau anghywir.

dadansoddiad gwerth terfyn

Gellir prosesu ar y ffin rhwng y rhannu cyfatebol yn cael ei wneud yn wahanol na'r disgwyl. Ymchwilio i werthoedd terfyn - dull adnabyddus o ddadansoddi ymddygiad y feddalwedd mewn ardaloedd o'r fath. Mae'r dechneg hon yn ei gwneud yn bosibl i nodi gwallau o'r fath:

  • defnydd amhriodol o weithredwyr perthynol (<,>, =, ≠, ≥, ≤);
  • Gwall sengl;
  • problemau mewn cylchoedd a iteriadau,
  • mathau anghywir neu faint newidynnau a ddefnyddiwyd ar gyfer storio gwybodaeth;
  • cyfyngiadau artiffisial sy'n gysylltiedig â mathau data a newidynnau.

profion dryloyw

Dull blwch llwyd yn cynyddu'r sylw prawf, gallwch ganolbwyntio ar yr holl lefelau anodd y system trwy gyfuniad o dechnegau du a gwyn.

Gan ddefnyddio'r dechneg hon, dylai'r profwr ar gyfer datblygu gwerthoedd prawf fod â gwybodaeth o strwythurau data mewnol ac algorithmau. Mae enghreifftiau o ddulliau profi llwyd-bocs fel a ganlyn:

  • model pensaernïol;
  • Unedig Modelu Iaith (UML);
  • model y wladwriaeth (peiriant wladwriaeth cyfyngedig).

Yn y dull y blwch llwyd i ddatblygu achosion prawf yn astudio modiwlau mewn godau peirianneg gwyn, ac prawf go iawn yn cael ei berfformio ar y rhyngwynebau y rhaglenni technoleg du.

Mae'r dulliau profi yn cael y manteision canlynol:

  • cyfuniad o fanteision blychau gwyn a du technegydd;
  • Profwr wedi ei seilio ar y rhyngwyneb a'r fanyleb swyddogaethol, ac nid y cod ffynhonnell;
  • Gall debugger wneud achosion prawf mawr;
  • siec yn cael ei wneud o safbwynt y defnyddiwr, nid y dylunydd y rhaglen;
  • creu datblygiad profion arferiad;
  • gwrthrychedd.

anfanteision:

  • sylw prawf yn gyfyngedig am nad oes mynediad at y cod ffynhonnell;
  • cymhlethdod y diffygion mewn ceisiadau a ddosbarthwyd;
  • llawer o ffyrdd yn parhau i fod heb ei archwilio;
  • os yw'r datblygwr meddalwedd wedi lansio prawf, yna gall ymchwiliad pellach yn ormodol.

Enw arall am y technegau blwch llwyd - debugging dryloyw.

Mae'r categori hwn yn cynnwys dulliau o'r fath o brofi:

1) orthogonol array - y defnydd o is-set o'r holl gyfuniadau posibl;

2) debugging matrics sy'n defnyddio cyflwr y data rhaglen;

3) arolygu atchweliadol a gynhaliwyd ar y newidiadau newydd i'r meddalwedd;

4) Prawf templed sy'n dadansoddi'r dylunio a phensaernïaeth o gais da.

Cymhariaeth o dechnegau profi meddalwedd

Mae'r defnydd o ddulliau deinamig yn arwain at ffrwydrad combinatorial o nifer y profion y mae angen eu datblygu, eu gweithredu a'u cynnal. Dylai pob dechneg yn cael ei ddefnyddio bragmataidd, gan gymryd ei gyfyngiadau i ystyriaeth.

Yr unig ddull gwir yn bodoli, dim ond y rhai sydd yn fwy addas i'r cyd-destun penodol. peirianneg strwythurol yn ein galluogi i ddod o hyd i cod ddiwerth neu'n faleisus, ond maent yn gymhleth ac nid ydynt yn berthnasol i raglenni mawr. Dulliau sy'n seiliedig ar y fanyleb - yr unig rai sydd yn gallu adnabod y cod ar goll, ond ni allant adnabod rhywun o'r tu allan. Mae rhai technegau yn fwy addas ar gyfer lefel prawf penodol, y math camgymeriad neu gyd-destun nag eraill.

Isod yw'r prif wahaniaethau rhwng y tri technegau profi deinamig - Rhoddir tabl cymhariaeth rhwng y tri math o debugging meddalwedd.

agwedd

Mae'r dull blwch du

Dull blwch llwyd

Dull White-bocs

Argaeledd gwybodaeth am gyfansoddiad y rhaglen

Yn edrych yn unig yr agweddau sylfaenol

gwybodaeth rannol am strwythur mewnol y rhaglen

Mynediad llawn at y cod ffynhonnell

Graddau'r darnio y rhaglen

isel

Central

uchel

Pwy sy'n cynhyrchu debugging?

Defnyddwyr terfynol, profwyr a datblygwyr

Defnyddwyr terfynol, datblygwyr a debuggers

Datblygwyr a brofwyr

sylfaen

Profi yn seiliedig ar y sefyllfaoedd brys allanol.

Cronfa ddata diagramau, diagramau llif data, cyflwr gwybodaeth mewnol y algorithm a phensaernïaeth

Mae'r ddyfais mewnol yn gwbl ymwybodol

Mae rhywfaint o sylw

Llai cynhwysfawr ac mae angen lleiafswm o amser

Central

O bosib y mwyaf cynhwysfawr. Cymryd llawer o amser

Data a ffiniau mewnol

Dadfygio yn unig gan brofi a methu

Gellir ei wirio parthau data a ffiniau mewnol, os ydynt yn hysbys

Mae'r parthau data prawf gorau a ffiniau mewnol

algorithm profi Addasrwydd

Nac oes

Nac oes

Ydw

awtomeiddio

dulliau awtomatig o brofi meddalwedd yn llawer symleiddio'r broses o arolygu, heb ystyried yr amgylchedd technegol a'r cyd-destun y. Maent yn cael eu defnyddio mewn dau achos:

1) i awtomeiddio tasgau diflas, ailadroddus neu manwl, megis cymharu ffeiliau i filoedd rhes er mwyn rhyddhau amser ar gyfer crynodiad y profwr pwyntiau pwysicach;

2) ar gyfer olrhain neu dasgau na ellir eu perfformio yn hawdd gan bobl fel dilysu perfformiad neu amser ymateb ddadansoddi y gellir eu mesur mewn canfed o eiliad perfformio.

Gall offer prawf gael eu dosbarthu mewn gwahanol ffyrdd. Mae'r is-adran nesaf yn cael ei seilio ar y tasgau maent yn eu cefnogi:

  • rheoli prawf, sy'n cynnwys cymorth prosiect rheoli, fersiynau, ffurfweddau, dadansoddi risg, prawf olrhain, gwallau, diffygion, ac offer adrodd;
  • rheoli gofynion, sy'n cynnwys gofynion storio a manylebau, yn eu gwirio er cyflawnrwydd ac amwysedd, eu blaenoriaeth ac olrhain pob prawf;
  • adolygiad beirniadol a dadansoddiad sefydlog, gan gynnwys monitro llif, a thasgau, cofnodi a storio sylwadau, canfod diffygion a chysylltiadau rheoli cywiriadau a gynlluniwyd i restrau gwirio a rheolau, olrhain dogfennau ffynhonnell cyfathrebu a chod dadansoddiad statig i ganfod diffygion, sicrhau cydymffurfiaeth â'r safonau ysgrifennu cod, dadansoddiad o strwythurau a dibyniaethau, cyfrifiad o baramedrau metrig y cod a phensaernïaeth. Yn ogystal, defnyddiwch crynoadyddion, dadansoddwyr, generaduron a chysylltiadau o croesgyfeiriadau;
  • modelu, sy'n cynnwys offer ar gyfer ymddygiad busnes modelu a phrofi modelau;
  • datblygu'r profion yn sicrhau gynhyrchu data disgwyliedig ar sail amodau a modelau rhyngwyneb defnyddiwr a chod, yn llwyddo i greu neu addasu ffeiliau a chronfeydd data, negeseuon, dilysu data ar sail y rheolau rheoli, dadansoddiad ystadegol o'r amodau a risgiau;
  • golwg beirniadol gan fynd i mewn i'r data drwy ryngwyneb defnyddiwr, API, llinell orchymyn graffigol gan ddefnyddio cymaryddion i helpu i nodi profion llwyddiannus ac aflwyddiannus;
  • cefnogaeth amgylchedd debugging sy'n eich galluogi i gymryd lle y caledwedd neu feddalwedd ar goll, yn Vol. h. cyfarpar Efelychu seiliedig ar is-set benderfynol allbwn, emulators terfynell, ffonau symudol ac offer rhwydwaith, yr amgylchedd ar gyfer gwirio ieithoedd, systemau gweithredu a chaledwedd drwy ddisodli'r gyrrwr cydrannau goll, ffug modiwlau, ac ati, yn ogystal ag offer ar gyfer dal a addasu'r AO yn gofyn i'r cyfyngiad CPU efelychu, RAM, ROM, neu rwydwaith .;
  • .. Mae cymhariaeth o ffeiliau data, cronfeydd data, edrychwch ar y canlyniadau a ddisgwylir yn ystod ac ar ôl y prawf wedi'i gwblhau, gan gynnwys deinamig a chymharu swp, Awtomatig "Oracles";
  • cotio mesur ar gyfer y lleoleiddio o ollyngiadau cof a system amcangyfrif ei ymddygiad rheoli anghywir o dan geisiadau llwyth cynhyrchu llwyth ffug, cronfeydd data, rhwydweithiau neu weinyddwyr mewn senario realistig o dwf ar gyfer mesur, dadansoddi a dilysu adroddiad adnoddau system;
  • diogelwch;
  • profi perfformiad, llwyth a dadansoddi dynamig;
  • offer eraill, yn Vol. h. i wirio sillafu a chystrawen, diogelwch y rhwydwaith, argaeledd holl dudalennau gwefan ac eraill.

persbectif

Gyda'r tueddiadau newidiol yn y diwydiant meddalwedd, mae'r broses o debugging hefyd yn agored i newid. Mae dulliau newydd o brofi meddalwedd, megis pensaernïaeth gwasanaeth orientirovannae (SOA), technolegau di-wifr, gwasanaethau symudol, ac yn y blaen. E., Wedi agor ffyrdd newydd o feddalwedd brofi. Mae rhai o'r newidiadau a ddisgwylir yn y diwydiant dros y blynyddoedd nesaf yn cael eu rhestru isod:

  • Bydd profwyr darparu model ysgafn y bydd datblygwyr yn gallu i wirio eich cod;
  • datblygu dulliau profi, gan gynnwys gwylio a modelu rhaglenni yn gynnar, bydd yn dileu llawer o'r wrthddywediadau;
  • Bydd presenoldeb prawf rhyng lluosog lleihau'r amser canfod gwall;
  • analyzer a chanfod Statig olygu i gael eu defnyddio yn fwy eang;
  • y defnydd o matricsau mwynau, megis darllediadau o fanyleb, bydd cwmpas y model a chod sylw yn penderfynu datblygiad prosiectau;
  • offer combinatorial caniatáu i brofwyr i benderfynu ar y meysydd blaenoriaeth ar gyfer debugging;
  • Brofwyr yn darparu gwasanaethau mwy greddfol a gwerthfawr drwy gydol y broses datblygu meddalwedd;
  • Gall debuggers greu offer a dulliau profi meddalwedd hysgrifennu mewn ac yn rhyngweithio gydag amrywiaeth o ieithoedd rhaglennu;
  • Bydd arbenigwyr debugging yn cael eu hyfforddi yn fwy proffesiynol.

A fydd yn cael ei ddisodli gan dulliau profi meddalwedd busnes-oriented newydd, i newid y ffordd o ryngweithio â'r systemau a'r wybodaeth a ddarparant tra'n lleihau risgiau a chynyddu manteision y newidiadau busnes.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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