Johdanto White Box -testaukseen

Testaus on yksi tärkeä osa ohjelmistokehitystä, se varmistaa, että kaikki virheet on selvitetty ja ohjelma toimii niin kuin aiottiin. Ohjelmistotuotteen testauksessa voi olla useita vaiheita ja useita toimenpiteitä. Tässä artikkelissa tarkastellaan yhtä tärkeätä testausprosessin lähestymistapaa, White Box -testausta.

Mikä on White Box -testaus?

Valkoisen laatikon testausta kutsutaan myös koodipohjaiseksi testaukseksi, tyhjennyslaatikon testaamiseksi, avoimen laatikon testaamiseksi ja rakennetestaamiseksi. Tämän ohjelmistotestauksen lähestymistavan perusajatuksena on tarkastella sisäisen rakenteen suunnittelua ja ohjelman koodia sen testaamiseksi.

Valkoisen ruudun testauksessa testaaja voi nähdä koko ohjelman koodin, ja hänen tehtävänä on tarkistaa tulojen ja lähtöjen toimintatapa ohjelmassa. Toisin kuin black box -testauksessa, joka keskittyy enemmän ohjelman toimivuuden testaamiseen, White Box Testing on ohjelman sisäisten rakenteiden testaaminen. Ohjelman tarkasteleminen tällä tavalla antaa meille mahdollisuuden parantaa suunnittelua, käytettävyyttä ja tehdä tuotteesta turvallisempaa.

Kuten voit arvata, sitä kutsuttiin valkoisen tai lasin laatikon testaamiseksi, koska testaaja näkee koodin ja muut ohjelman osat.

Mikä tekee White Box -testauksesta erilaisen kuin Black Box -testaus

Jos olet aikaisemmin kipittänyt varpaitasi testaamisessa, olen varma, että olet törmännyt Black Box -testaukseen. Suurin ero White Box -testauksen ja Black Box -testauksen välillä on, että toisin kuin Black Box -testauksessa, joka tehdään käyttäjän näkökulmasta, White Box -testaus tehdään kehittäjän näkökulmasta.

Toisin sanoen, sen sijaan, että tarkasteltaisiin ohjelmaa ulkopuolelta, White Box Testing -lähestymistapa näkee sisäisen koodin ja testaa sen.

Kuinka White Box -testaus suoritetaan?

Voimme jakaa White Box -testauksen prosessin kahteen päävaiheeseen.

1. Tarjoaman koodin ymmärtäminen

Aluksi White Box -testauksen testaajan on opittava sovelluksen koodi. Kun otetaan huomioon se, että White Box -testauksessa on kyse ohjelman sisäisen koodin ymmärtämisestä ja testaamisesta, jokaisella, jolla on tehtävä koodin testaus, pitäisi olla paitsi hyvä tietämys ohjelmoinnista, myös hänellä on oltava hyvä käsi kielen kanssa lähdekoodista.

Suojaus on yksi tärkeitä näkökohtia White Box -testauksessa, joten testaajan on myös oltava hyvä turvallisissa koodauskäytännöissä.

2. Testitapausten luominen ja suorittaminen

Kun testausryhmä on tutkinut koodin, he voivat alkaa testata koodia tarkistaakseen sen asianmukaisen virtauksen ja rakenteen. Tätä varten testaajat kirjoittavat koodin joillekin testitapauksille, jotka yrittävät kulkea kaikkien ohjelmassa olevien koodirivien läpi.

Se voidaan tehdä myös manuaalisessa testauksessa, johon sisältyy kokeilu ja virhe. Testaajat voivat käyttää myös joitain automatisoituja testaustyökaluja, kuten JUnit ja NUnit.

Esimerkki White Box -testauksesta

Tutustu alla olevaan koodiin ymmärtääksesi paremmin White Box -testauksen käsitettä:

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

Kuten aiemmin keskustelimme, White Box -testauksen tavoitteena on kulkea läpi kaikki koodissa olevat oksat, silmukat ja lauseet. Ottaen huomioon, että voimme tehdä 2 testitapausta, joista toisessa molemmat sisääntulot ovat positiivisia ja toisessa, joissa molemmat tulot ovat negatiivisia kokonaislukuja.

Esimerkki:

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

Valkoisen laatikon testaustekniikat

Yksi suosituimmista testausmenetelmistä valkoisen laatikon testauksessa on nimeltään koodin kattavuusanalyysi, tällä tekniikalla yritetään poistaa mahdolliset aukot testitapauskokoonpanossa ja se tunnistaa sovelluksen osia, joita testitapaukset eivät käytä. Kun nämä aukot on löydetty, voimme luoda tapauksia nähdä ja tarkistaa testaamattoman koodin osia. Tämä johtaa kiillotettuun tuotteeseen lopussa.

