KompiuteriaiPrograminė įranga

Programinės įrangos testavimo metodai ir jų palyginimas. Juodosios dėžės testavimas ir baltos dėžės testavimas

Programinės įrangos testavimas (programinė įranga) parodo kodo trūkumus, trūkumus ir klaidas, kurių reikia pašalinti. Jis taip pat gali būti apibrėžiamas kaip analizės programinės įrangos funkcionalumo ir teisingumo vertinimo procesas. Pagrindiniai programinės įrangos integravimo ir testavimo metodai užtikrina programų kokybę ir apima specifikacijų, dizaino ir kodo patikimumo įvertinimą, patvirtinimą ir tikrinimą.

Metodai

Pagrindinis programinės įrangos testavimo tikslas yra patvirtinti programinės įrangos paketo kokybę sistemingai derinti programas kruopščiai kontroliuojamomis sąlygomis, nustatyti jų išsamumą ir teisingumą bei aptikti paslėptąsias klaidas.

Bandymų (bandymų) programų metodai gali būti suskirstyti į statinius ir dinaminius.

Pirmasis apima neformalią, kontrolę ir techninę peržiūrą, patikrinimą, nuoseklią analizę, auditą, taip pat statistinę duomenų srauto ir valdymo analizę.

Dinaminiai metodai yra tokie:

  1. Baltos dėžės testavimas. Tai išsamus vidinės logikos ir programos struktūros tyrimas. Tam reikia žinoti šaltinio kodą.
  2. Juodosios dėžės testavimas. Šis metodas nereikalauja jokių žinių apie vidinį programos veikimą. Mes apsvarstome tik pagrindinius sistemos aspektus, kurie nėra susiję arba mažai susiję su jo vidine logine struktūra.
  3. Pilkojo langelio metodas. Sujungia ankstesnius du metodus. Derinimas su ribotomis žiniomis apie vidinį programos veikimą derinamas su žiniomis apie pagrindinius sistemos aspektus.

Skaidrus bandymas

Balto langelio metodas naudoja procedūrinio projekto valdymo struktūros bandymo scenarijus. Šis metodas leidžia jums nustatyti įgyvendinimo klaidas, pvz., Blogą kodų valdymą, analizuojant programinės įrangos dalies vidines veiklas. Šie bandymų metodai taikomi integracijos, modulinio ir sistemos lygmenyse. Testeris turi turėti prieigą prie šaltinio kodo ir, naudodamas jį, išsiaiškinti, kuris blokas elgiasi netinkamai.

Programų testavimas naudojant balto langelio metodą turi tokius privalumus:

  • Leidžia aptikti paslėpto kodo klaidą, kai ištrinate nereikalingas eilutes;
  • Galimybė naudoti šalutinį poveikį;
  • Didžiausia aprėptis pasiekiama rašant bandymo scenarijų.

Trūkumai:

  • Brangus procesas, reikalaujantis kvalifikuoto debugerio;
  • Daugelis takų liko neištirtos, nes išsamus visų galimų paslėptų klaidų patikrinimas yra labai sudėtingas;
  • Kai kurie trūkstami kodai bus nepastebėti.

"White-box" testavimas kartais taip pat vadinamas skaidriais arba atviro langelio bandymais, struktūriniais, loginiais bandymais, šaltinio testais, architektūra ir logika.

Pagrindinės veislės:

1) srauto kontrolės testavimas yra struktūrinė strategija, kuri naudoja programos valdymo srautą kaip modelį ir teikia pirmenybę paprastesniems keliams per mažesnį skaičių sudėtingesnių;

2) filialo derinimas yra skirtas patikrinti kiekvieno valdymo operatoriaus kiekvieną pasirinktį (teisingą ar klaidingą), kuri taip pat apima bendrą sprendimą;

3) pagrindinio kelio bandymas, kuris leidžia testeriui nustatyti procedūrinio projekto loginį sudėtingumą, skirtą pagrindiniam vykdymo keliams rinkti;

4) duomenų srauto tikrinimas - kontrolės srauto tyrimų strategija, anotacinė grafika su informacija apie programos kintamųjų deklaravimą ir naudojimą;

5) ciklų testavimas - yra visiškai orientuotas į teisingą ciklinių procedūrų vykdymą.

Elgesio atkūrimas

