KomputilojProgramaro

Metodoj de testado softvaro kaj kompari ilin. Testado metodo de "nigra skatolo" testado kaj la metodo de "blanka skatolo"

Testado programaro (SW) identigi mankojn, mankoj kaj eraroj en la kodo kiu devas adresi. Ĝi povas ankaŭ esti difinita kiel la procezo de taksi la funkciadon kaj praveco de la programaro kun la helpo de la analizo. Bazaj metodoj de integriĝo kaj testado de softvaro aplikoj kaj certigi kvalito estas por testi la specifo, dezajno kaj kodigo, fidindeco takso, validación kaj konfirmo.

metodoj

La ĉefa celo de programaro testado - konfirmo de la kvalito de la programaro sistemo tra sistema depuración aplikojn sub singarde kontrolitaj kondiĉoj por determini ilian kompleteco kaj precizeco, tiel kiel la detección de kaŝitaj eraroj.

La metodoj de konfirmo (testado) programoj povas esti dividita en statika kaj dinamika.

La iama inkludas neformala, monitorado kaj teknika revizio, inspektado, paŝon post paŝo analizo, auditing, kaj ankaŭ statikaj datumoj fluas analizon kaj administrado.

Dinamikaj teknikoj estas:

  1. Blanka skatolo elprovado. Jen detala studo de la interna logiko kaj strukturo de la programo. Oni Devas scion pri la fontkodon.
  2. Nigra skatolo elprovado. Tiu tekniko ne postulas ajnan scion pri la interna funkciado de la apliko. Ni konsideras nur la bazaj aspektoj de la sistemo, ne rilatigita kun aŭ asociita kun kelkaj de ĝia interna logika strukturo.
  3. Griza kesto metodo. Ĝi kombinas du antaŭaj aliroj. Elpuriganta kun limigita scio pri la internaj funkciado de la apliko estas kombinita kun scio de la bazaj aspektoj de la sistemo.

travidebla testado

La blanka skatolo metodo uzanta testo skriptoj kontroli strukturo de la proceduraj dezajno. Tiu tekniko permesas malkaŝi efektivigo eraroj, kiel ekzemple malbona mastrumado kodo sistemo analizante parto de la interna funkciado de la programaro. Ĉi tiuj testo metodoj estas aplikebla al la integriĝo, modulo kaj sistemo niveloj. La testanto devas havi aliron al la kodo fonto kaj uzas ĝin por eltrovi kio unuo kondutas nedece.

Testado programoj de blanka-skatolo havas la sekvajn avantaĝojn:

  • Ĝi permesas detekti eraron en la kaŝita kodo forigante nenecesajn liniojn;
  • la uzo de flankaj efikoj;
  • maksimuma kovrado estas atingita per skribanta testo skribon.

malavantaĝoj:

  • alta kosto procezo, postulante sperta erarserĉilo;
  • multaj avenuoj restas neesplorita pro funda ĉeko de ĉiuj eblaj kaŝitaj eraroj estas tre kompleksa;
  • kelkaj el la kodo estos pasis nerimarkate.

Blanka skatolo elprovado estas foje referita sub elprovanta travidebla aŭ malfermita skatolo, strukturan, logika testado, bazita en la fontkodo, kaj logiko arkitekturo.

La ĉefa varioj:

1) provi la fluo kontrolo - strukturan strategio uzante la programon kontrolo fluo modelo kaj kiel favorante pli simplaj manieroj malpli pli kompleksa;

2) La branĉo estas desegnita por studi elpurigi ĉiu opcio (vera aŭ malvera) de ĉiu kontrolo operatoro, kiu ankaŭ inkludas kombinitan solvo;

3) testado de la ĉefa vojo, kiu permesas la testanto establi logika komplekseco mezuro proceduraj projekto por izoli bazo aro de ekzekuto vojojn;

4) kontrolanta la datumoj rivereto - la fluo kontrolo strategio de esploro de la komentarioj kalkuli informoj pri la anoncon kaj uzi la programon variabloj;

5) cikloj de testado - plene koncentrita sur la ĝentila funkciado de ciklaj procezoj.

kondutaj depuración