Seuraavassa on joitain kattavuusanalyysitekniikoita:

  • Lausekkeen kattavuus: Tässä menetelmässä yritämme kulkea kaikki koodin lauseet ainakin kerran. Tämä varmistaa, että kaikki koodi testataan.
  • Haarojen kattavuus: Tämän menetelmän on tarkoitus kulkea kunkin koodin päätöspisteiden haarassa. Tämä varmistaa, että kaikki päätökset testataan ainakin kerran.

On myös joitain muita testaustekniikoita, tässä on vain muutama:

  • Ehtojen kattavuus: Tässä testaustekniikassa varmistamme, että koodi kattaa kaikki ehdot, esimerkiksi:

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

Kuten näette, meillä on 2 ehtoa: A == 0 ja B == 0. Nyt nämä ehdot vastaanottavat arvoina TOSI ja VÄÄRIN. Yksi mahdollinen esimerkki voi olla:

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

  • Useiden olosuhteiden kattavuus: Tämä on vähän edistyneempi kuin viimeinen. Kuten voitte arvata, testaamme kaikki mahdolliset yhdistelmät ja kaikki mahdolliset tulokset ainakin kerran. Tässä on kunnollinen esimerkki:

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

Siten. Tarvitsemme 4 testitapausta 2 olosuhteelle.

Siksi, jos ehtoja on n, vaaditaan 2 n testitapausta.

  • Peruspolun testaus: Tässä White Box -testaustekniikassa tehdään säätövirtauskaavio ja sitten lasketaan sen syklomaattinen monimutkaisuus, joka on riippumattomien polkujen lukumäärä. Syklomaattisen monimutkaisuuden avulla voimme löytää minimaalisen määrän testitapauksia, jotka voimme suunnitella kullekin virtausgraafin riippumattomalle reitille.
  • Silmukkatestaus: Silmukat ovat yksi ohjelmoijan aseiden eniten käytettyjä työkaluja. Koska nämä ovat niin monien algoritmien ytimessä, on järkevää olla vain silmukoihin perustuva testaustekniikka. Silmukoita voi olla 3 tyyppiä: yksinkertaisia, sisäkkäisiä ja liitettyjä. Katsotaanpa kuinka testaaja käsittelee tämän tyyppisiä tekniikoita:

1. Yksinkertaiset silmukat: Silmukalle, jonka muotoilu on yksinkertainen ja jonka koko on n, voimme suunnitella joitain testitapauksia, jotka suorittavat seuraavat:

  • Ohita mainittu silmukka.
  • Kulje silmukka vain kerran.
  • Saa 2 ohi
  • Saa minkä tahansa läpikulkujen määrän, joka on pienempi kuin sen koko.
  • n-1 ja n + 1 kulkevat silmukan läpi.

2. Sisäkkäiset silmukat: Sisäkkäisillä silmukoilla varustetun koodin osalta aloitamme sisimmästä silmukasta ja menemme sitten ulospäin, kunnes päästämme uloimpaan silmukkaan.

3. Yhdistetyt silmukat: Näiden silmukoiden tapauksessa. Käytämme yksinkertaista silmukkatestiä peräkkäin ja jos kytketty silmukka ei ole itsenäinen, voimme käsitellä niitä kuten teimme sisäkkäisten silmukoiden kanssa.

edut

Nyt kun olemme nähneet, mikä tämä testausmenetelmä on ja miten se toimii. Katsotaanpa joitain tämän eduista.

  • White Box -testauksessa on yksinkertaiset ja selkeät säännöt, joiden avulla testaaja voi tietää, kun testaus tehdään.
  • White Box -testausmenetelmät on helppo automatisoida, mikä johtaa kehittäjän joutumiseen palkkaamaan vähemmän testaajia ja pienemmät kulut.
  • Se näyttää pullonkaulat, mikä tekee optimoinnista melko helpon ohjelmoijille.
  • Testausryhmä voi aloittaa työnsä joutumatta odottamaan kehitysryhmän suorittavan käyttöliittymäkehityksen loppuun.
  • Koska kaikki koodipolut sisältyvät koodiin useimmissa tapauksissa, koodin testaaminen on läpi.
  • Se auttaa poistamaan koodin osat, jotka eivät ole välttämättömiä ohjelman toiminnallisuudelle.

haitat

  • Se verottaa resursseja melkoisesti. Testauksen suorittamiseksi tarvitset jonkun, joka tuntee koodisi erittäin hyvin ollakseen testitiimissä ja joka on itse hyvä ohjelmoija. Tämäntyyppinen taitotaso lisää testauksen kustannuksia.
  • Monissa tapauksissa kaikkien mahdollisten ehtojen testaaminen koodissa ei ole mahdollista aikarajoitteiden tai budjettirajoitteiden takia.
  • Koska valkoisen ruudun testaus perustuu olemassa olevan koodin toimivuuden tarkistamiseen, et löydä puuttuvia toimintoja ohjelmasta.
  • Jos jokin koodin osa suunnitellaan uudelleen ja kirjoitetaan uudelleen, testaajien on kirjoitettava testitapaukset uudelleen.

