Sissejuhatus valge kasti testimisse

Testimine on tarkvara arendamise üks olulisi osi, see tagab, et kõik vead on korrastatud ja programm töötab nii, nagu ette nähtud. Tarkvaratoote testimisel võib olla mitu sammu ja mitu protseduuri. Selles artiklis käsitleme ühte olulist lähenemisviisi testimisprotsessile - valge kasti testimine.

Mis on valge kasti testimine?

Valge kasti testimist nimetatakse ka koodialuse testimiseks, tühja kasti testimiseks, avatud kasti testimiseks ja konstruktsiooni testimiseks. Tarkvara testimise lähenemisviisi põhiidee on heita pilk sisestruktuuri ülesehitusele ja programmi koodile, et seda testida.

Valge kasti testimisel näeb testija kogu programmi koodi ja tema ülesandeks on kontrollida sisendite ja väljundite toimimist programmis. Erinevalt musta kasti testimisest, mis on rohkem keskendunud programmi funktsionaalsuse testimisele, on White Box Testing seotud programmi sisestruktuuride testimisega. Sel viisil programmi vaatamine võimaldab meil töötada disaini, kasutatavuse ja toote turvalisemaks muutmise nimel.

Nagu võite arvata, kutsuti seda valge kasti või klaaskarbi testimiseks, kuna testija näeb koodi ja muid programmi osi.

Mis eristab valge kasti testimist musta kasti testimisest

Kui olete varem katsetades varbad kallutanud, olen kindel, et olete kokku puutunud Black Boxi testimisega. Suurim erinevus White Boxi testimise ja Black Boxi testimise vahel on see, et erinevalt Black Boxi testimisest, mida tehakse kasutaja vaatevinklist, tehakse White Boxi testimist arendaja vaatenurgast.

Teisisõnu, selle asemel, et programmi väljastpoolt vaadata, näeb White Box Testing lähenemine sisemist koodi ja testib seda.

Kuidas toimub valge kasti testimine?

Valge kasti testimise protsessi saame jagada kaheks peamiseks etapiks.

1. Pakutavast koodist aru saamine

Alguses peab White Box testimise testija õppima rakenduse koodi. Arvestades asjaolu, et White Boxi testimine seisneb programmi kogu sisemise koodi mõistmises ja testimises, peaks kõigil, kelle ülesandeks on koodi testimine, olema mitte ainult head teadmised programmeerimisest, vaid tal on vaja ka keelt hästi käsitseda lähtekoodi.

Turvalisus on White Boxi testimise üks olulisi aspekte, seega peab testija oskama ka turvalise kodeerimise tavasid.

2. Testjuhtumite loomine ja täitmine

Kui testimisrühm on koodi uurinud, saavad nad hakata koodi katsetama, et kontrollida selle õiget voogu ja ülesehitust. Selle jaoks kirjutavad testijad mõne katsejuhtumi jaoks koodi, mis püüab läbida kõik programmis olevad koodiridad.

Seda saab teha ka käsitsi testimisel, mis hõlmab katse-eksituse meetodit. Testijad saavad kasutada ka mõnda automatiseeritud testimisriista, näiteks JUnit ja NUnit.

Valge kasti testimise näide

Valge kasti testimise kontseptsiooni paremaks mõistmiseks vaadake allolevat koodi:

print (int x, int y) (
int sum = x + y;
If ( sum > 0 )
Print ( "Positive", result )
Else
Print ( "Negative", result )
)

Nagu me varem arutasime, on valge kasti testimise eesmärk läbida kõik koodid harud, silmused ja avaldused. Arvestades, et saame teha 2 testjuhtumit, millest ühe puhul on mõlemad sisendid positiivsed ja teises, kus mõlemad sisendid on negatiivsed täisarvud.

Näide:

  • A = 10 ja B = 20
  • A = -10 ja B = -20

Valge kasti testimismeetodid

Üks populaarsemaid testimistehnikaid valge kasti testimiseks on koodikatet käsitlev analüüs. Selle meetodiga üritatakse testijuhtumikomplekti lüngad kõrvaldada ja see tuvastab rakenduse sektsioonid, mida testjuhtumid ei kasuta. Kui need lüngad on leitud, saame luua juhtumeid, et näha ja kontrollida kontrollimata koodi osi. Selle tulemuseks on toote lõpp poleeritum.