Juodosios dėžės testavimas programinę įrangą laiko kaip "juodą dėžutę" - neatsižvelgiama į informaciją apie vidinį programos darbą, tikrinami tik pagrindiniai sistemos aspektai. Tokiu atveju testeris turi žinoti sistemos architektūrą be prieigos prie šaltinio kodo.

Šio požiūrio privalumai:

  • Didelio kodo segmento efektyvumas;
  • Testerio suvokimo paprastumas;
  • Vartotojo perspektyva aiškiai atskirta nuo kūrėjo perspektyvos (programuotojas ir testeris yra nepriklausomi vienas nuo kito);
  • Greitesnis bandymų kūrimas.

Programų testavimas naudojant juodosios dėžės metodą turi tokius trūkumus:

  • Iš tikrųjų atliekamas pasirinktas bandymų scenarijų skaičius, todėl ribotas aprėptis;
  • Dėl aiškios specifikacijos nebuvimo sunku parengti bandymų scenarijus;
  • Mažas efektyvumas.

Kiti šio metodo pavadinimai yra elgesio, nepermatomas, funkcinis testavimas ir derinimas pagal uždaro lango metodą.

Ši kategorija apima šiuos programinės įrangos testavimo metodus:

1) lygiavertis skaidinys, kuris gali sumažinti bandymų duomenų rinkinį, nes programos modulio įvesties duomenys yra suskirstyti į atskiras dalis;

2) krašto analizė yra orientuota į ribų arba kraštutinių ribinių verčių patikrinimą - minimalus, maksimalus, klaidingas ir tipiškas vertes;

3) fuzzing - naudojamas siekiant nustatyti įgyvendinimo klaidas, įvedant iškraipytus ar pusiau suskaidytus duomenis automatiniu ar pusiau automatiniu režimu;

4) priežastinių ryšių grafikai - metodika, pagrįsta grafų kūrimu ir ryšys tarp veiksmo ir jo priežasčių: tapatybė, negacija, loginis OR ir loginis AND yra keturi pagrindiniai simboliai, išreiškianti priežastis ir pasekmes tarpusavio priklausomybę;

5) ortogoninių masyvų patikrinimas, taikomas problemoms su santykinai nedideliu įvesties plotu, viršijantis išsamaus tyrimo galimybes;

6) visų porų bandymas - metodas, kurio testų verčių rinkinys apima visus galimus atskirus kiekvienos įvesties parametrų poros derinius;

7) derinimo būklės perėjimai yra metodas, naudingas norint patikrinti valstybės aparatą, taip pat naršyti per grafinę vartotojo sąsają .

Juodosios dėžės testavimas: pavyzdžiai

Juodosios dėžės technologija remiasi specifikacijomis, dokumentais, programinės įrangos sąsajos ar sistemos aprašymais. Be to, galima naudoti modelius (formalius arba neformalus), kurie atspindi numatomą programinės įrangos elgseną.

Paprastai šis derinimo metodas naudojamas vartotojo sąsajoms ir reikalauja sąveikos su programa, įvedant duomenis ir renkant rezultatus - ekrane, ataskaitose ar spaudiniuose.

Testeris tokiu būdu sąveikauja su programine įranga, įvesdamas duomenis, veikdamas perjungiklius, mygtukus ar kitas sąsajas. Įvesties duomenų pasirinkimas, jų įvedimo tvarka ar veiksmo seka gali lemti milžinišką bendrą kombinacijų skaičių, kaip parodyta šiame pavyzdyje.

Kiek testų reikia atlikti, kad patikrintumėte visas galimas vertes, esančias 4 langeliuose, ir vieną dvejopą padėtį, nurodydamas laiką sekundėmis? Iš pirmo žvilgsnio skaičiavimas yra paprastas: 4 laukai su dviem galimomis būsenomis - 24 = 16, kuriuos reikia padauginti iš galimų pozicijų skaičiaus nuo 00 iki 99, tai yra 1600 galimų testų.

Nepaisant to, šis skaičiavimas yra klaidingas: mes galime nustatyti, kad dviejų pozicijų laukas taip pat gali būti tuščias, ty jis susideda iš dviejų raidžių ir skaitmenų pozicijų ir gali apimti abėcėlės simbolius, specialius simbolius, tarpus ir tt Taigi, jei Sistema yra 16 bitų kompiuteris, po to kiekvienai pozicijai suteikiama 216 = 65,536 variantai, todėl 4 294 967 296 bandymų atvejai, kuriuos reikia padauginti iš 16 vėliavų kombinacijų, o tai sudaro 68 719 476 736. Jei juos atliksite Su 1 bandymo per sekundę greičiu, tada iš viso Bandymo trukmė bus 2 177,5 metų. 32 ar 64 bitų sistemoms trukmė yra dar didesnė.

Todėl reikia šį laiką sumažinti iki priimtinos vertės. Taigi, bandymų atvejų skaičiaus mažinimo būdai turėtų būti naudojami ne mažinant bandymų aprėptį.

Lygiavertis skaidinys

Ekvivalentiškas skaidymasis yra paprastas metodas, taikomas bet kuriems kintamiesiems programoje, tiek įvesties, tiek išvesties reikšmėms, simboliniam, skaitmeniniam ir kt. Jis grindžiamas principu, kad visi duomenys iš vieno lygiaverčio skaidinio bus vienodai traktuoti Tos pačios instrukcijos.

Testavimo metu vienas atstovas parenkamas iš kiekvieno apibrėžto lygtinio skaidymo. Tai leidžia sistemingai sumažinti galimų bandymų atvejų skaičių, neprarandant komandų ir funkcijų taikymo srities.

Kitas šios skaidymo pasekmės yra kombinuotojo sprogimo mažinimas tarp įvairių kintamųjų ir su tuo susijusių bandymų atvejų sumažėjimas.

Pavyzdžiui, (1 / x) 1/2 naudojamos trys duomenų sekos: trys lygiaverčiai skaidiniai:

1. Visi teigiami numeriai bus apdorojami vienodai ir turėtų pateikti teisingus rezultatus.

2. Visi neigiami numeriai bus vertinami vienodai ir turės tą patį rezultatą. Tai nėra tiesa, nes neigiamo skaičiaus šaknis yra įsivaizduojama.

3. Nulis bus apdorotas atskirai ir bus klaida "padalijant nuliu". Tai skyrius su viena verte.

Taigi, mes matome tris skirtingus skirsnius, iš kurių vienas susideda iš vienos vertės. Yra vienas "teisingas" skyrius, kuriame pateikiami patikimi rezultatai, o du - "neteisingi" su netinkamais rezultatais.

Ribinė analizė

Duomenų apdorojimas lygiaverčio pertvaros ribose gali būti atliekamas kitaip, nei tikėtasi. Ribinių verčių tyrimas yra gerai žinomas būdas analizuoti programinės įrangos elgseną tokiose srityse. Ši technika leidžia mums nustatyti tokias klaidas:

  • Piktnaudžiavimas reliaciniais operatoriais (<,>, =, ≠, ≥, ≤);
  • Atskiros klaidos;
  • Ciklų ir iteracijų problemos,
  • Neteisingi kintamųjų tipai arba dydis, naudojami informacijos saugojimui;
  • Dirbtiniai apribojimai, susiję su kintamųjų duomenimis ir tipais.

Pusiau skaidrus bandymas

Pilkojo langelio metodas padidina patikrinimo apimtį, todėl galite sutelkti dėmesį į visus sudėtingos sistemos lygius, derindami baltos ir juodos spalvos technologijas.

Naudodamas šią techniką, testavimo vertybių kūrimo testeris turi turėti žinių apie vidines duomenų struktūras ir algoritmus. Pilkos dėžės bandymo metodų pavyzdžiai:

  • Architektūros modelis;
  • Unified Modeling Language (UML);
  • Valstybės modelis (galutinis valstybinis įrenginys).

Pilkojo dėžės metodu, skirtu bandymo atvejams kurti, nagrinėjami baltojo modulio kodai, o faktinis bandymas atliekamas naudojant juodosios technologijos programos sąsajas.

Tokie bandymų metodai turi tokius privalumus:

  • Baltos ir juodos dėžės technikos privalumų derinimas;
  • Testeris remiasi sąsaja ir funkcine specifikacija, o ne šaltinio kodu;
  • Derintojas gali sukurti puikius testavimo scenarijus;
  • Patikrinimas atliekamas vartotojo, o ne programos kūrėjo požiūriu;
  • Individualių testų kūrimas;
  • Objektyvumas.

Trūkumai:

  • Bandymo apimtis yra ribota, nes nėra prieigos prie šaltinio kodo;
  • Išplatintų programų defektų aptikimo sudėtingumas;
  • Daugelis būdų išlieka neištirtos;
  • Jei programinės įrangos kūrėjas jau pradėjo testą, tolesni tyrimai gali būti nereikalingi.

Kitas pilkos spalvos lango technikos pavadinimas yra pusiau skaidrus derinimas.

Ši kategorija apima tokius bandymo metodus:

1) ortogonalinis masyvas - visų galimų kombinacijų pogrupio naudojimas;

2) matricos derinimas naudojant programos būklės duomenis;

3) regresijos patikrinimas atlikus naujus programinės įrangos pakeitimus;

4) šablono testas, kuris analizuoja kietos programos dizainą ir architektūrą.

Programinės įrangos testavimo metodų palyginimas

Visų dinaminių metodų naudojimas sukelia kombinuotą bandymų skaičiaus sprogimą, kuris turi būti plėtojamas, įgyvendinamas ir atliekamas. Kiekviena technika turi būti naudojama pragmatiškai, atsižvelgiant į jos apribojimus.

Vienintelis teisingas metodas neegzistuoja, yra tik tie, kurie yra tinkamesni konkrečiam kontekstui. Struktūriniai metodai leidžia mums rasti nenaudingą ar kenksmingą kodą, tačiau jie yra sudėtingi ir netaikytini didelėms programoms. Pagal specifikaciją grindžiami metodai yra vieninteliai, kurie gali nustatyti trūkstamą kodą, tačiau jie negali identifikuoti pašalinio asmens. Kai kurie metodai tinkamesni konkrečiam bandymų lygiui, pvz., Klaidoms ar kontekstui, nei kiti.

Toliau pateikiami pagrindiniai trijų dinaminių bandymų metodų skirtumai - atsižvelgiant į trijų formų derinimo programinės įrangos palyginimo lentelę.

Aspektas

Juodosios dėžės metodas

Pilkojo langelio metodas

Balto langelio metodas

Informacijos apie programos sudėtį prieinamumas

Analizuojami tik pagrindiniai aspektai

Dalinė vidinės prietaiso programos žinios

Pilna prieiga prie šaltinio kodo

Programos suskaidymo laipsnis

Žemas

Vidurkis

Aukštas

Kas atlieka derinimą?

Galutiniai vartotojai, bandytojai ir kūrėjai

Galutiniai vartotojai, debugeriai ir kūrėjai

Kūrėjai ir testeriai

Bazė

Testavimas remiasi išorės laisvai samdomomis situacijomis.

DB diagramos, duomenų srautų diagramos, vidinės būsenos, algoritmo ir architektūros žinios

Vidinis susitarimas yra visiškai žinomas

Apimties laipsnis

Mažiausiai išsamus ir reikalingas mažiausiai laiko

Vidurkis

Potencialiai išsamiausia. Tai trunka ilgai

Duomenys ir vidinės ribos

Paprastas derinimas bandymo ir klaidos

Galima patikrinti duomenų domenus ir vidaus sienas, jei jie yra žinomi

Geriausi bandymų duomenis domenai ir vidaus sienos

Tinkamumas bandymai algoritmas

ne

ne

taip

automatizavimas

Automatinės metodai Programinės įrangos testavimas daug supaprastinti tikrinimo procesą, nepriklausomai nuo techninės aplinkos ir konteksto. Jie naudojami dviem atvejais:

1) automatizuoti nuobodų, pasikartojančias ar kruopščiai užduotis, pavyzdžiui, failo palyginti su kelių tūkstančių eilučių, siekiant išlaisvinti laiko koncentracijos testeris daugiau svarbių punktų;

2) atlikti stebėjimo funkciją arba užduotis, kuri negali būti žmonių, lengvai atliekamas, pavyzdžiui, veiklos patikrinimo ar analizės reakcijos laikas, kuris gali būti matuojamas šimtosios sekundės.