Valkoisen ruudun testaustyökalut

Nyt kun olet perehtynyt white box -testauksen etuihin, haitoihin ja tekniikoihin, voimme katsoa joitain suosittuja työkaluja, joita testaajat voivat käyttää white box -testaukseen.

  • JSUnit.net

Tämä on JavaScriptin testaustyökalu. JSUnit on osa Junitia ja sen avoimen lähdekoodin yksikkötestauskehystä, jota voidaan käyttää White Box -testaukseen. JSUnit on täysin avoimen lähdekoodin GNU Public License 2.0 -käyttöjärjestelmä, mikä tarkoittaa, että jopa kaupalliseen käyttöön kehittäjän ei tarvitse maksaa lisenssimaksua.

  • CppUnit

Aivan kuten JSUnit, myös CppUnit pidetään osana JUnit. Työkalu voi tulostaa teksti- tai XML-muodossa testaajan tarpeista riippuen ja se voi luoda yksikkötestejä omilla luokillaan. CppUnit on lisensoitu LGPL: llä.

  • Veracode

Vaikka Veracode ei ole ilmainen käyttö, sillä on joitain tehokkaita työkaluja, joita voidaan käyttää .NET-, C ++-, Java- ja joidenkin muiden kielten testaamiseen. White Box -testaus voidaan suorittaa myös työpöytä-, verkko- ja mobiilisovelluksille.

  • nunit

Se on yksikkötestausjärjestelmä ja se on kirjoitettu C #: llä. Työkalu tukee kaikkia käytettävissä olevia .Net-kieliä ja tukee myös datavetoista testiä. Toiminnallisuus viisas, se voi toimia sekä rinnakkaisessa että samanaikaisessa suorituksessa ja se voi tarjota luokkakehyksen ja testisuunnittelijasovellukset. Yksi huomattava ominaisuus NUnit, että se on melko helppo käyttää.

  • JUnit

Kuten nimestäsi voidaan arvata, JUnit on Java-yksikön testausautomaatiotyökalu. JUnit-pakettiauto on helposti integroitavissa IDE-laitteisiin, kuten eclipse, Macen ACT, jne. Se pystyy tukemaan testivetoista kehitystä ja pystyy synkronoimaan olemassa olevat testit myös vasta luotuihin. JUnit on täysin avoin lähdekoodi ja ilmainen käyttää kaikenlaiseen Java-kehitykseen.

  • CSUnit

Aivan kuten Nunit, CSUnit on rakennettu tukemaan yksikkötestausta .Net Frameworkissa. Se tukee kieliä, kuten C # ja VB.Net. CSUnit on rakennettu tukemaan factoring-käytäntöjä ja muun tyyppisiä käytäntöjä, joita käytetään SDLC: n ketterässä kehitysmenetelmässä.

johtopäätös

Testaamisella on erittäin tärkeä paikka ohjelmistokehitysprosessissa, ja White Box -testaus on arvokas tapa saada se aikaan. Vaikka tämä testauslähestymistapa voi olla kallis ja aikaa vievä, White Box -testaus on ainoa tapa varmistaa, että kaikki koodin osat sisältyvät testausprosessiin.

Tärkein osa White Box -testausta on, kuinka tuttu testaaja on koodilla. Joku WBT-lähestymistavan testaamisesta, jolla ei ole hyviä käsiä lähdekoodin ja käytetyn ohjelmointikielen kanssa, aiheuttaa paljon ongelmia. Vain White Box -testauksesta riippuen testaus ei ole myöskään hyvä idea, koska se ei kata puuttuvia toimintoja. Kattavampaan lähestymistapaan kehitykseen tulisi tehdä sekä White Box -testaus että Black box -testaus, koska se kattaa sitten enimmäisvirheet, viat ja jäljellä olevat ominaisuudet, jotka on lisättävä ennen tuotteen lähettämistä.

Suositellut artikkelit

Tämä on ollut opas White Box -testaukseen. Tässä keskustelimme kuinka White Box -testaus suoritetaan esimerkkien ja erilaisten White Box -testausmenetelmien avulla työkaluilla. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Ohjelmistotestaushaastattelukysymykset
  2. Ura ohjelmistotestauksessa
  3. Pelitestaushaastattelukysymykset
  4. ETL-testaushaastattelukysymykset
  5. Koodin kattavuus vs. testin kattavuus | 4 parasta opittavaa eroa
  6. Koodin kattavuusvälineet Kuusi suosituinta koodin kattavuusvälinettä