Cyfrifiaduron, Meddalwedd
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:
- profion blwch gwyn. Mae hon yn astudiaeth fanwl o'r rhesymeg mewnol a strwythur y rhaglen. Mae angen gwybodaeth am y cod ffynhonnell.
- 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.
- 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