Bandymo priemonės gali būti klasifikuojamos įvairiais būdais. Kitas skyrius remiasi užduočių jie palaiko:

  • bandymo valdymo, kuris apima projekto valdymo parama, versijas, konfigūracijos, rizikos analizę, bandymo stebėjimo, klaidas, defektus ir ataskaitų įrankius;
  • reikalavimai valdymas, kuris apima saugojimo reikalavimus ir specifikacijas, patikrinti jų išsamumą ir dviprasmybių, jų prioritetus ir kiekvieno bandymo atsekamumo;
  • kritinė apžvalga ir statinio analizė, įskaitant srautų monitoringo ir užduočių, įrašymo ir saugojimo komentarus, broką aptikimo ir planuojamų pataisymai valdymo nuorodų į kontrolinių sąrašų ir taisyklių, stebėjimo ryšio šaltiniui dokumentus ir kodo statinės analizės defektus ir užtikrinti, kad su rašymo kodas standartus, analizė struktūrų ir priklausomos teritorijos, skaičiavimas metrinių parametrų kodą ir architektūra. Be to, naudoti kompiliatorius, analizatorių, generatoriai ir santykius kryžminių nuorodų;
  • modeliavimas, kuris apima priemones, modeliuoti verslo elgesio ir išbandyti modelius;
  • Bandymo plėtros užtikrina duomenų tikimasi sąlygų ir vartotojo sąsaja modelių ir kodo pagrindu karta, sugeba sukurti ar modifikuoti failus ir duomenų bazes, pranešimų, duomenų tikrinimas dėl valdymo, statistinių duomenų analizės sąlygas ir rizikos taisyklių pagrindu;
  • kritinis požiūris įvesdami duomenis per grafinę vartotojo sąsają, API, komandinėje eilutėje, naudojant palyginamųjų padėti nustatyti sėkmingo ir nesėkmingo bandymus;
  • paramos derinimo aplinka, kuri leidžia jums pakeisti trūkstamą aparatūrą ar programinę įrangą, tūrio. val. Simulation įrangos remiantis nustatyto išėjimo pogrupyje, terminalo emuliatorius, mobiliųjų telefonų ir tinklo įrangos, už kalbas, operacines sistemas ir tikrinti aplinkos aparatūros pakeičiant trūkstamus komponentus vairuotojas, fiktyvios moduliai ir tt, taip pat įrankiai užfiksuoti ir modifikuoti OS prašo procesoriaus modeliavimas apribojimų, RAM, ROM, ar tinklą .;
  • .. duomenų failų, duomenų bazių, patikrinkite laukiamų rezultatų per ir po bandymo yra baigtas, įskaitant dinamišką ir partijos palyginimas, Automatinė "orakulai" palyginimas;
  • danga matuoti už atminties nutekėjimas lokalizavimo ir neteisingą jos kontrolė elgesys vertinant sistemos esant dirbtiniam apkrova generavimo apkrovos programų, duomenų bazių, tinklų ar serverių realistiniu scenarijumi augimo matavimo, analizės ir tikrinimo sistemos išteklių ataskaitoje;
  • saugumas;
  • kokybės tyrimai, apkrovos ir dinaminė analizė;
  • kiti įrankiai tūrio. h., patikrinti rašybą ir sintaksę, tinklo saugumą, visų svetainės puslapių ir kita prieinamumą.

perspektyva

Besikeičiančių tendencijų programinės įrangos pramonėje, derinimo procesas taip pat gali keistis. Yra naujų metodų programinės įrangos testavimo, pavyzdžiui, paslaugų orientirovannae architektūros (SOA), bevielių technologijų, mobiliųjų paslaugų ir pan. E., atvėrė naujų būdų testavimo programinės įrangos. Kai kurie pokyčiai, kurie turėtų pramonėje per ateinančius kelerius metus, yra išvardytos žemiau:

  • bandytojai suteiks lengvas modelis, kad kūrėjai galės patikrinti savo kodą;
  • plėtra bandymų metodus, įskaitant peržiūrėti ir modeliavimo programų ankstyvoje stadijoje, bus pašalinti daugelis prieštaravimų;
  • buvimas daug perėmimo bandymą trumpina klaidų aptikimo laiką;
  • Statinis analizatorius ir aptikimo reiškia būti plačiau naudojamos;
  • mineralinių matricų, tokių kaip aprėpties specifikacijos panaudojimas, modelio ir kodo aprėpties mastas nustatyti projektų vystymas;
  • kombinatoryczne įrankiai leidžia testeriai nustatyti prioritetines derinimo;
  • bandytojai suteiks daugiau intuityvus ir vertingas paslaugas visoje programinės įrangos kūrimo procesą;
  • debugery gali sukurti įrankius ir programinės įrangos testavimo metodų raštu ir bendrauja su programavimo kalbų įvairovę;
  • Derinimo ekspertai bus daugiau profesionaliai apmokyti.

Bus pakeistas naujas verslo orientuotos programinės įrangos testavimo metodų, keisti sąveiką su sistemomis kelią ir informaciją jie teikia tuo pačiu sumažinant riziką ir padidinti verslo pokyčių naudą.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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