Järgnevalt on toodud mõned katvuse analüüsi tehnikad:

  • Lausete katvus: Selle meetodi puhul proovime kõik koodis olevad väited vähemalt ühe korra läbi käia. See tagab, et kogu kood on testitud.
  • Haru katvus: See meetod on kavandatud koodis olevate otsustuspunktide iga haru läbimiseks. See tagab, et kõiki otsuseid kontrollitakse vähemalt korra.

On ka teisi testimisvõtteid, siin on vaid mõned:

  • Tingimuse katvus: selle testimismeetodi puhul tagame, et kood hõlmab kõiki tingimusi, näiteks:

READ A, B
IF (A == 0 || B == 0)
PRINT '0'

Nagu näete, on meil siin 2 tingimust: A == 0 ja B == 0. Nüüd saavad need tingimused väärtustena TÕESE ja VÄÄRT. Üks võimalik näide võib olla:

# TC1 - A = 0, B = 110
# TC2 - A = 10, B = 0

  • Mitme tingimuse katvus: see on natuke keerukam kui viimane. Nagu võite arvata, katsetame kõiki võimalikke kombinatsioone ja kõiki võimalikke tulemusi vähemalt üks kord. Siin on üks korralik näide:

READ A, B
IF (A == 0 || B == 0)
PRINT '0'

# TC1: A = 0, B = 0
# TC2: A = 0, B = 10
# TC3: A = 110, B = 0
# TC4: A = 110, B = 5

Seega. Kahe tingimuse jaoks on vaja 4 katsejuhtumit.

Seega, kui on n tingimust, on vaja 2 n testijuhtumit.

  • Alustee testimine: Selles White Boxi testimismeetodis koostame kontrollvoolu graafiku ja arvutame siis selle tsüklomaatilise keerukuse, mis on sõltumatute radade arv. Kasutades tsüklomaatilist keerukust, leiame minimaalse arvu katsejuhtumeid, mille saame voolugraafiku iga sõltumatu tee jaoks kujundada.
  • Silmuste testimine: silmused on programmeerija relvastuses üks enim kasutatud tööriistu. Kuna need on nii paljude algoritmide keskmes, on mõistlik omada ainult silmustel põhinevat testimistehnikat. Silmuseid võib olla 3 tüüpi: lihtsad, pesastatud ja liitunud. Heidame pilgu sellele, kuidas testija käitub nende tüüpide tehnikaga:

1. Lihtsad ahelad: lihtsa kujundusega ja n suurusega ahela jaoks saame kujundada mõned katsejuhtumid, mis teevad järgmist:

  • Jätke see silmus vahele.
  • Lülitage silmus ainult üks kord.
  • Kas 2 läbimist
  • Kas teil on ükskõik mitu läbimist, mis on väiksem kui selle suurus.
  • n-1 ja n + 1 läbivad silmuse.

2. Pesastatud silmused : pesastatud aasadega koodi puhul alustame sisemisest silmusest ja läheme siis väljapoole, kuni jõuame äärepoolseima silmuseni.

3. Kinnitatud silmused: nende silmuste korral. Me kasutame üksteise järel lihtsat silmusetesti ja kui liitunud silmus pole iseseisev, saame nendega hakkama nagu pesastatud silmustega.

Eelised

Nüüd, kui oleme näinud, mis see testimismeetod on ja kuidas see töötab. Vaatame selle mõningaid plusse.

  • Valge kasti testimisel on lihtsad ja selged reeglid, et testija saaks testi tegemisest teada.
  • Valge kasti testimismeetodeid on lihtne automatiseerida, mille tulemuseks on, et arendaja peab palkama vähem testijaid ja tegema väiksemaid kulutusi.
  • See näitab kitsaskohti, mis muudab optimeerimise programmeerijatele üsna lihtsaks.
  • Testimisrühm saab oma tööga algust teha, ilma et peaks ootama, kuni arendusmeeskond UI väljatöötamise lõpule viib.
  • Kuna enamikul juhtudel on kood kaetud kõigi kooditeedega, on koodi testimine läbi käia.
  • See aitab eemaldada koodiosad, mis pole programmi funktsionaalsuse jaoks olulised.

Puudused

  • See on ressursside üsna maksustamine. Testimise tegemiseks on vaja kedagi, kes tunneks teie koodi väga hästi, et olla testimismeeskonnas ja kes on ise hea programmeerija. Seda tüüpi oskuste tase suurendab testimisega seotud kulusid.
  • Paljudel juhtudel pole koodis kõiki võimalikke tingimusi võimalik testida ajaliste või eelarvepiirangute tõttu.
  • Kuna valge kasti testimine põhineb olemasoleva koodi funktsionaalsuse kontrollimisel, ei saa te programmist puuduvat funktsionaalsust leida.
  • Kui mõni koodi osa on ümber kujundatud ja ümber kirjutatud, peavad testijad katsejuhtumid uuesti kirjutama.

