DatoriProgrammatūra

Testēšanas programmatūra metodes un salīdzināt tos. Testēšanas metode "melnās kastes", testēšana un metode "balto kasti"

Testēšanas programmatūra (SW) noteikt nepilnības, trūkumus un kļūdas kodu, kas ir jārisina. To var arī definēt kā procesu novērtēšanā funkcionalitāti un pareizību programmatūras ar analīzes palīdzību. Pamatmetodes integrācijas un testēšanas programmatūras lietojumprogrammu, un nodrošina to kvalitāti, lai pārbaudītu specifikācijas, dizains un kodēšana, uzticamību novērtēšanu, validāciju un verifikāciju.

metodes

Galvenais mērķis ir programmatūras testēšana - apstiprinājums par programmatūras sistēmas kvalitāti, sistemātiski atkļūdošanas pieteikumu rūpīgi kontrolētos apstākļos, lai noteiktu to pilnīgumu un precizitāti, kā arī atklāt slēpto kļūdas.

Par pārbaudes metodēm (testēšanas) programmas var iedalīt statisko un dinamisko.

Bijusī ietver neformālu, uzraudzību un tehnisko pārbaudi, pārbaudi, analīzi soli pa solim, revīzijas, kā arī statisko datu plūsmas analīzi un vadību.

Dinamiskās metodes ir:

  1. White kastes testēšana. Šis ir detalizēts pētījums par iekšējās loģikas un programmas struktūru. Tas ir nepieciešams, lai zināšanas par avota kodu.
  2. Melnā kaste testēšana. Šī metode neprasa nekādas zināšanas par iekšējo darbību pieteikumu. Mēs uzskatām, ka tikai pamata aspektus sistēmas, kas nav saistīts ne ar dažiem no tās iekšējās loģiskā struktūrā.
  3. Grey box metode. Tā apvieno divas iepriekšējās pieejas. Atkļūdošanas ar ierobežotām zināšanām par iekšējo darbību pieteikums ir apvienota ar zināšanām par pamata aspektiem sistēmā.

caurspīdīgs pārbaude

Baltās kastes metode, izmantojot testu skriptus kontrolē struktūru procesuālās dizainu. Šī metode ļauj atklāt īstenošanas kļūdas, piemēram, slikta pārvaldība kodu sistēmu, analizējot daļu iekšējo darbību programmatūru. Šīs testa metodes ir piemērojamas integrācijas, moduļa un sistēmas līmeņos. Testeris ir jābūt piekļuvei pirmkodu, un izmantot to, lai noskaidrotu, kuras vienības uzvedās neatbilstoši.

Testēšanas programmas, baltā kastē ir šādas priekšrocības:

  • Tas ļauj atklāt kļūdu slēpto kodu, atceļot nevajadzīgus līnijas;
  • izmantošana blakusiedarbību;
  • maksimālais segums ir sasniegts, rakstot testa skriptu.

trūkumi:

  • augsto izmaksu process, kas prasa kvalificētu atkļūdotājs;
  • daudzi ceļi nav izpētīti, jo rūpīga pārbaude visu iespējamo slēpto kļūdas, ir ļoti sarežģīta;
  • daži kodu tiks nodota neievērota.

Balta kaste testēšana dažreiz minēts, pārbaudot caurspīdīgu vai atvērtu lodziņu, strukturālā, loģisko pārbaudi, pamatojoties uz pirmkodu, un loģika arhitektūru.

Galvenās šķirnes:

1) testēšanas plūsmas kontrole - strukturālo stratēģija, izmantojot programmā kontroles plūsmas modeli un kā dodot vairāk vienkāršus veidus mazāk sarežģītāku;

2) filiāle ir izveidota, lai pētītu atkļūdošanas katru iespēju (patiess vai nepatiess), katra vadības operators, kas ietver arī kombinēto risinājumu;

3) pārbaudes galvenā ceļa, kas ļauj testeri izveidot loģiski sarežģītība pasākums procesuālo projektu izolēšanai bāzes komplektu izpildes ceļus;

4) pārbaudot datu plūsmu - ar plūsmas kontroles stratēģiju izpēti, ko anotācijas rēķināties informāciju par reklāmu un izmantot programmas mainīgajiem;

5) cikli testēšana - pilnībā vērsta uz pareizu ekspluatāciju Cikliskās procesus.

uzvedības atkļūdošana

Melnā kaste testēšana izturas programmatūru kā "melnā kaste" - informācija par iekšējo darbību programmas netiek skaitītas, un pārbauda tikai galvenos aspektus sistēmas. Šādā gadījumā testeris jāzina sistēmas arhitektūru bez piekļuves pirmkodu.

Šīs pieejas priekšrocības:

  • efektivitāte lielā kodu segmentā;
  • vieglu uztvere testeri;
  • lietotāja perspektīva ir skaidri nodalīta no izstrādātāju perspektīvām (programmētājs un testētājs ir neatkarīgi viens no otra);
  • straujāka izveide testu.

Testēšanas programmatūra melnā kaste metodei ir šādi trūkumi:

  • patiešām veica izvēlieties daudzumu testpiemēru, kā rezultātā ierobežotā pārklājumu;
  • trūkst skaidru specifikāciju grūti izveidot testu skriptus;
  • zemu efektivitāti.

Citi nosaukumi šo tehnoloģiju - uzvedības, necaurspīdīga, funkciju testēšanu un atkļūdošanu metode slēgtā kastē.

Šajā kategorijā var ietvert šādas programmatūras testēšanas metodes:

1) ekvivalents nodalījumā, kas var samazināt kopumu testēšanas datiem, kā datu ievades programmatūras modulis ir sadalīts atsevišķās daļās;

2) robežvērtība analīze ir vērsta uz pārbaudes robežām vai galējām robežvērtības - minimālo, maksimālo un tipiskās vērtības kļūdas;

3) fuzzing - izmanto, lai īstenotu meklēšanu ievadot kļūdas vai bojāti dati poluiskazhennyh automātiskajā vai daļēji automātiskā režīmā;

4) skaits par cēloņsakarības - tehniku, kas balstīti uz radīšanu diagrammās un nosakot attiecības starp rīcību un tās iemesliem: identitāti, noliegums, loģiski vai loģiski, un - četri galvenie varoņi, izteiktu sakarību starp cēloni un sekām;

5) pārbaude taisnleņķa masīvi piemēro problēmas ar salīdzinoši nelielu ieejas zonā pārsniedz iespējamību plaša pētījumu;

6) testējot visus pārus - Ar šo paņēmienu kopums testa vērtībām, satur visus iespējamos bināro kombinācijas katra ievades parametru pārim;

7) atkļūdošana valsts pāreju - tehnika var pārbaudīt statusu mašīnu, kā arī, lai virzītos caur GUI lietotājam.

Melnā kaste testēšana: piemēri

melnā kaste metode ir balstīta uz specifikācijām, dokumentāciju un aprakstus par programmatūras interfeisu vai sistēmas. Turklāt, jūs varat izmantot modeļus (formālas vai neformālas), kas pārstāv paredzamo uzvedību programmatūru.

Raksturīgi, ka šī metode tiek izmantota, lai atkļūdošanas lietotāja interfeisu un ir nepieciešama mijiedarbība ar ko ievieš datu vākšanas un rezultātu pieteikumu - no ekrāna, no ziņojumiem vai drukātu.

Testētājs Tāpēc mijiedarbojas ar programmatūru, kuru ievadot, iedarbojoties uz slēdži, pogas vai citas saskarnes. No ieejas datiem izvēle, secība administrācijas vai secību darbībām var radīt lielu kopējo skaitu kombināciju, kā parādīts piemērā.

Cik testi jāveic, lai pārbaudītu visas iespējamās vērtības par 4 logiem karoga un vienreizējam laukā iestatiet laiku sekundēs? Pēc pirmā acu uzmetiena aprēķiniem ir vienkāršs: 4 lauki ar diviem iespējamiem statusiem - 24 = 16, kas ir reizināts ar vairākiem iespējamiem pozīcijas no 00 līdz 99, t.i., 1600 iespējamiem testiem.

Tomēr šis aprēķins ir nepareizs: mēs varam noteikt, ka divpunktu lauks var saturēt arī telpu, ti, tas sastāv no divām burtciparu pozīcijas, un var ietvert burtus un ciparus, īpašas rakstu zīmes, atstarpes utt Tātad, ja .... sistēma ir 16 bitu dators, pagrieziet 216 = 65536 vienam katrai pozīcijai izrietošajās 4294967296 pārbaudes gadījumos, kas ir jāreizina ar 16 kombinācijām karogiem, kas dod pavisam 68,719,476 736. Ja viņi veic at 1 testa sekundē, kopējais cont olzhitelnost testēšana ir 2 177.5 gadi. Par 32 vai 64 bitu sistēmās, ilgumu vēl vairāk.

Tāpēc ir nepieciešams, lai samazinātu šo periodu līdz pieņemamam līmenim. Tādējādi metodes būtu jāpiemēro, lai samazinātu daudzumu testpiemēru nesamazinot apjomu testēšanai.

līdzvērtība šķērssienu

Līdzvērtīgā nodalījums ir vienkārša metode, kas ir piemērojama jebkuriem faktoriem, kas ir šo programmatūru, vai ievades vai izvades vērtībām, simbolisks, skaitļu un citi. Tā ir balstīta uz principu, ka visi dati no viena ekvivalentu nodalījumā tiks apstrādāta tādā pašā veidā un ar pašus norādījumus.

testēšanas laikā, tika izvēlēts viens pārstāvis no katras īpaši ekvivalences partition. Tas ļauj Jums sistemātiski samazināt iespējamo testpiemēru bez nosegts komandas un funkcijas zudumu.

Vēl viens šīs sadalīšanas sekas ir samazināt kombinatorisks sprādzienu starp dažādiem mainīgajiem un saistītā samazināšanu testpiemēru.

Piemēram, (1 / x) 1/2, izmantojot trīs datu sekvences, trīs līdzvērtīga partition:

1. Visi pozitīvi skaitļi tiks apstrādāti tādā pašā veidā, un jāsniedz pareizus rezultātus.

2. Visi negatīvie skaitļi tiek apstrādāti tādā pašā veidā, ar tādu pašu rezultātu. Tas ir nepareizs, jo sakne negatīvu skaitli ir iedomātas.

3. Zero tiks apstrādāti atsevišķi un dod kļūda "Dalīšana ar nulli". Šī ir sadaļa ar vienu vērtību.

Tātad, mēs redzam trīs atsevišķas sadaļas, no kurām viena ir samazināts līdz vienu vērtību. Ir viens "pareizs" sadaļā, kas dod ticamus rezultātus, un divi "nepareizi" ar nepareiziem rezultātiem.

robeža vērtības analīze

Apstrāde uz robežām līdzvērtīgu šķērssienu var darīt savādāk, nekā gaidīts. Izmeklēšana robežvērtību - labi zināms metode analizēt uzvedību programmatūras šādās jomās. Šī metode ļauj noteikt šādas kļūdas:

  • nepareiza lietošana relāciju operatoru (<,> =, ≠, ≥, ≤);
  • viena kļūda;
  • problēmas cikliem un atkārtojumiem,
  • nepareizi veidu vai lielumu mainīgo izmanto informācijas uzglabāšanai;
  • mākslīgie ierobežojumi, kas saistīti ar datu tipiem un mainīgie.

caurspīdīgs testēšana

pelēks lodziņš metode palielina testa segumu, jūs varat koncentrēties uz visiem sarežģītiem līmeņu sistēmu, apvienojot melno un balto tehniku.

Izmantojot šo metodi, testeris attīstībai testa vērtībām ir jābūt zināšanām par iekšējo datu struktūras un algoritmi. Piemēri pelēks-box testēšanas metodes, ir šādi:

  • arhitektūras modelis;
  • Unified Modeling Language (UML);
  • valsts modelis (galīgs automāts).

Ar metodi pelēkā lodziņa, lai izstrādātu testēšanas studēja moduļus baltās inženierzinātņu kodus, un faktisko pārbaudi veic uz saskarnēm melno tehnoloģiju programmās.

Šīs testēšanas metodes ir šādas priekšrocības:

  • kombinācija priekšrocībām tehniķis baltās un melnās kastes;
  • Tester ir balstīta uz saskarni un funkcionālās specifikācijas, un nevis pirmkodu;
  • atkļūdotājs var veikt lielas testa gadījumiem;
  • pārbaude ir izgatavots no viedokļa lietotājs, nevis dizainers programmas;
  • izveidot pielāgotas testa attīstību;
  • objektivitāte.

trūkumi:

  • testa segumu ir ierobežots, jo nav piekļuve pirmkodu;
  • sarežģītība defekti izplata programmas;
  • daudzi veidi nav izpētīti;
  • ja programmatūras izstrādātājs ir uzsākusi pārbaudi, tad turpmāka izmeklēšana var būt pārmērīga.

Vēl viens vārds pelēkā lodziņa paņēmieniem - caurspīdīga debugging.

Šajā kategorijā ietilpst šādas testēšanas metodes:

1) perpendikulāras masīvs - izmantošana apakšgrupā visas iespējamās kombinācijas;

2) matrica atkļūdošana izmantojot stāvokli programmas datiem;

3) regresīvā pārbaude veikta jaunajām izmaiņām programmatūrā;

4) veidni tests, kas analizē dizainu un arhitektūru, labu pieteikumu.

Salīdzinājums programmatūras testēšanas metožu

Par dinamiskās metodes izmantošana noved pie kombinatorisks eksplozijā testu skaitu, kas nepieciešams, lai tiktu izstrādāta, ieviesta un veikts. Katru metodi jāizmanto pragmatiski, ņemot vērā tās ierobežojumi.

Vienīgā taisnība metode neeksistē, ir tikai tie, kas ir labāk piemēroti konkrētajā kontekstā. Strukturālā inženierija ļauj mums, lai atrastu bezjēdzīgi vai ļaunprātīgu kodu, bet tie ir sarežģīti un nav piemērojami lieliem programmām. Metodes, pamatojoties uz specifikācijām - vienīgie, kas spēj identificēt trūkstošo kodu, bet tās nevar noteikt savrupnieks. Dažas metodes ir vairāk piemērotas īpaši testa līmeni, kļūdas tipam vai kontekstā, nekā citi.

Zemāk ir galvenās atšķirības starp trim dinamiskās testēšanas metodes - tiek dota salīdzinājuma tabulu starp trim veidiem atkļūdošanas programmatūru.

aspekts

Melnā kaste metode

Grey box metode

Balta-box metode

Informācijas pieejamība par sastāvu programmas

Pārbauda tikai pamataspekti

Daļēja zināšanas par iekšējo struktūru programmas

Pilna piekļuve pirmkodu

Pakāpe fragmentācija programmas

zems

galvenais

augsts

Kas ražo atkļūdošanu?

Galalietotājiem testētājiem un izstrādātājiem

Galalietotājiem izstrādātājiem un debuggers

Izstrādātājiem un testētājiem

bāze

Testēšana ir balstīta uz ārējiem ārkārtas situācijām.

Diagrammas datu bāze, datu plūsmu diagrammas, valsts iekšējās zināšanas par algoritmu un arhitektūra

Iekšējais Ierīce ir pilnībā apzinās

Pakāpe pārklājuma

Mazāk visaptverošu un prasa vismaz laika

galvenais

Potenciāli visplašākais. Laikietilpīga

Dati un iekšējās robežas

Tikai atkļūdot ar izmēģinājumu un kļūdu

Var pārbaudīt datu domēnus un iekšējās robežas, ja tie ir zināmi

Labākais tests datu domēni un iekšējās robežas

Piemērotības pārbaudes algoritms

automatizācija

Automātiskās metodes programmatūras testēšanas ir daudz vienkāršo procesu pārbaudi, neatkarīgi no tehniskā vide un kontekstā. Tos izmanto divos gadījumos:

1) lai automatizētu garlaicīgs atkārtotus vai smalkas uzdevumus, piemēram, failu salīdzināšanu ar vairākiem tūkstošiem rindās, lai atbrīvotu laiku koncentrāciju testera svarīgākas punkti;

2) lai veiktu uzskaiti vai uzdevumus, kas var cilvēkiem nav viegli veikti, piemēram, darbības pārbaude vai analīzes reakcijas laiks, kas var izmērīt sekundes simtdaļas.

Pārbaudes līdzekļi var klasificēt dažādos veidos. Nākamā nodaļa ir balstīta uz uzdevumiem viņi atbalsta:

  • testēšanas vadību, kas ietver projekta vadības atbalsts, versijas, konfigurācijas, riska analīzi, testa uzskaiti, kļūdas, defekti un ziņošanas instrumentus;
  • prasības, vadība, kas ietver uzglabāšanas prasībām un specifikācijām, pārbaudiet tos pilnīgumu un neskaidrības, tās prioritātes un katra testa izsekojamību;
  • kritisku pārskatu un statisko analīzi, ieskaitot plūsmas uzraudzību un uzdevumi, ierakstīšanai un uzglabāšanai komentārus, defektu noteikšanas un plānotajām korekcijām vadības saites uz lapas un noteikumiem, uzskaites komunikācijas avota dokumentu un kodu statisko analīzi, lai atklātu defektus, kas nodrošina atbilstību standartiem rakstot kodu, analīze struktūru un atkarības aprēķins metrisko parametru kodu un arhitektūru. Turklāt, izmantojiet kompilatori, analizatori, ģeneratoru un attiecības savstarpējām norādēm;
  • modelēšana, kas ietver rīkus modelēšanas biznesa uzvedību un testa modeļus;
  • tests attīstība nodrošina paaudzes datu paredzēts, pamatojoties uz apstākļiem un lietotāja interfeisa modeļiem un kodu, izdodas izveidot vai modificēt failus un datu bāzes, ziņojumapmaiņas datu validācija, pamatojoties uz noteikumiem par pārvaldības, statistiskās analīzes nosacījumiem un riskiem;
  • kritisku skatu, ievadot datus, izmantojot grafisko lietotāja saskarnes, API, komandrindas izmantojot salīdzinošos, lai palīdzētu identificēt veiksmīgus un neveiksmīgi testus;
  • atbalsts atkļūdošana vidi, kas ļauj jums, lai aizstātu trūkstošo aparatūru vai programmatūru, kas sēj. st. simulācijas iekārtām, pamatojoties uz konstatēto izejas apakškopu, termināla emulatori, mobilos telefonus un tīkla iekārtu, vidi, lai pārbaudītu valodas, operētājsistēmas un aparatūras aizstājot trūkstošos komponentus draiveri, fiktīva moduļi, uc, kā arī instrumenti notveršanā un pārveidojot OS pieprasa CPU simulācijas noilguma, RAM, ROM, vai tīkls .;
  • .. salīdzinājums datu failus, datu bāzes, pārbaudīt gaidītos rezultātus, tās laikā un pēc testa pabeigšanas, t.sk. dinamisks un partijas salīdzināšana, Automātiski "autoritātes";
  • pārklājums mērījumus par lokalizāciju atmiņas noplūdes un nepareizu tās kontrole uzvedības novērtēšana sistēma simulētajos slodze ģenerēšanas ielādes lietojumprogrammas, datu bāzes, tīklu vai serveros reālistisku scenāriju izaugsmes mērīšanas, analīzes un pārbaudes sistēmas resursu ziņojumu;
  • drošība;
  • veiktspējas testēšana, slodzes un dinamiskā analīze;
  • citi instrumenti, kas sēj. h., lai pārbaudītu pareizrakstību un sintaksi, tīkla drošību, pieejamību visiem mājas lapām un citi.

perspektīva

Ar mainīgajām tendencēm programmatūras nozarē, process atkļūdošana var mainīties arī. Ir jaunas metodes programmatūras testēšanas, piemēram, pakalpojumu orientirovannae arhitektūras (SOA), bezvadu tehnoloģijas, mobilo pakalpojumu un tā tālāk. E, ir pavērusi jaunus veidus testēšanas programmatūru. Dažas izmaiņas, kas sagaidāma nozarē tuvākajos gados, ir uzskaitītas zemāk:

  • testētājiem būs viegla modeli, izstrādātāji varēs pārbaudīt savu kodu;
  • attīstība testēšanas metodes, tostarp apskatei un modelēšanas programmas sākumposmā, būs novērst daudzas pretrunas;
  • klātbūtne no vairākiem aizturēšanas gadījumu testa saīsinās laiku kļūdu atklāšanai;
  • Statiskā analizatoru un noteikšanas līdzekļus, lai tiktu plašāk izmanto;
  • izmantošana minerālu matricu, piemēram, pārklājumu specifikācijas noteiks apjoms modeļa un kodu segumu projektu attīstību;
  • kombinatorisks rīki ļauj testētājiem, lai noteiktu prioritārās jomas atkļūdošana;
  • testētāji nodrošināt intuitīvāku un vērtīgus pakalpojumus visā programmatūras izstrādes procesā;
  • debuggers var izveidot rīkus un programmatūras testēšanas metodes rakstīts un mijiedarbojas ar dažādiem programmēšanas valodas;
  • Atkļūdošanas speciālisti būs daudz profesionāli apmācīti.

Tiks aizstāts ar jaunu biznesa orientētas programmatūras testēšanas metodes, lai mainītu to, kā mijiedarbības ar sistēmu, un to sniegtā informācija, vienlaikus samazinot risku un palielināt ieguvumus no biznesa izmaiņām.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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