Nigra skatolo testado traktas la programaro kiel "nigra skatolo" - informoj pri la interna funkciado de la programo ne rakontas, kaj kontrolis nur la bazajn aspektojn de la sistemo. En ĉi tiu kazo, la testanto bezonas scii la sistemo arkitekturo sen aliro al la fontkodo.

Avantaĝoj de tiu aliro:

  • efikeco por grandaj kodo segmento;
  • faciligi de percepto testanto;
  • uzanto perspektivo estas klare apartigitaj de la ellaboranto perspektivoj (programisto kaj testanto estas sendependaj de unu la alian);
  • pli rapida kreo de testo.

Testado programaro nigra skatolo metodo havas la jenajn malavantaĝojn:

  • ja faris unuaranga numero de testo kazoj, rezultanta en limigita kovrado;
  • manko de klara specifo malfacile evoluigi testo skriptoj;
  • malalta efikeco.

Aliaj nomoj por ĉi tiu teknologio - kondutaj, ne-travidebla, funkcia testado kaj depuración metodo de fermita skatolo.

Ĉi tiu kategorio povas inkludi la jenajn programaro testado teknikoj:

1) ekvivalenta al vando, kiu povas redukti la aron de provo datumoj kiel enigo programaro modulo datumoj estas rompita malsupren en apartaj partoj;

2) randaj valoraj analizo centras en la konfirmo de limoj aŭ ekstrema limo valoroj - la minimumo, maksimumo, kaj tipa valoroj de eraro;

3) fuzzing - uzita por efektivigi la serĉon de inputting eraroj aŭ koruptitaj datumoj poluiskazhennyh en aŭtomata aŭ duon-aŭtomata modo;

4) grafoj de causalidad - teknikon surbaze de la kreo de grafikaĵoj kaj fiksante la rilaton inter la ago kaj ĝia kialoj: identeco, neado, logika AŬ kaj logika KAJ - la kvar ĉeffiguroj, esprimanta la rilaton inter kaŭzo kaj efiko;

5) Verification de perpendikularaj matricoj aplikata al problemoj kun relative malgranda enigo areon tre la eblecon de ĝisfunda esploro;

6) elprovanta ĉiuj paroj - teknikon kie aro de testo valoroj konsistas ĉiuj eblaj duumaj kombinaĵoj de ĉiu paro de enigo parametroj;

7) depuración stato transiro - teknikon utila por kontrolanta la statuso de la maŝino, tiel kiel navigi tra la GUI uzanto.

Nigra skatolo testado: Ekzemploj

nigra-skatolo tekniko estas bazita sur la especificaciones, dokumentado kaj priskriboj de la programaro interfaco aŭ sistemo. Krome, vi povas uzi modelojn (formala aŭ neformala), reprezentante la atendata konduto de la programaro.

Tipe, ĉi tiu metodo estas uzata por elpurigi uzantinterfaco kaj postulas interrilatadon kun la aplikaĵo enkondukante datumoj kolekto kaj rezultoj - de la ekrano, de la raportoj aŭ printouts.

La testanto do interagas kun la programaro de inputting, agante sur la ŝaltiloj, butonoj aŭ aliaj interfacoj. La elekto de enigaĵo, la ordo de administrado aŭ sinsekvo de agoj povas konduki al grandega nombro de kombinaĵoj, kiel montrita en la sekvanta ekzemplo.

Kiom da testoj devas realigi por kontroli ĉiujn eblajn valorojn por la 4 fenestroj flago kaj unu-off kampo, starigis la tempo en sekundoj? Unuavide kalkulo estas simpla: 4 kampoj kun du eblaj ŝtatoj - 24 = 16, kiu devas esti multiplikita per la nombro de eblaj pozicioj de 00 ĝis 99, tio estas: 1600 eblaj testoj.

Tamen, ĉi tiu kalkulo estas malĝusta: ni povas determini ke la du-punkto kampo povas ankaŭ enhavi spaco, te ĝi konsistas el du litercifera pozicioj kaj povas inkluzivi literciferajn signojn, specialajn karakterojn, spacojn, ktp Tiel, se .... sistemo estas 16-bita komputilo, turni 216 = 65536 unu por ĉiu pozicio en la rezulta 4294967296 testo kazoj kiuj devas esti multiplikita per 16 kombinaĵoj de flagoj kiuj donas tuta de 68.719.476 736. Se ili plenumas ĉe 1 testo por dua, la totala cont olzhitelnost testado estas 2 177.5 jaroj. Por 32 aŭ 64 bitoj sistemoj, la daŭro eĉ pli.

Sekve estas bezono por redukti ĉi tiu periodo al akceptebla nivelo. Tiel, la teknikoj estas aplikataj por redukti la nombron da testo kazoj sen reduktanta la amplekson de elprovado.

ekvivalento dispartiganta

La ekvivalenta dispartigo estas simpla metodo kiu estas aplikebla por ajna variabloj, kiuj trovigxas en la programaro, ĉu enigo aŭ eligo valoroj, simbola, nombra, kaj aliaj. Ĝi baziĝas sur la principo ke ĉiuj datumoj de unu ekvivalento de la subdisko estos traktata sammaniere kaj per la samaj instrukcioj.

Dum testado, elektita unu reprezentanto de ĉiu aparta ekvivalento dispartigo. Tiu ebligas al vi sisteme redukti la nombron de eblaj testo kazoj sen perdo de kovrado de komandoj kaj funkcioj.

Alia konsekvenco de tiu dispartiganta estas redukti la kombina eksplodo inter la malsamaj variabloj kaj la asociitaj redukto de testo kazoj.

Ekzemple en (1 / x) 1/2 uzante tri datumoj sekvencoj, tri ekvivalentaj dispartigo:

1. Ĉiuj pozitivaj nombroj estos traktita en la sama maniero kaj devus doni ĝustan rezultojn.

2. Ĉiuj negativaj nombroj estas manipulitaj same kun la sama rezulto. Tio estas malĝusta, ĉar la radiko de negativa nombro estas imaginara.

3. Nulo estos manipulita aparte kaj donu la eraro "divido per nulo". Jen sekcio kun sola valoro.

Tiel, ni vidas tri apartajn sekciojn, unu el kiu estas reduktita al ununura valoro. Ekzistas unu "ĝusta" sekcio, kiu donas fidindajn rezultojn, kaj du "malĝusta" kun malĝusta rezultoj.

randaj valoraj analizo

Procesorado de la limoj de la ekvivalenta dispartiganta povas fari alimaniere ol atendita. Esploro de limo valoroj - konata metodo de analizi la konduton de la programaro en tia areoj. Tiu tekniko ebligas identigi tiajn erarojn:

  • misuzas rilata telefonistoj (<,>, =, ≠, ≥, ≤);
  • sola eraro;
  • problemoj en cikloj kaj ripetoj,
  • malĝusta tipoj aŭ grandecon de variabloj uzitaj por stoki informon;
  • artefaritaj limigoj asociita kun datumtipoj kaj variabloj.

diafana testado

griza skatolo metodo pliigas la testo kovrado, vi povas enfokusigi ĉiuj malfacilaj niveloj de la sistemo tra kombinaĵo de nigra kaj blanka teknikoj.

Uzante ĉi tiu tekniko, la testanto por la disvolviĝo de testo valoroj devus havi scion pri internaj datumstrukturoj kaj algoritmoj. Ekzemploj de griza-skatolo testado metodoj estas:

  • arkitektura modelo;
  • Unuiĝinta Modelad-Lingvo (UML);
  • ŝtata modelo (finia stata maŝino).

En la metodo de la griza skatolo evoluigi testo kazoj studis moduloj blanke inĝenierio kodoj kaj reala testo estas farita sur la interfacoj de la nigra teknologio programoj.

Ĉi tiuj elprovanta metodojn havas la sekvajn avantaĝojn:

  • kombino de avantaĝojn teknikisto blankaj kaj nigraj skatoloj;
  • Tester estas bazita sur la interfacon kaj funkcia specifo, kaj ne la fontkodon;
  • erarserĉilo povas fari grandan teston kazoj;
  • ĉeko estas farita el la vidpunkto de la uzanto, ne la dezajno de la programo;
  • krei kutimo testo disvolviĝo;
  • objektiveco.

malavantaĝoj:

  • testo priraportado estas limigita, ĉar ne ekzistas aliro al la fontkodo;
  • la komplekseco de la difektojn en distribuita aplikoj;
  • multmaniere restas neesplorita;
  • se la programisto lanĉis la testo, do plua esploro eble troa.

Alia nomo por la griza skatolo teknikoj - diafana depuración.

Ĉi tiu kategorio inkludas tiajn metodojn de testado:

1) perpendikulara matrico - la uzo de subaro de ĉiuj eblaj kombinaĵoj;

2) matrico depuración uzante la stato de la programo datumoj;

3) regresiga inspektado kondukita ĉe la nova ŝanĝoj al la programo;

4) ŝablono testo kiu analizas la dezajno kaj arkitekturo de bona apliko.

Komparo de programaro testado teknikoj

La uzo de dinamika metodoj kondukas al kombina eksplodo de la nombro de provoj kiuj devas esti evoluigita, implementado kaj realigitaj. Ĉiu tekniko estu uzata pragmate, prenante liaj limigoj en rakontas.

La sola vera metodo ne ekzistas, ekzistas nur tiuj, kiuj estas pli taŭgaj al la specifa kunteksto. Struktura inĝenierado permesas al ni trovi senutila aŭ malica kodo, sed ili estas kompleksa kaj ne estas aplicables al grandaj programoj. Metodoj surbaze de la especificaciones - la solaj kiuj kapablas identigi la mankanta kodo, sed ili ne povas identigi eksterulo. Iuj teknikoj estas pli taŭga por aparta testo nivelo, eraro tipo aŭ kunteksto ol aliaj.

Jen la ĉefaj diferencoj inter la tri dinamika testado teknikoj - donas komparon tablo inter la tri formoj de elpurigi programaron.

aspekto

La nigra skatolo metodo

Griza kesto metodo

Blanka-skatolo metodo

Havebleco de informo en la komponado de la programo

Ekzamenas nur la bazajn aspektojn de

Parta scio pri la interna strukturo de la programo

Plena aliro al la fontkodo

Grado de fragmentación de la programo

malaltaj

Centra

altaj

Kiu produktas depuración?

Fini uzantoj, testers kaj programistoj

Fini uzantoj, programistoj kaj debuggers

Ellaborantoj kaj testers

bazo

Testado estas bazita sur la ekstera krizo situacioj.

Diagramoj datumbazo, datumoj fluas diagramoj, stato de interna scio de la algoritmo kaj arkitekturo

La interna aparato estas plene konscia

La grado de kovrado

Malpli ampleksa kaj postulas minimumon de tempo

Centra

Potenciale la plej ampleksa. Tempo-konsumanta

Datumoj kaj internaj landlimoj

Debug nur per provo kaj eraro

Eblas esti kontrolata la datumoj domajnoj kaj internaj limoj, se ili estas konataj

La plej bona testo datumoj domajnoj kaj internaj landlimoj

Taŭgeco testado algoritmo

neniu

neniu

Jes

aŭtomatigo

Aŭtomata metodoj de programaro testado estas multe simpligi la procezo de inspektado, sendepende de la teknika medio kaj la kunteksto de la. Ili estas uzataj en du kazoj:

1) por aŭtomatigi la tede, repetitivo aŭ skrupula taskoj kiel ekzemple dosiero komparo al pluraj mil vicoj por liberigi tempon por koncentriĝo de la testanto pli gravaj punktoj;

2) por elfaranta sekvado aŭ taskojn kiuj ne povas esti facile farita de homoj kiel ekzemple efikeco konfirmo aŭ analizo respondo tempo kiu povas esti mezurita en centonoj de sekundo.

Testa iloj povas klasifiki en malsamaj manieroj. La sekva divido estas bazita sur la taskoj ili subtenas:

  • testo administrado, kiu inkluzivas projektmastrumado subteno, versioj, agordoj, risko analizo, testo sekvado, eraroj, mankoj, kaj raportado iloj;
  • postuloj administrado, kiu inkluzivas stokado postuloj kaj specifoj, kontrolu ilin por kompleteco kaj ambigüedad, ilia prioritato kaj la trazabilidad de ĉiu testo;
  • kritika revizio kaj statika analizo, inkluzive de fluo monitorado kaj taskoj, registradon kaj stokado de komentoj, difekto detekto kaj planis korektoj mastrumado ligas al checklists kaj reguloj, spuri komunikado fonto dokumentojn kaj kodon statika analizo por detekti difektojn, certigante la plenumo de la normoj de skribo kodo, analizo de strukturoj kaj dependencajoj, kalkulo de la metra parametroj de la kodo kaj arkitekturo. Krome, uzu kompililoj, analiziloj, generatoroj kaj rilatoj de kruco-referencoj;
  • modelado, kiu inkluzivas ilojn por modelado negoco konduto kaj elprovi la modeloj;
  • testo disvolviĝo certigas la generacio de datumoj atendita surbaze de kondiĉoj kaj uzantinterfaco modelojn kaj kodo, sukcesis krei aŭ modifi dosierojn kaj datumbazoj, mesaĝado, datumoj validigo surbaze de la reguloj de mastrumado, statistika analizo de la kondiĉoj kaj riskojn;
  • kritika vidpunkto enmetante la datumojn tra grafika uzantinterfaco, API, komandlinio uzante comparadores helpi identigi sukcesaj kaj malsukcesaj provoj;
  • subteno depuración medio kiu permesas anstataŭi la mankantajn aparataro aŭ programaro, en Vol. h. Simulado teamoj bazitaj en la decidita produktadon subaro, emuladores de fina stacio, poŝtelefonoj kaj reto teamo, la medio por kontrolanta lingvoj, mastrumaj sistemoj kaj aparataro anstataŭigante la mankanta komponantojn ŝoforo, fikcia moduloj, ktp, kaj ankaŭ ilojn por kaptado kaj modifante la VIN petas la CPU simulado limigo, RAM, ROM, aŭ reto .;
  • .. Komparo de datumoj dosieroj, datumbazoj, kontrolu la atendita rezultoj dum kaj post la testo estas kompleta, incl dinamika kaj batch komparo, Aŭtomata "orakoloj";
  • kovrante mezurado por la localización de memoro fugoj kaj malĝusta lia kontrolo konduto taksanta sistemo sub simulita ŝarĝo generanta ŝarĝo aplikoj, datumbazoj, retoj aŭ serviloj en realisma scenaro de kresko por mezurado, analizo kaj konfirmo de sistemaj rimedoj raporto;
  • sekureco;
  • agado testado, ŝarĝo kaj dinamika analizo;
  • aliaj iloj, en Vol. h. por kontroli la ortografion kaj la sintakso, reto sekureco, la havebleco de tuta retejo paĝojn kaj aliaj.

perspektivo

Kun la ŝanĝo de tendencoj en la industrio de la programaro, la procezo de depuración estas ankaŭ temo por ŝanĝi. Estas novaj metodoj de programaro testado, kiel servo-orientirovannae arkitekturo (SOA), sendrataj teknologioj, telefonoj servoj, kaj tiel plu. E., Ĉu malfermis novajn vojojn de testado programaro. Kelkaj el la ŝanĝoj kiuj atendas en la industrio dum la venontaj jaroj estas listigitaj malsupre:

  • testers provizos malpeza modelo kiun programistoj povos kontroli viajn kodo;
  • evoluo de testado metodoj, inkluzive de spektado kaj modeli programojn je frua stadio, estos elimini multajn el la kontraŭdiroj;
  • ĉeesto de pluraj interkaptoj testo mallongigos la tempo de eraro malkaŝo;
  • Statika analizilo kaj detección signifas esti pli vaste uzata;
  • la uzo de mineralaj matricoj, kiel ekzemple priraportado de la specifo, la medio de la modelo kaj kodo kovrado determinos la evoluo de projektoj;
  • kombina iloj permesas testers por determini la prioritato areoj por depuración;
  • testers provizos pli intuicia kaj valora servoj tra la programaro disvolviĝo procezo;
  • debuggers povas krei iloj kaj programaro testado metodoj skribitaj en kaj interagante kun diversaj programlingvoj;
  • Elpuriganta fakuloj estos pli profesie trejnitaj.

Estos anstataŭita de nova negoco orientita programaro testado metodoj, por ŝanĝi la vojon de interago kun la sistemoj kaj la informoj ili provizas dum reduktante riskoj kaj pliigante la profitojn de la negoco ŝanĝoj.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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