Valge kasti testimisriistad

Nüüd, kui olete tutvunud valge kasti testimise eeliste, puuduste ja tehnikatega, võime heita pilgu populaarsetele tööriistadele, mida testijad saavad kasutada valge kasti testimisel.

  • JSUnit.net

See on JavaScripti testimisriist. JSUnit on osa Junitist ja selle avatud lähtekoodiga ühikute testimisraamistikust, mida saab kasutada valge kasti testimiseks. JSUnit on GNU avaliku litsentsi 2.0 alusel täielikult avatud lähtekoodiga, mis tähendab, et isegi äriliseks kasutamiseks ei pea arendaja maksma litsentsitasu.

  • CppUnit

Nii nagu JSUnit, peetakse ka CppUnit JUnit osaks. Tööriist suudab väljastada lihtteksti või XML-vormingus, sõltuvalt testija vajadusest, ja see võib luua ühikteste oma klassidega. CppUnit on litsenseeritud LGPL-i alusel.

  • Veracode

Kuigi see pole kasutamiseks tasuta, on Veracode'is mõned võimsad tööriistad, mida saab kasutada .NET, C ++, Java ja mõne muu keele testimiseks. Valge kasti testimist saab teha rakenduste jaoks, mis on loodud ka laua-, veebi- ja mobiilirakenduste jaoks.

  • NUnit

See on ühiku testimise raamistik ja see oli kirjutatud C # -ga. Tööriist toetab kõiki saadaolevaid .Net-keeli ja ka andmepõhist testi. Funktsionaalsus on tark, see võib töötada nii paralleelsel kui ka samaaegsel täitmisel ning see võib pakkuda klassiraamistikku ja testjooksurakendusi. NUnit on üks tähelepanuväärne omadus, et seda on üsna lihtne kasutada.

  • JUnit

Nagu selle nimest võib aimata, on JUnit Java-ühikute automatiseerimise tööriist. JUnit kaubik on hõlpsasti integreeritav selliste IDE-dega nagu eclipse, Macen ACT jne. See on võimeline toetama testipõhist arengut ja suudab sünkroonida olemasolevad testid ka vastloodud testidega. JUnit on täiesti avatud lähtekoodiga ja tasuta kasutamiseks igasuguste Java-arenduste jaoks.

  • CSUnit

Nii nagu Nunit, on ka CSUnit loodud toetama üksuste testimist .Net Frameworkis. See toetab selliseid keeli nagu C # ja VB.Net. CSUnit on sisseehitatud tugi faktooringu tavadele ja muud tüüpi tavadele, mida kasutatakse SDLC paindliku arendamise lähenemisviisis.

Järeldus

Testimisel on tarkvara arendamise protsessis väga oluline koht ja White Boxi testimine on väärtuslik lähenemisviis selle tegemiseks. Kuigi see testimismeetod võib olla kallis ja aeganõudev, on valge kasti testimine ainus viis veenduda, et testimisprotsessis kaeti kõik koodi osad.

White Boxi testimise kõige olulisem osa on see, kui testija on koodiga tuttav. Keegi, kelle ülesandeks on testida WBT-lähenemist, kellel pole lähtekoodi ja kasutatava programmeerimiskeelega hästi kursis, põhjustab palju probleeme. Samuti pole testimine hea mõte, sõltuvalt ainult valgest kastist, kuna see ei hõlma puuduvat funktsionaalsust. Arenduse laiendatud lähenemisviisi saavutamiseks tuleks läbi viia nii valge kasti testimine kui ka musta kasti testimine, kuna see hõlmab siis maksimaalseid vigu, defekte ja ülejäänud funktsioone, mis tuleb enne toote tarnimist lisada.

Soovitatavad artiklid

See on olnud White Boxi testimise juhend. Siin arutasime, kuidas White Boxi testimist näidete ja erinevate White Boxi testimismeetodite abil tööriistadega teostatakse. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Tarkvara testimise intervjuu küsimused
  2. Karjäär tarkvara testimisel
  3. Mängu testimise intervjuu küsimused
  4. ETL-i testimisintervjuu küsimused
  5. Koodide katvus vs testkatte | 4 parimat erinevust, mida õppida
  6. Koodide katvusriistad | 6 parimat koodi katvustööriista

Kategooria: