White box on ohjelmistotestauksen luokka, joka viittaa testausmenetelmiin, joilla testataan, miten ohjelmiston sisäinen rakenne ja suunnittelu toimivat. Se eroaa mustan laatikon testauksesta, joka on testausta, jossa ei käsitellä ohjelmiston sisäisiä toimintoja vaan testataan vain ohjelmiston ulkoisia tuotoksia.
Tässä artikkelissa tarkastelemme valkoisen laatikon testausta: mitä se on, miten se toimii ja millaiset ohjelmistotestaustyökalut voivat auttaa testaajia ja kehittäjiä suorittamaan valkoisen laatikon testausta ohjelmistotestauksessa.
Mitä on white box -testaus?
White box -testaus on ohjelmistotestausmenetelmä, jossa testataan ohjelmiston sisäistä rakennetta ja suunnittelua, kun taas black box -testauksessa testataan ulkoisia tuotoksia tai loppukäyttäjäkokemusta.
White box -testaus on sateenvarjotermi, joka sisältää monia erilaisia ohjelmistotestauksen tyyppejä, kuten yksikkötestaus ja integrointitestaus. Koska white box -testaus sisältää koodin ja ohjelmoinnin testausta, white box -testaus edellyttää yleensä jonkin verran tietokoneohjelmoinnin ymmärtämistä.
Ohjelmistotekniikan white box -testaukseen voi sisältyä ohjelmiston koodin ja sisäisen suunnittelun testaamista, jotta voidaan varmistaa tulo- ja lähtövirta sekä tarkistaa ohjelmiston suunnittelu, käytettävyys ja tietoturva.
Valkoisen laatikon testauksen avulla testaajat voivat tarkastaa järjestelmän sisäisen toiminnan samalla, kun he varmistavat, että syötteet johtavat tiettyihin, odotettuihin tuotoksiin.
White box -testaus on olennainen vaihe ohjelmistotestauksessa, koska se on ainoa testaustyyppi, jossa tarkastellaan, miten itse koodi toimii.
1. Milloin ja miksi tarvitset valkoista laatikkoa
testausta ohjelmistojen testauksessa ja suunnittelussa?
Valkoisen laatikon testaus voidaan suorittaa testaussyklin eri vaiheissa sisäisen koodin ja rakenteen toiminnan tarkistamiseksi.
Yleisimmin white box -testausta tehdään, kun kehittäjät ja testaajat suorittavat yksikkötestausta ja joskus integrointitestauksen aikana.
Määritelmän mukaan yksikkötestausta pidetään eräänlaisena valkoisen laatikon testauksena, kun taas integrointitestauksessa voi olla sekä valkoisen että mustan laatikon testauksen piirteitä, mutta sitä pidetään yleensä mustan laatikon testauksena.
Muutoin white box -testausta voidaan käyttää myös tapauskohtaisesti ohjelmiston sisäisten toimintojen tarkistamiseen. White box -testaus on taloudellisin tapa lisätä testien kattavuutta, jos siihen on tarvetta, ja se on myös helppo tapa tarkistaa, miten tietyt koodin osat toimivat, tai testata ohjelmiston osia, joiden testaajat epäilevät olevan liian vähän testattuja.
Muodollisia koodin tarkistuksia, jotka suoritetaan white box -testauksen yhteydessä, voidaan myös käyttää tietoturva-aukkojen ja muiden haavoittuvuuksien tunnistamiseen. Samoin jos koodin osat ovat rikki, white box -testaus voi auttaa ohjelmistosuunnittelijoita määrittämään, missä virhe on.
2. Kun sinun ei tarvitse tehdä white box -testausta.
Useimmissa tapauksissa, kun ohjelmistosuunnittelijat ja testaajat testaavat uutta ohjelmistoa, tarvitaan jonkin verran white box -testausta koodin sisäisten toimintojen tarkistamiseksi.
Yksikkötestaus on eräänlaista white box -testausta, jonka kehittäjät suorittavat varmistaakseen, että yksittäiset yksiköt toimivat odotetulla tavalla. Tämän varhaisen testauksen avulla kehittäjät voivat tunnistaa virheet ja puutteet ennen virallista testausta laadunvarmistusympäristössä.
Yksikkötestauksen jälkeen suoritetaan integrointitestaus, järjestelmätestausta ja käyttäjän hyväksymistestaus. Näitä pidetään yleensä mustan laatikon testauksen muotoina, joihin ei yleensä liity paljon valkoisen laatikon testaustekniikoita.
Joissakin tapauksissa testaajat ja kehittäjät voivat kuitenkin käyttää white box -testausta näissä vaiheissa tunnistamaan tiettyjä virheitä koodissa. Jos tässä vaiheessa ei ole mitään merkkejä siitä, että koodissa olisi jotain vikaa, ja kaikki mustan laatikon testit läpäisevät testit, monet testausryhmät saattavat katsoa, ettei valkoisen laatikon testausta tarvitse jatkaa.
3. Kuka osallistuu white box -testaukseen?
White box -testauksen suorittavat lähes aina ohjelmistokehittäjät ja -insinöörit. Tämä johtuu siitä, että white box -testaus edellyttää yksityiskohtaista tietämystä tietokonekoodista ja koodaustekniikoista, ja useimmilla QA-testaajilla ei ole white box -testauksen suorittamiseen tarvittavia teknisiä taitoja.
Yksikkötestauksen, joka on ensisijainen valkoisen laatikon testauksen tyyppi, suorittavat aina kehittäjät kehitysympäristössä. Kehittäjät saattavat myös tehdä white box -testausta tarpeen mukaan, jotta voidaan tarkistaa, miten koodin eri osat toimivat, tai tarkistaa, että virheet on korjattu oikein.
Valkoisen laatikon testauksen edut
Valkoisen laatikon testauksen avulla kehittäjät ja ohjelmistosuunnittelijat voivat testata enemmän koodin osa-alueita kuin mustan laatikon testauksen avulla.
Mustan laatikon testauksen avulla voidaan selvittää, miten ohjelmisto toimii loppukäyttäjien kannalta, kun taas valkoisen laatikon testauksen avulla voidaan kertoa enemmän siitä, miten ohjelmistokoodi toimii. Puhdas ja tehokas koodi on olennaista ohjelmistokehityksessä, etenkin jos kehittäjät haluavat käyttää koodia myöhemmin uudelleen tai lisätä korjauksia ja päivityksiä tulevaisuudessa.
1. Maksimoi testien kattavuus
White box -testaus voi auttaa testaajia maksimoimaan testien kattavuuden. Kun testataan mahdollisimman suuri osa ohjelmistokoodista, on yleensä todennäköisempää, että koodissa olevat viat tai virheet havaitaan, ja valkoisen laatikon testauksen tarkoituksena on yleensä testata mahdollisimman suuri osa koodista.
Mustan laatikon testauksessa taas on kyse yksinkertaisesti testitapausten suorittamisesta, jotka voivat tarjota tai olla tarjoamatta laajaa koodin kattavuutta.
2. Etsi piilotettuja virheitä ja vikoja
Yksi valkoisen laatikon testauksen suurimmista eduista on se, että koska valkoisen laatikon testauksella todennetaan sisäinen toiminnallisuus, kehittäjien on helpompi löytää virheet ja viat, jotka muuten saattaisivat olla piilossa syvällä koodissa.
Vikojen tunnistamisen lisäksi on yleensä helpompi paikantaa tarkalleen, missä kohtaa koodipohjaa vika on, kun suoritetaan white box -testausta, koska tämäntyyppinen testausmenetelmä on luonteeltaan hyvin spesifinen.
3. Automaation helppous
Valkoisen laatikon testausta on erittäin helppo automatisoida, erityisesti yksikkötestausta tehtäessä. Yksikkötestit edellyttävät yleensä, että kehittäjät testaavat pieniä koodin osia yksitellen nähdäkseen, toimiiko se odotetulla tavalla. Tämä on erittäin helppo automatisoida, mikä tarkoittaa, että se on nopea ja tehokas ohjelmistotestauksen muoto.
Tämä on yksi syy siihen, miksi yksikkötestaus suoritetaan ennen muita, aikaa vievämpiä testaustyyppejä.
4. Aikatehokas
White box -testaus on ajallisesti tehokasta monestakin syystä.
Kuten edellä mainittiin, useimmat white box -testaustyypit on suhteellisen helppo automatisoida, mikä tarkoittaa, että white box -testaus on usein nopeampaa kuin black box -testaus. Tämän lisäksi white box -testauksen avulla kehittäjien on helppo löytää koodissa havaitut viat ja virheet, koska he löytävät ne itse koodia testatessaan.
5. Koodin laatu
White box -testauksen avulla kehittäjät voivat tarkastella kirjoittamaansa koodia uudelleen ja arvioida sen laatua ja puhtautta.
Koodin läpikäyminen pala palalta antaa kehittäjille mahdollisuuden poistaa tarpeettomia koodin osia ja siistiä koodia, mikä helpottaa koodin uudelleenkäyttöä ja muokkaamista tulevaisuudessa.
Se voi myös pakottaa kehittäjät miettimään, miten koodi toteutetaan ja skaalautuuko se hyvin tulevaisuudessa.
Valkoisen laatikon testauksen haasteet
Valkoisen laatikon testauksessa on omat haasteensa. On muutamia syitä, miksi jotkut kehitystiimit saattavat pitää white box -testausta vaikeampana toteuttaa kuin black box -testausta, sekä muita syitä, miksi jotkut saattavat pitää sitä vähemmän tärkeänä kuin black box -testausta.
1. Tekniset esteet
Valkoisen laatikon testaukseen liittyy teknisiä esteitä, joita mustan laatikon testauksessa ei ole. Valkoisen laatikon testausta varten testaajat tarvitsevat tietoa järjestelmän sisäisestä toiminnasta, mikä ohjelmistotestauksessa tarkoittaa yleensä ohjelmointitietämystä.
Tämän vuoksi white box -testauksen suorittavat lähes aina ohjelmistosuunnittelijat ja -kehittäjät eivätkä QA-testaajat, joilla harvoin on tämäntyyppiseen testaukseen tarvittavia teknisiä taitoja.
2. Kustannukset
Valkoisen laatikon testaus voi olla kalliimpaa kuin mustan laatikon testaus, koska tämäntyyppinen testaus on perusteellista.
Kehittäjät joutuvat käyttämään paljon aikaa intensiivisten yksikkötestien kirjoittamiseen, ja valkoisen laatikon testejä ei useinkaan voi käyttää uudelleen muissa sovelluksissa, mikä tarkoittaa, että valkoisen laatikon testaaminen maksaa yleensä melko paljon.
3. Tarkkuus
White box -testaus ei ole aina tarkin ohjelmistotestausmenetelmä, ja jos kehitystiimit luottaisivat pelkästään white box -testausmenetelmään, se johtaisi siihen, että paljon virheitä ja tapauksia jäisi huomaamatta.
Valkoisen laatikon testauksella validoidaan vain jo olemassa olevat ominaisuudet, kun taas mustan laatikon testausta voidaan käyttää osittain toteutettujen ominaisuuksien testaamiseen tai sellaisten ominaisuuksien tunnistamiseen, jotka todella puuttuvat ohjelmistosta ja jotka olisi sisällytettävä myöhempiin iteraatioihin.
4. Soveltamisala
White box -testaus ei yleensä kerro paljon käyttäjäkokemuksesta tai ohjelmistoon rakennettujen toimintojen lopputuloksesta.
Vaikka kehittäjät voivat käyttää white box -testausta varmistaakseen, että koodi toimii kuten sen pitäisi, he eivät voi päätellä, että toimiva koodi tuottaa oikeat tulokset loppukäyttäjille ilman white box -testauksen ja black box -testauksen yhdistämistä.
Tämä tarkoittaa, että white box -testauksen laajuus ja se, kuinka paljon se voi kertoa meille ohjelmistosta, on rajoitettu.
White box -testien ominaisuudet
Valkoisen laatikon testaus voidaan määritellä tiettyjen ominaisuuksien perusteella, jotka erottavat sen muista testausmuodoista, kuten mustan laatikon ja harmaan laatikon testauksesta.
Useimpia näistä ominaisuuksista voidaan tarkastella siitä näkökulmasta, miten ne eroavat mustan laatikon testauksen ominaisuuksista ja miten tämä erottaa valkoisen laatikon testauksen ja mustan laatikon testauksen toisistaan.
1. Ylläpidettävyys
White box -testaus parantaa koodin ylläpidettävyyttä, mikä helpottaa tiimisi työtä jatkossa.
Koska koodia ja sen toimintaa tietojen kanssa seurataan jatkuvasti, sen ylläpito on paljon yksinkertaisempaa, koska ymmärrät, missä ongelmat ilmenevät ja miksi ne ilmenevät. Tämä pitää myös koodin yksinkertaisempana tulevia päivityksiä varten, koska et kehitä suuria ja monimutkaisia korjauksia tuntemattomiin ja yksinkertaisiin ongelmiin.
2. Joustavuus
White box -testaus suoritetaan koodilla, joka on riittävän joustavaa, jotta muutokset voidaan hyväksyä suhteellisen nopeasti. Joustamaton koodi, kuten kolmannen osapuolen moduuliin tai integraatioon kuuluva koodi, estää white box -testaajan tekemästä nopeita muutoksia.
Kun keskitytään koodiin, jota voidaan muuttaa heti ongelman havaitsemisen jälkeen, white box -testauksesta tulee erittäin mukautuvaa ja ohjelman ongelmat saadaan ratkaistua paljon nopeammin.
3. Modulaarisuus
White box -testaus menestyy koodissa, joka on jossain määrin modulaarista, mikä tarkoittaa, että ohjelmiston erilliset osat on erotettu selkeästi toisistaan.
Jos ohjelmassa on ”spagettikoodia”, jossa jokainen osa-alue on sidoksissa toisiinsa, white box -testauksesta tulee äärettömän paljon monimutkaisempaa, koska testaajan on tutkittava koko ohjelma eikä vain tiettyä yksikköä.
4. Integrointi
White box -testaus on erittäin hyödyllistä integrointitestauksessa. Testaajat näkevät, toimiiko toiminto siihen asti, kun se poistuu kyseisestä ohjelmistosta, ja palaako se integroidusta järjestelmästä odotetun toimivana.
Tämä on erittäin informatiivista ja antaa organisaatiolle tiedon siitä, onko ongelma paikallinen vai osa integroitua alustaa.
Mitä testataan white box -testeissä?
Valkoisen laatikon testejä käytetään testaamaan koodin ominaisuuksia, joita ei voida todentaa mustan laatikon testausmenetelmillä. Tämä voi tarkoittaa sitä, että testataan, miten itse koodi toimii, jolloin kehittäjät voivat ymmärtää koodin eri osien syyn ja seurauksen.
Kehittäjät käyttävät white box -testausta testatakseen tietoturva-aukkoja, lausekkeita ja funktioita, ulostuloja ja polkuja koodissa.
1. Sisäiset turva-aukot
Valkoisen laatikon testauksen avulla voidaan etsiä koodista tietoturva-aukkoja ja haavoittuvuuksia, joita hakkerit ja tietoverkkorikolliset voisivat hyödyntää tulevaisuudessa.
Valkoisen laatikon testauksen avulla voidaan tarkistaa, onko kehitysvaiheessa noudatettu parhaita turvallisuuskäytäntöjä, ja etsiä tietoturva-aukkoja, jotka voidaan korjata ennen kuin koodi siirtyy jatkotestaukseen.
2. Koodausprosessien polut
Valkoisen laatikon testauksen avulla kehittäjät voivat testata polkuja, jotka yhdistävät koodin eri osia toisiinsa. Kehittäjät eivät testaa vain koodin logiikkaa, vaan he voivat myös tarkastella koodin rakennetta ja hygieniaa.
Hyvässä, puhtaassa koodissa ei ole tarpeettomia rivejä tai rikkinäisiä elementtejä, jotka eivät toimi odotetulla tavalla, vaikka mustalaatikkotestauksen ulkoiset tulokset olisivat odotetun kaltaisia.
3. Odotetut tuotokset
Valkoisen laatikon testauksessa voidaan myös testata koodin odotettuja tuotoksia aivan samalla tavalla kuin mustan laatikon testauksessa, vaikka testaajat tekevät sen tarkastelemalla koodia eivätkä käyttämällä sovellusta, kuten testaajat saattavat tehdä mustan laatikon testauksessa.
Kehittäjät testaavat odotettuja tuotoksia tarkistamalla syötteet yksi kerrallaan ja tarkistamalla, että tuloksena oleva tuotos vastaa odotuksia.
4. Lausekkeet, objektit ja funktiot
Käyttämällä white box -testausmenetelmiä ohjelmistokehittäjät voivat varmistaa, että koodin lausekkeet, objektit ja funktiot käyttäytyvät loogisesti ja johtavat odotettuihin tuloksiin.
5. Ehdollisten silmukoiden toimivuus
Valkoisen laatikon testausta voidaan käyttää myös ehdollisten silmukoiden, kuten yksittäisten, ketjutettujen ja sisäkkäisten silmukoiden, toimivuuden tarkistamiseen. Kehittäjät tarkistavat, ovatko nämä silmukat tehokkaita, täyttävätkö ne ehdollisen logiikan vaatimukset ja käsittelevätkö ne paikallisia ja globaaleja muuttujia oikein.
Selvitän hieman sekaannusta:
White box vs Black box vs Grey box -testaus
White box -testaus, black box -testaus ja grey box -testaus ovat termejä, joita ohjelmistotestaajat käyttävät viitatakseen eri testausluokkiin tai eri testausmenetelmiin.
Nykyaikainen näkemys näistä testauksen erotteluista on, että eri tyyppisten laatikkotestausten väliset rajat ovat hämärtymässä, koska eri testaustyypeissä yhdistetään usein sekä valkoisen että mustan laatikon testauksen elementtejä ja testit johdetaan eri abstraktiotasojen dokumenteista.
Näiden testausmuotojen välillä on kuitenkin edelleen tärkeitä eroja.
1. Mitä on mustan laatikon testaus?
Mustan laatikon testaus on ohjelmistotestauksen muoto, jossa ohjelmiston toimivuuden tarkistavat testaajat, joilla ei ole tietoa koodin sisäisestä rakenteesta tai siitä, miten koodi toteutetaan teknisemmällä tasolla.
Mustan laatikon testauksessa testataan vain ohjelmiston ulkoiset tuotokset eli toisin sanoen se, mitä loppukäyttäjä kokee käyttäessään ohjelmistoa.
Mustan laatikon testaus tunnetaan myös nimellä käyttäytymistestaus, koska siinä testataan, miten ohjelmisto käyttäytyy tietyissä olosuhteissa.
Testaajat voivat käyttää mustan laatikon testausta arvioidakseen, miten ohjelmiston eri toiminnot käyttäytyvät, ja verratakseen niitä odotuksiin varmistaakseen, että ohjelmisto täyttää käyttäjien vaatimukset. Mustan laatikon testausta käytetään järjestelmätestauksessa ja hyväksymistestauksessa eri toimintojen todentamiseen ja sen tarkistamiseen, että järjestelmä toimii odotetulla tavalla, kun se toimii kokonaisuutena.
Mustan laatikon testauksessa käyttäjät kirjoittavat testitapauksia, joissa eri elementit tarkistetaan yksitellen. Koska mustalaatikkotestaus ei vaadi samoja teknisiä taitoja kuin valkolaatikkotestaus, mustalaatikkotestauksen suorittavat yleensä testaajat laadunvarmistusympäristössä eivätkä kehittäjät.
Mustan laatikon testauksen automatisointi on yleensä helpompaa kuin valkoisen laatikon testauksen automatisointi käyttämällä ZAPTESTin kaltaisia päästä päähän -automaatiotyökaluja.
Mitä eroja on seuraavien välillä white box- ja black box -testauksen välillä?
Mustan laatikon ja valkoisen laatikon testauksen tärkein ero on se, mitä testataan.
Mustan laatikon testauksessa testataan ohjelmiston rakentamisen ulkoisia tuotoksia, kun taas valkoisen laatikon testauksessa testataan, mitä konepellin alla tapahtuu.
Mustan laatikon ja valkoisen laatikon testauksen tärkeimmät erot ovat seuraavat:
Käyttötarkoitus
Mustan laatikon testauksen tarkoituksena on varmistaa, että järjestelmä toimii loppukäyttäjän odotusten mukaisesti, kun taas valkoisen laatikon testauksen tarkoituksena on tarkistaa ohjelmiston koodin laatu ja eheys.
Esimerkiksi videopelin mustan laatikon testauksessa loppukäyttäjä voi kokeilla peliä ja arvioida sen kokemuksiaan, ja saman projektin valkoisen laatikon testauksessa varmistetaan, että tiettyjen syötteiden syöttäminen johtaa siihen, että hahmo suorittaa oikean toiminnon.
Prosessi
Valkoisen ja mustan laatikon testauksessa käytettävät prosessit ovat hyvin erilaisia. Valkoisen laatikon testaus on paljon helpompi automatisoida kuin mustan laatikon testaus, ja yleensä mustan laatikon testaus on automatisoitava ohjelmistoautomaatiotyökalujen avulla.
Esimerkiksi tietokannan testauksessa valkoisen laatikon testauksessa automatisoidaan tietojen syöttö ja tarkistetaan, että kaikki tulokset ovat oikeita, kun taas mustan laatikon testauksessa käyttäjät toistavat manuaalisia prosesseja ja raportoivat niistä ilman automaatiojärjestelmää.
Testaajat
Mustan laatikon testauksen suorittavat lähes aina ammattimaiset ohjelmistotestaajat laadunvarmistusympäristössä, kun taas valkoisen laatikon testauksen suorittavat ohjelmistokehittäjät ja insinöörit, joilla on yksityiskohtaisempaa teknistä tietoa koodilähteestä.
Tekniikat
Mustan laatikon testauksessa käytetään erilaisia tekniikoita, kuten ekvivalenssiosiointia, raja-arvoanalyysiä ja päätöstaulukkotestausta. Valkoisen laatikon testauksessa käytetään tekniikoita, kuten päätösten kattavuutta, ehtojen kattavuutta ja lausekkeiden kattavuutta.
Toiminta
Mustalaatikkotestauksen testausmenetelmät sopivat ylemmän tason testaustoimintoihin, kuten järjestelmätestaukseen ja hyväksymistestaukseen, kun taas valkolaatikkotestaus soveltuu paremmin alemman tason toimintoihin, kuten yksikkö- ja integrointitestaukseen.
Tästä syystä white box -testaus suoritetaan yleensä ennen useimpia black box -testauksen muotoja.
2. Mitä on harmaan laatikon testaus?
Harmaalaatikkotestaus on ohjelmistotestausmenetelmä, jota käytetään ohjelmistotuotteiden ja -sovellusten testaamiseen testaajilla, joilla voi olla osittainen tietämys sovelluksen sisäisestä rakenteesta, mutta ei täydellistä tietoa siitä.
Harmaalaatikkotestauksessa voidaan yhdistää sekä mustalaatikko- että valkolaatikkotestauksen elementtejä, jotta kehittäjät ja testaajat voivat tunnistaa koodin puutteita ja löytää kontekstisidonnaisia virheitä.
Harmaan laatikon testauksessa yhdistyvät sekä mustan laatikon että valkoisen laatikon testauksen ominaisuudet. Testaajilla on oltava jonkin verran tietoa järjestelmän sisäisestä toiminnasta, kuten valkoisen laatikon testauksessa, mutta he käyttävät tätä tietoa luodakseen testitapauksia ja suorittaakseen nämä testitapaukset toiminnallisuuden tasolla, kuten mustan laatikon testauksessa.
Harmaalaatikkotestaus tarjoaa monia sekä mustalaatikko- että valkolaatikkotestauksen etuja, mutta on samalla myös suhteellisen ajantehokasta ja joustavaa.
Mitä eroja on seuraavien välillä white box- ja grey box -testauksen välillä?
Koska harmaalaatikkotestaus tarjoaa joitakin samoja toimintoja kuin mustalaatikkotestaus, harmaalaatikkotestauksen ja valkolaatikkotestauksen välillä on joitakin suuria eroja, vaikka niitä ei ehkä olekaan niin paljon kuin mustalaatikkotestauksessa.
Suurimpia eroja harmaan laatikon testauksen ja valkoisen laatikon testauksen välillä ovat:
Rakenteellinen tietämys
Valkoisen laatikon testauksessa koodin sisäisen suunnittelun ja rakenteen pitäisi olla täysin testaajan tiedossa. Harmaan laatikon testauksessa koodin sisäinen rakenne tunnetaan yleensä vain osittain.
Asianomaiset henkilöt
Valkoisen laatikon testauksesta vastaavat lähes yksinomaan ohjelmistokehittäjät ja ohjelmistoinsinöörit, kun taas harmaan laatikon testauksesta voivat vastata loppukäyttäjät, testaajat ja kehittäjät.
Tehokkuus
Valkoisen laatikon testausta pidetään eniten aikaa vievänä ohjelmistotestaustyyppinä, kun taas harmaan laatikon testauksessa hyödynnetään joitakin mustan laatikon testauksen tehokkuusominaisuuksia testien suorittamiseen kuluvan ajan lyhentämiseksi.
Operaatio
Valkoisen laatikon testauksessa kehittäjät yksinkertaisesti kirjoittavat koodia valkoisen laatikon testien toteuttamiseksi ja suorittavat tämän koodin. Harmaan laatikon testauksessa, kuten mustan laatikon testauksessa, testaajat tekevät toiminnallisia testejä arvioidakseen, miten järjestelmä toimii ulkoisesti.
Kattavuus
Valkoisen laatikon testaus on kattavin testaustyyppi, kun taas harmaan laatikon testauksen kattavuus voi vaihdella sen mukaan, perustuvatko testitapaukset koodiin vai graafiseen käyttöliittymään.
Johtopäätökset:
Valkoinen laatikko vs. musta laatikko vs. harmaan laatikon testaus
White box -testaus, black box -testaus ja grey box -testaus ovat termejä, joita käytetään viittaamaan erilaisiin ohjelmistotestausmenetelmiin. Yleisesti ottaen kukin testaustyyppi voidaan määritellä sen perusteella, missä määrin testaajilla on oltava tietoa koodikannasta ja koodin toteutuksesta:
1. Mustan laatikon testaus:
Koodin sisäinen rakenne on tuntematon.
2. Valkoisen laatikon testaus:
Koodin sisäinen rakenne tunnetaan.
3. Harmaan laatikon testaus:
Koodin sisäinen rakenne tunnetaan osittain.
Ohjelmistotestauksessa kaikki kolme testaustyyppiä ovat tärkeitä ohjelmiston toiminnan ja eheyden varmistamisessa. Valkoisen laatikon testaus kertoo enemmän koodin rakenteesta, kun taas harmaan laatikon ja mustan laatikon testauksella voidaan tarkistaa, miten järjestelmä toimii ja täyttääkö se loppukäyttäjän vaatimukset.
Ehkä suurimmat erot näiden kolmen testaustyypin välillä liittyvät siihen, kuka kunkin testaustyypin suorittaa, itse testauksen vaatimuksiin ja siihen, mitä testaus sisältää.
Valkoisen laatikon testauksella on korkeimmat kynnykset, koska sen suorittavat kehittäjät, joilla on yksityiskohtaista tietoa itse koodipohjasta, ja koska se on aikaa vievin ja usein kallein testaustyyppi.
Sen sijaan mustan laatikon testaus on helpointa toteuttaa, ja sen voivat suorittaa testaajat, jotka eivät tunne taustalla olevaa koodia.
Valkoisen laatikon testien tyypit
On olemassa monia erilaisia valkoisen laatikon testejä, joista kutakin voidaan käyttää testaamaan hieman eri näkökohtia koodin sisäisestä rakenteesta.
Alla on lueteltu joitakin yleisimpiä nykyisin käytettyjä white box -testaustyyppejä.
1. Polun testaus
Polkutestaus on eräänlaista valkoisen laatikon testausta, joka perustuu ohjelman valvontarakenteeseen. Kehittäjät käyttävät kontrollirakennetta luodakseen kontrollivirtakaavion ja testatakseen erilaisia polkuja kaaviossa.
Polkutestaus on testaustyyppi, joka on riippuvainen ohjelman valvontarakenteesta, mikä tarkoittaa, että testaajilta vaaditaan perusteellista tietämystä tästä rakenteesta.
Jos esimerkiksi järjestelmän on tarkoitus ottaa yhteyttä asiakkaisiin tietyissä myyntisuppilon vaiheissa, polkutestaus tarkoittaa sen varmistamista, että järjestelmä noudattaa oikeita vaiheita datan asettamien ehtojen mukaan.
2. Silmukan testaus
Silmukkatestaus on yksi tärkeimmistä white box -testauksen tyypeistä, jossa testataan ohjelman koodin silmukoita. Silmukat on toteutettu koodin sisällä oleviin algoritmeihin, ja silmukoiden testauksella tarkistetaan, ovatko nämä silmukat kelvollisia.
Silmukoiden testauksella voidaan arvioida, onko tietyissä silmukoissa haavoittuvuuksia, ja nostaa esiin alueita, joilla kehittäjien on ehkä korjattava koodia varmistaakseen, että silmukka toimii niin kuin sen pitäisi.
Esimerkki silmukkatestistä on seurata silmukan läpi tietyllä joukolla datapisteitä, jotka kehottavat silmukkaa jatkamaan, kuten kieltäytyminen hyväksymästä joitakin ehtoja, ennen kuin syötetään luku, joka nimenomaan katkaisee silmukan. Jos silmukka käyttäytyy odotetulla tavalla, testi on onnistunut.
3. Ehdollinen testaus
Ehdollinen testaus on eräänlainen valkoisen laatikon testaus, jossa tarkistetaan, ovatko koodissa olevien arvojen loogiset ehdot totta vai epätotta.
Ehdollinen testaus on yksi tärkeimmistä valkoisen laatikon testauksen muodoista, joka kertoo kehittäjille, onko koodi looginen ja täyttääkö se ohjelmointilogiikan vaatimukset.
Esimerkki ehdollisesta testauksesta on kirjanpitoalustassa. Kun syötät sarjan menoja ja tuloja, tuloksena pitäisi olla oikeat juoksevat loppusummat, ja ohjelmisto antaa tarkat tulokset koko onnistuneen testin ajan.
4. Yksikkötestaus
Yksikkötestaus on tärkeä vaihe ohjelmistotestauksessa, jossa kehittäjät testaavat yksittäisiä komponentteja ja moduuleja ja varmistavat, että ne toimivat odotetulla tavalla, ennen kuin eri yksiköt integroidaan yhteen.
Ohjelmistoinsinöörit käyttävät yksikkötestauksessa white box -testausmenetelmiä testatakseen pieniä koodinpätkiä kerrallaan. Tämä helpottaa vikojen ja virheiden tunnistamista, kun niitä esiintyy testauksen aikana.
Esimerkki yksikkötestauksesta on kehityksen alkuvaiheessa, kun yritys luo verkkosivustolle yksinkertaisen painikkeen, joka vie käyttäjän toiselle sivulle. Jos yksikkö toimii odotetulla tavalla, se onnistuu, ja kehittäjät tekevät muutoksia, kunnes se toimii.
5. Mutaatiotestaus
Mutaatiotestaus on testaustyyppi, jossa testataan muutoksia ja mutaatioita. Mutaatiotestauksessa kehittäjät tekevät pieniä muutoksia lähdekoodiin nähdäkseen, voiko tämä paljastaa koodissa olevia virheitä.
Jos testitapaus läpäisee testin, se osoittaa, että koodissa on jokin ongelma, koska sen ei pitäisi läpäistä testiä muutosten jälkeen. Ihannetapauksessa mutaatiotestauksessa kaikki testitapaukset epäonnistuvat.
Esimerkki mutaatiotestauksesta on koneoppimisessa. Koneoppimisohjelmat ”mutantoituvat” automaattisesti uuden tiedon perusteella, joten näiden ohjelmien testaaminen jatkuvasti ”mutaation” standardin mukaisesti antaa kehittäjille tietoa siitä, toimiiko ohjelmisto odotetulla tavalla.
6. Integrointitestaus
Integrointitestaus on ohjelmistotestauksen päävaihe, jonka aikana testaajat varmistavat, että eri moduulit toimivat oikein, kun ne integroidaan muiden moduulien kanssa.
Integrointitestauksessa käytetään valkoisen laatikon testaustekniikoita, joilla tarkistetaan, että koodi toimii myös silloin, kun useat moduulit – jotka ovat usein eri kehittäjien koodaamia – toimivat yhdessä.
Kun tietokanta saa tietoja esimerkiksi verkkolähteestä, integraatiotestauksella varmistetaan, että tiedot ovat tarkkoja ja päivittyvät kohtuullisen johdonmukaisesti.
7. Tunkeutumistestaus
Tunkeutumistestaus on eräänlaista white box -testausta, jonka avulla voidaan simuloida tiettyjä järjestelmään kohdistuvia verkkohyökkäyksiä.
Tunkeutumistestauksessa testaajille annetaan pääsy kaikkiin verkko- ja järjestelmätietoihin, kuten salasanoihin ja verkkokarttoihin. Sen jälkeen he yrittävät päästä käsiksi järjestelmässä oleviin tietoihin tai tuhota ne yrittämällä mahdollisimman monia eri hyökkäysreittejä.
Tunkeutumistestaus on tärkeä osa tietoturvatestausta, joka olisi suoritettava kaikille ohjelmistokehityksille.
Esimerkiksi HR-alusta suorittaa penetraatiotestauksen ja etsii koodista haavoittuvuuksia varmistaakseen, että alusta on riittävän turvallinen työntekijöiden tietojen säilyttämiseen.
Valkoisen laatikon testaustekniikat
On olemassa monia erilaisia white box -testausmenetelmiä, joita voidaan käyttää edellä lueteltujen white box -testien suorittamiseen. Kuten aina, eri tekniikat soveltuvat parhaiten koodin eri osa-alueiden testaamiseen, mutta kaikki alla luetellut white box -tekniikat ovat tärkeitä.
1. Lausuman kattavuus
Yksi valkoisen laatikon testauksen ominaispiirteistä on, että testaajien tulisi pyrkiä kattamaan mahdollisimman suuri osa lähdekoodista suorittaessaan valkoisen laatikon testejä.
Koodin kattavuus on vahva mittari tälle, ja lausekkeiden kattavuus on yksi tekniikka, jota white box -testaajat voivat käyttää lisäämään lausekkeiden kattavuutta koodissa.
Lausekkeiden kattavuus on mittari, joka mittaa suoritettujen lausekkeiden määrää jaettuna lausekkeiden kokonaismäärällä ja kerrottuna sadalla. Valkoisen laatikon testaajien tulisi pyrkiä korkeaan lausuntojen kattavuuteen.
2. Haarojen kattavuus
Haarojen kattavuus, kuten lausekkeiden kattavuus, kuvastaa sitä, kuinka laaja kattavuus koodin tietyillä elementeillä on white box -testauksessa. Haarautumiset vastaavat logiikan ’IF’-lauseita, joissa koodi haarautuu tosia ja vääriä vaihtoehtoja varten, jotka vaikuttavat operaation lopputulokseen.
Kun käytetään haarojen kattavuusmenetelmiä, valkoisen laatikon testaajat tarkistavat, että kutakin haaraa käsitellään vähintään kerran, ja varmistavat, että molemmat haarat toimivat oikein.
3. Reitin kattavuus
Polun kattavuusmenetelmillä arvioidaan ohjelmistosovelluksen polkuja. Testipolkujen kattavuuden maksimointi tarkoittaa sen varmistamista, että kaikki ohjelman polut tutkitaan vähintään kerran. Se on samantyyppinen testaustekniikka kuin haarojen kattavuus, mutta sitä pidetään perusteellisempana ja tehokkaampana.
Polun kattavuuden testausta pidetään yleensä sopivimpana kokonaisten sovellusten testaamiseen kuin osittaisten rakennelmien testaamiseen.
4. Päätöksen kattavuus
Päätöskattavuus on yksi tärkeimmistä white box -tekniikoista, koska se antaa tietoa lähdekoodissa olevien boolean-lausekkeiden oikeista ja vääristä tuloksista.
Päätösten kattavuuden testaaminen validoi lähdekoodin varmistamalla, että jokaisen mahdollisen päätöksen jokainen merkki käydään läpi vähintään kerran testauksen aikana.
Ratkaisupisteisiin kuuluvat kaikki tilanteet, joissa on mahdollisuus kahteen tai useampaan eri lopputulokseen.
5. Kunnon kattavuus
Ehdollinen kattavuus tunnetaan myös nimellä ilmaisun kattavuus. Tämä white box -tekniikka arvioi koodin sisällä olevien ehdollisten lausekkeiden alamuuttujia kunkin loogisen ehdon tuloksen tarkistamiseksi.
Tämäntyyppisessä testauksessa otetaan huomioon vain lausekkeet, joissa on loogisia operandeja, kun taas päätöksen kattavuuden testausta ja haarojen kattavuuden testausta käytetään muiden loogisten operaatioiden varmistamiseen.
6. Useiden sairauksien kattavuus
Usean ehdon kattavuustestissä testaajat tarkistavat eri ehtojen yhdistelmiä ja arvioivat päätöksen, jonka koodi tekee kunkin yhdistelmän kohdalla.
Usean ehdon kattavuustesteissä voi olla monia erilaisia testitapauksia, koska ehtojen yhdistelmiä on valtava määrä, joten tämäntyyppinen testaus on usein hyvin aikaa vievää.
7. Lopullisen tilakoneen kattavuus
Rajallisten tilakoneiden kattavuus on tärkeä testaustyyppi, mutta myös yksi vaikeimmista tavoista saavuttaa korkea koodin kattavuus white box -testauksessa. Se toimii suunnittelun toiminnallisuuden perusteella ja edellyttää, että kehittäjät laskevat, kuinka monta kertaa tilassa käydään tai siirrytään testausprosessin aikana, sekä kuinka monta sekvenssiä kukin äärellinen tilajärjestelmä sisältää.
8. Ohjausvirran testaus
Ohjausvirtatestaus on white box -testausmenetelmä, jolla pyritään selvittämään ohjelman suoritusjärjestys yksinkertaisen ohjausrakenteen avulla.
Kehittäjät rakentavat ohjausvirtatestauksen testitapaukset valitsemalla tietyn ohjelman osan ja rakentamalla testauspolun. Ohjausvirtatestausta käytetään yleensä yksikkötestauksessa.
Valkoisen laatikon testauksen elinkaari
ohjelmistokehityksessä
White box -testaus on tärkeä vaihe ohjelmistokehityksen elinkaaressa, vaikka sillä ei olekaan tiettyä paikkaa elinkaaressa.
Kehittäjät voivat tehdä white box -testausta silloin, kun heidän on tarkistettava koodin toiminta, ja jotkut kehittäjät saattavat olla toisia perusteellisempia tarkistamaan vasta kirjoitetun koodin varmistaakseen, että se on puhdasta ja että siinä ei ole tarpeettomia rivejä.
White box -testaus suoritetaan kuitenkin yleisimmin yksikkö- ja integrointitestauksen aikana. Kehittäjät suorittavat sekä yksikkö- että integrointitestauksen kehitysvaiheen aikana.
Ne tapahtuvat ennen toiminnallista testausta, kuten järjestelmätestausta ja hyväksymistestausta, ja ne antavat kehittäjille mahdollisuuden tunnistaa, paikantaa ja korjata tärkeimmät virheet testausvaiheen alkuvaiheessa ennen tuotteen luovuttamista laadunvarmistustiimille.
Manuaaliset vai automatisoidut white box -testit?
Kuten muunkinlaista ohjelmistotestausta, myös white box -testausta on mahdollista automatisoida. Se voi olla joko manuaalista tai automatisoitua, vaikka useimmissa tapauksissa valkoisen laatikon testauksen automatisointi on helpompaa kuin mustan laatikon testauksen automatisointi.
Koska white box -testaus on hyvin aikaa vievää testausta, automatisointi on yhä suositumpaa ohjelmistotiimien keskuudessa.
Manuaalinen white box -testaus: hyödyt, haasteet ja prosessit
Manuaalinen white box -testaus tarkoittaa white box -testien suorittamista manuaalisesti, ja se edellyttää, että kehittäjillä on taitoja ja aikaa kirjoittaa yksittäisiä testitapauksia, joilla testataan jokainen mahdollinen koodirivi ohjelmistokehityksessä. Tämä voi viedä paljon aikaa, mutta tuloksena on myös perusteellisimmat testitulokset ja tuotokset.
Valkoisen laatikon testauksen manuaalisen suorittamisen etuja ovat muun muassa seuraavat:
1. Syvyys
Manuaalisen testauksen avulla testaajat voivat halutessaan tutkia ohjelmistokoodia syvällisemmin kuin automaattisen testauksen avulla, esimerkiksi lukemalla sovelluksen koko lähdekoodin sen sijaan, että he vain automatisoisivat tehtäviä, jotka koskettavat pintatoimintoja.
2. Vikojen sijainti
Manuaalisen testauksen avulla on helppo löytää virheitä ja puutteita, koska kehittäjien pitäisi pystyä määrittämään tarkalleen, millä koodirivillä virhe on.
Jos esimerkiksi havaitset, että kuva ei lataudu, ja tarkastelet koodista rivejä, jotka liittyvät kuvien lataamiseen, pystyt merkittävästi rajaamaan syyn pois.
3. Nopeus
Manuaalinen testaus kestää yleensä kauemmin kuin automatisoitu testaus, mutta jos kehittäjät haluavat suorittaa vain yhden tai kaksi nopeaa testiä, on luultavasti nopeampaa suorittaa ne manuaalisesti kuin ottaa käyttöön automaatio.
Esimerkiksi yksikkötestauksessa tarkastellaan ominaisuutta ja katsotaan, toimiiko se, eikä kerätä valtavia määriä tietoa automatisoimalla prosessi. Manuaalisessa white box -testauksessa on kuitenkin myös haittoja.
Manuaalisen white box -testauksen haasteita ovat muun muassa seuraavat:
1. Tarkkuus
Manuaalisen testauksen avulla kehittäjät voivat kattaa laajan valikoiman koodia, mutta ihmistestaajat ovat aina alttiimpia virheille ja virheille kuin tietokoneohjelmat, minkä vuoksi manuaalista testausta pidetään usein epätarkempana kuin automaattista testausta.
2. Aika
Manuaalinen testaus kestää kauemmin kuin automatisoitu testaus, ja manuaalinen white box -testaus on kaikkein aikaa vievintä testausta. Tämä pidentää läpimenoaikaa ja voi vaikeuttaa tiukkojen kehitysaikataulujen noudattamista.
3. Kustannukset
Koska manuaaliseen white box -testaukseen tarvitaan paljon työvoimaa ja resursseja, se on usein kalliimpaa kehitystiimille kuin automatisoitu testaus, joka vaatii yleensä vähemmän kehittäjiä ja vähemmän aikaa.
4. Skaalautuvuus
Manuaalinen testaus soveltuu oikeastaan vain pienten sovellusten testaamiseen tai suurempien sovellusten yksittäisten osien testaamiseen. Kun kyseessä ovat suuremmat sovellukset, kuten pilvipalveluna toimiva tietokanta, johon tulee tuhansia syötteitä minuutissa, automatisoitu testaus on suositeltavampi menetelmä vakiokuormien simuloimiseksi.
Automatisoitu white box -testaus: hyödyt,
haasteet ja prosessit
Automaatioteknologia helpottaa ohjelmistotestauksen osa-alueiden automatisointia joka päivä. Alan siirtyminen kohti hyperautomaatiota johtuu osittain tehokkuudesta ja kustannussäästöistä, joita automaatio tarjoaa kehitystiimeille, jotka tuntevat itsensä aina tiukasti puristetuiksi.
White box -testaus on yksi tarkoituksenmukaisimmista ja sopivimmista testaustyypeistä automatisoitavaksi, koska se on suhteellisen helppo automatisoida ja koska white box -testausautomaation aika- ja kustannussäästöt voivat olla merkittäviä.
Automaattiseen white box -testaukseen voi kuulua, että kehittäjät kirjoittavat itse testiskriptejä, tai prosessia voidaan nopeuttaa käyttämällä ZAPTESTin kaltaisia täysimittaisia työkaluja, jotka tarjoavat uusinta ohjelmistojen testaustekniikkaa.
Valkoisen laatikon testauksen automatisoinnin etuja ovat muun muassa:
1. Tarkkuus
Tietokonepohjainen testaus poistaa virheriskin, koska tietokoneet eivät väsy tai tee virheitä.
2. Aika
Automatisoitu white box -testaus on huomattavasti nopeampaa kuin manuaalinen white box -testaus ja vapauttaa aikaa, jonka kehittäjät voivat käyttää muihin tehtäviin, kuten virheiden korjaamiseen tai päivityskorjausten kirjoittamiseen.
3. Mittakaava
Automatisoitu testaus skaalautuu paljon paremmin kuin manuaalinen testaus, joten jos ohjelmistosovelluksesi kasvaa tai jos haluat suorittaa kerralla laajamittaisen testauksen, automaatio on parempi vaihtoehto.
Esimerkiksi tietojen syötön lisääminen tarkoittaa sitä, että automaatiossa tarvitaan enemmän syötteitä kuin manuaalisten testien yhteydessä, kun taas manuaalisissa testeissä palkataan lisää henkilöstöä.
4. Kustannukset
Automatisoidun testauksen kustannukset ovat yleensä alhaisemmat kuin manuaalisen testauksen kustannukset, koska automaatio säästää työtunteja. ZAPTESTin 10-kertainen ROI osoittaa, miten automatisointi voi säästää kehittäjien rahaa ja johtaa suurempiin tuottoihin. Automatisoinnilla on kuitenkin myös omat haittansa.
Valkoisen laatikon testauksen automatisointiin liittyviä haasteita ovat muun muassa seuraavat:
1. Vikojen seuranta
Automaatio ei aina helpota virheiden löytämistä koodista riippuen siitä, miten kehittäjät automatisoivat testit tai mitä testaustyökaluja käytetään, varsinkin kun verrataan manuaaliseen white box -testiin, jossa testaajat näkevät suoritettavan koodin aina kun virhe ilmenee.
2. Taidot
Kaikki kehittäjät eivät osaa automatisoida testejä tai käyttää automatisoituja testaustyökaluja, joten siirtyminen automatisointiin voi vaatia investointeja tärkeimpien taitojen kouluttamiseen, kuten koodaamiseen kyseisen testausalustan kielellä ja data-analyysitaitojen käyttämiseen ongelmien syyn ymmärtämiseksi white box -testissä.
Johtopäätökset: Manuaalinen white box -testaus
vai white box -testausautomaatio?
Kaiken kaikkiaan ohjelmistotekniikan white box -testaus on yksi soveltuvimmista testaustyypeistä, joka voidaan mukauttaa automatisoituun testaukseen, mikä johtuu suurelta osin manuaalisen white box -testauksen aikaa vievästä ja monimutkaisesta luonteesta.
Automaattinen white box -testaus on nopeampaa, halvempaa, tehokkaampaa ja tarkempaa kuin manuaalinen testaus, erityisesti kun kyseessä ovat suuremmat sovellukset.
Ohjelmistokehittäjien olisi mahdollisuuksien mukaan automatisoitava white box -testausta ohjelmistotestauksessa, jotta testien luotettavuutta voidaan lisätä ja jotta testaamalla voidaan kattaa suurempi osa suuremmista sovelluksista kuin on käytännössä mahdollista testejä manuaalisesti suoritettaessa. Tämä johtuu huomattavista kustannuksista ja asiantuntemuksesta, joita tarvitaan, kun white box -testejä tehdään yksinomaan manuaalisilla menetelmillä.
Mitä tarvitset aloittaaksesi
white box -testaus?
Ennen kuin aloitat white box -testauksen, varmista, että sinulla on kaikki tarvittava alkuun pääsemiseksi. Riippuen siitä, teetkö manuaalista vai automatisoitua white box -testausta, et tarvitse paljon muita resursseja kuin aikaa ja rahaa.
Sinun on kuitenkin varmistettava, että tiimilläsi on asianmukainen tietämys ja työkalut white box -testauksen asianmukaista suorittamista varten.
1. Lähdekoodin ymmärtäminen
White box -testaus on testausta, jonka suorittavat ohjelmistokehittäjät ja insinöörit, joilla on täydet tiedot lähdekoodista ja ohjelmiston sisäisestä rakenteesta.
Jos olet QA-testaajana ilman tätä tietoa, sinun on annettava ohjelmisto jollekin toiselle, ennen kuin white box -testaus voidaan aloittaa.
2. Testitapaukset
On välttämätöntä kirjoittaa testitapauksia ennen white box -testauksen suorittamista. Testitapaukset ovat yksittäisiä ohjejoukkoja, jotka kuvaavat toimia, joita testaajat tai kehittäjät voivat suorittaa järjestelmän toimintojen ja toiminnan testaamiseksi.
Valkoisen laatikon testauksessa testitapauksia suunnittelevat henkilöt, joilla on täydelliset tiedot järjestelmän sisäisestä rakenteesta, ja ne luodaan sen tarkistamiseksi, toimiiko järjestelmä niin kuin sen pitäisi.
3. Valkoisen laatikon testaustyökalut
Valkoisen laatikon testaukseen on saatavilla runsaasti työkaluja, jotka tukevat pääsyä lähdekoodiin ja suunnitteludokumentteihin testiautomaation suorittamisen ohella. Niitä on saatavana myös eri hintaluokissa, kuten ZAPTEST FREE- ja ZAPTEST ENTERPRISE -versioina, jotka tarjoavat enemmän joustavuutta.
Valitse työkalut, joita haluat käyttää ennen testauksen aloittamista, ja painota sen varmistamista, että siinä on oikeat toiminnot, kuten alustarajat ylittävä toiminta ja tietokonenäkötekniikka, jotta näet saman kuin automatisoidut testit näkevät.
Varmista, että kaikki testaukseen osallistuvat kehittäjät ja insinöörit tietävät, miten ja milloin niitä käytetään.
Valkoisen laatikon testausprosessi
Valkoisen laatikon testaukseen liittyy paljon enemmän järjestelmän toiminnan tuntemusta kuin mustan laatikon testaukseen, ja jotkin valkoisen laatikon testauksen vaiheet ovat hieman erilaisia.
Valkoisen laatikon testaajien on ensin tunnistettava järjestelmän ominaisuudet tai komponentit, jotka he haluavat todentaa, ennen kuin he suunnittelevat mahdollisia testipolkuja ja kirjoittavat testitapauksia suoritettavaksi.
Valkoisen laatikon testausprosessi voi myös vaihdella sen mukaan, mitä valkoisen laatikon testaustekniikkaa käytät. Seuraa alla olevia ohjeita, jotta saat selville, miten white box -testaus suoritetaan maksimoiden polun kattavuus.
Vaihe 1: Testattavien ominaisuuksien määrittäminen
Ennen kuin teet white box -testauksen, mieti tarkkaan, mitä haluat testata ja miten aiot testata sen. Tämä tarkoittaa yleensä sitä, että keskitytään pieneen joukkoon toimintoja tai ominaisuuksia ja luodaan joukko testitapauksia vain niiden testaamista varten.
Voit suorittaa tämän vaiheen uudelleen ja uudelleen järjestelmän eri osa-alueille testien kattavuuden maksimoimiseksi, mutta on tärkeää jakaa eri osa-alueet yksittäisiin testeihin.
Mitä tarkemmin keskityt, sitä luotettavampia ja tarkempia testit voivat olla.
Vaihe 2: Piirrä kaikki mahdolliset reitit vuokaavioon.
Merkittävä osa white box -testauksen valmistelutyötäsi on kaikkien mahdollisten testattavien reittien piirtäminen vuokaavioon.
Tämä vaihe voi auttaa sinua maksimoimaan polkujen kattavuuden ja varmistamaan, että tarkistat kaikki mahdolliset polut jokaisessa luomassasi testitapauksessa. Piirrä vuokaavio, joka kattaa kaikki mahdolliset reitit jokaiselle testaamallesi ominaisuudelle tai komponentille, esimerkiksi hahmottelemalla eri reitit, jotka syntyvät, kun eri arvoja syötetään.
Vaihe 3: Kaikkien mahdollisten reittien tunnistaminen
Katso vuokaaviota ja tunnista kaikki mahdolliset polut, joita käyttäjät voivat kulkea, alkaen vuokaavion ensimmäisestä vaiheesta ja päättyen viimeiseen vaiheeseen.
Mitä enemmän haaroja ja päätöksiä virtauskaaviossasi on, sitä enemmän ainutlaatuisia polkuja on olemassa. Ymmärtämällä, kuinka monta ainutlaatuista mahdollista polkua on olemassa, voit varmistaa, että testitapaukset kattavat kaikki mahdollisuudet.
Vaihe 4: Luo testitapaukset
Seuraava vaihe white box -testauksessa on testitapausten kirjoittaminen, joissa tarkistetaan kaikki edellä tunnistamasi polut.
On tärkeää varmistaa, että testitapaukset kattavat kaikki mahdolliset reitit ja että niissä hahmotellaan selkeästi toimenpiteet, jotka testaajien tai kehittäjien on tehtävä kunkin testitapauksen suorittamiseksi.
Ilmoita kunkin testitapauksen tunnus ja nimi sekä lyhyt kuvaus ja kunkin testin odotetut tulokset.
Vaihe 5: Testitapausten suorittaminen
Nyt on aika suorittaa testitapaukset, mitä useimmat pitävät itse white box -testauksena.
Testaajat suorittavat testitapaukset noudattamalla kussakin testitapauksessa esitettyjä lyhyitä ohjeita ja raportoivat kunkin testitapauksen tuloksen. Tätä voidaan verrata testitapauksessa esitettyihin odotettuihin tuloksiin, jotta voidaan todeta, onko kukin white box -testi läpäissyt vai epäonnistunut.
Vaihe 6: Toista sykli tarvittaessa.
Kuten muissakin ohjelmistotestauksen muodoissa, myös white box -testauksessa on kyse siitä, että verrataan järjestelmän todellista toimintaa testaajien odotuksiin siitä, miten järjestelmän pitäisi toimia.
Jos testaajat huomaavat, että järjestelmä ei käyttäydy odotetulla tavalla, se voi tarkoittaa, että white box -testaus on epäonnistunut, ja kehittäjien on korjattava koodirivit ennen jatkotestausta.
Toista edellä kuvattu prosessi ja tee lisää white box -testausta, kunnes järjestelmä on testattu perusteellisesti ja kaikki virheet on korjattu.
Parhaat käytännöt white box -testauksessa
Parhaat käytännöt white box -testauksessa riippuvat siitä, minkä tyyppistä testausta olet tekemässä ja missä vaiheessa testausprosessia olet.
Koska suurin osa white box -testauksesta tapahtuu yksikkö- ja integrointitestauksen aikana, useimmat white box -testauksen parhaat käytännöt koskevat näitä vaiheita.
1. Maksimoi testien kattavuus
Määritelmän mukaan on tärkeää maksimoida testien kattavuus white box -testauksessa, jotta varmistetaan, että suuri osa ohjelmistosta testataan tässä vaiheessa.
Voit tehdä tämän maksimoimalla polkujen ja haarojen kattavuuden ja kirjoittamalla testitapauksia, jotka tutkivat kaikki mahdolliset polut ja lopputulokset valmisteluvaiheessa.
2. Tarkista käyttäytyminen ja suorituskyky
Kun kirjoitat testitapauksia valkoisen laatikon testauksessa, haluat luoda testitapauksia, jotka varmistavat, että järjestelmä toimii odotetulla tavalla, sekä testitapauksia, jotka varmistavat järjestelmän suorituskyvyn.
Sen lisäksi, että tarkistat, että tietyt toiminnot johtavat tiettyihin tuloksiin, voit esimerkiksi tarkistaa, kuinka nopeasti järjestelmä pystyy suorittamaan tietyt tehtävät tai kuinka eri muuttujat vaikuttavat suorituskykyyn.
3. Kirjoita testitapaukset toisistaan riippumatta
Jos haluat todentaa kaksi erillistä ominaisuutta, esimerkiksi jos koodiluokka on riippuvainen tietystä tietokannasta, luo abstrakti rajapinta, joka kuvastaa tätä tietokantayhteyttä, ja toteuta rajapinta pilkkuobjektilla tämän yhteyden testaamiseksi.
Näin varmistetaan, että testitapaukset tarkistavat ne yhteydet, jotka haluat niiden tarkistavan, eikä jotain muuta.
4. Kattaa kaikki polut ja silmukat
Testauksen kattavuuden maksimointi tarkoittaa kaikkien mahdollisten polkujen kattamista, ehdollisten silmukoiden ja muiden koodissa olevien silmukkatyyppien huomioon ottamista.
Varmista, että suunnittelet testitapaukset, joissa tutkitaan kaikki mahdolliset polut ja varmistetaan, että silmukat käyttäytyvät odotetulla tavalla syötteestä riippumatta.
7 virhettä ja sudenkuoppaa, kun
White box -testien toteuttaminen
Kun aloitat white box -testauksen, on tärkeää olla tietoinen joistakin yleisimmistä sudenkuopista, joihin kehittäjät usein lankeavat white box -testausta tehdessään. Yleiset virheet white box -testauksessa voivat aiheuttaa viivästyksiä ja epätarkkuuksia, jotka voivat haitata ohjelmistojulkaisun laatua ja aikataulua.
1. Ajattelu, että white box -testausta ei tarvita.
Jotkut testaajat ajattelevat, että white box -testaus ei ole tarpeen, koska black box -testaus testaa kaikki ohjelmiston ulkoiset tuotokset, ja jos ne toimivat oikein, oletetaan, että myös järjestelmän sisäiset toiminnot toimivat.
Valkoisen laatikon testaus voi kuitenkin auttaa kehittäjiä löytämään ongelmia ja virheitä, jotka eivät aina näy mustan laatikon testauksessa, ja se on tärkeää ohjelmistojärjestelmien turvallisuuden varmistamisessa.
Jos esimerkiksi ohjelmassa on muistivuoto, joka aiheuttaa suorituskyvyn heikkenemistä pitkiä aikoja ja jota mustalaatikkotestaus ei tutki, valkolaatikkotestaus on ainoa vaihtoehto koodin läpikäymiseen ja ongelman löytämiseen ennen laajaa julkista julkaisua.
2. Suoritetaan kaikki white box -testaus manuaalisesti
Jotkut kehittäjät saattavat ajatella, että white box -testaus on yhtä helppoa kuin black box -testaus.
White box -testaus on kuitenkin huomattavasti aikaa vievämpää, ja kehittäjät, jotka yrittävät suorittaa white box -testauksen täysin manuaalisesti, saattavat huomata, että manuaalisia tarkastuksia on mahdotonta suorittaa haluttujen standardien mukaisesti tai maksimoiden testien kattavuus.
3. Testaajien osoittaminen testitapausten suorittamiseen
Valkoisen laatikon testauksen tulisi olla täysin kehittäjien, ohjelmistosuunnittelijoiden ja sellaisten henkilöiden suorittamaa, jotka ymmärtävät täysin ohjelmistojärjestelmän sisäisen toiminnan.
Jotkut kehittäjät luulevat, että he voivat siirtää white box -testauksen QA-testaajille, kun he ovat itse kirjoittaneet testitapaukset, mutta tämä johtaa vain huonoon toteutukseen ja heikentää dokumentoinnin laatua.
4. Testauksen kiirehtiminen
Ohjelmistotestaus on pitkä ja aikaa vievä prosessi, ja jotkut kehittäjät saattavat joutua kiirehtimään white box -testauksen läpi siirtyäkseen seuraavaan kehitysvaiheeseen. On tärkeää varata riittävästi aikaa ja resursseja white box -testaukseen, jotta varmistetaan, että kehittäjät eivät tunne kiirettä ja että heillä on riittävästi aikaa maksimoida testien kattavuus.
5. Huono dokumentointi
Asianmukainen dokumentointi ennen testausta, testauksen aikana ja testauksen jälkeen varmistaa, että kaikilla ohjelmistokehitykseen ja testaukseen osallistuvilla on käytettävissään oikeat tiedot oikeaan aikaan.
Varmista, että jokainen kehitystiimin jäsen osaa kirjoittaa selkeää dokumentaatiota ja raportoida white box -testauksen tulokset.
6. Automaatiotyökalujen virheellinen käyttö
Automaatiotyökalut voivat tehdä white box -testauksesta helppoa, mutta on tärkeää varmistaa, että koko tiimisi ymmärtää, mitä automaatiotyökaluja käytät ja miten niitä käytetään.
Eri työkalut soveltuvat erityyppiseen testaukseen, joten on tärkeää valita valkoisen laatikon testaukseen sopivat automaatiotyökalut ja oppia käyttämään niiden ominaisuuksia oikein.
Jotkin työkalut eivät esimerkiksi integroi automaatiota, vaan keskittyvät sen sijaan tiedonkeruuseen ja tikettien järjestämiseen, mikä ei ole läheskään ihanteellista automatisoidulle testaukselle. Päinvastoin, ZAPTESTin kaltaiset täysimittaiset työkalut kattavat koko testausprosessin sellaisten ominaisuuksien avulla kuin Any Task Automation, joten ne soveltuvat tehokkaampaan white box -testaukseen.
7. Ei työskentelyä laadunvarmistusryhmän kanssa
Vaikka kehittäjät suunnittelevat ja suorittavat white box -testauksen, se ei tarkoita, että QA-ryhmän ei pitäisi osallistua siihen millään tavalla.
On tärkeää välittää valkoisen laatikon testauksen tulokset QA-ryhmälle, jotta he ymmärtävät, mitä tähän mennessä on testattu ja miten valkoisen laatikon testauksen tulokset voivat vaikuttaa siihen, miten QA-ryhmä lähestyy mustan laatikon testausta.
Jos et ota QA-ryhmää mukaan, eri osastojen välille syntyy mahdollisesti epäsuhta, mikä johtaa huonoon viestintään ja huonompaan palautteeseen testauksen myöhemmässä vaiheessa. Lopputuloksena on lopputuotteen huomattavasti alhaisempi laatutaso.
Valkoisen laatikon testien tulostyypit
Kun suoritat white box -ohjelmistotestausta, saat erilaisia tuloksia suorittamiesi testien tuloksista riippuen. Näiden white box -testien tulosten ymmärtäminen voi auttaa sinua ymmärtämään, mitä toimia sinun on toteutettava seuraavaksi.
1. Testitulokset
Valkoisen laatikon testien tulokset kertovat, onko sinun jatkettava testausta, onko korjattavia virheitä ja onko kukin yksittäinen testitapaus läpäissyt vai epäonnistunut. Perusteellinen dokumentointi on välttämätöntä, koska se auttaa kehittäjiä ja testaajia ymmärtämään white box -testauksen tuloksia.
2. Viat
White box -testauksessa voidaan havaita virheitä, ja joskus white box -testien tuloksena on virheitä ja vikoja.
Jos ohjelmistojärjestelmä ei käyttäydy odotetulla tavalla white box -testauksen aikana, se voi olla merkki siitä, että ohjelmassa on vakavia vikoja, jotka on korjattava ennen kuin kehittämistä ja testausta jatketaan.
3. Testiraportit
Testausraportit ovat raportteja, jotka kehittäjät ja testaajat laativat ohjelmistotestauksen aikana ja sen jälkeen.
Ne sisältävät yksityiskohtaiset tiedot testauksen tuloksista, mukaan lukien testitapaukset, jotka läpäisivät ja jotka eivät läpäisseet testauksen, testauksen aikana havaitut virheet ja suositukset seuraaviksi vaiheiksi.
Kehittäjät käyttävät testiraportteja kommunikoidakseen muiden kehittäjien kanssa, joiden tehtävänä voi olla testauksen aikana havaittujen vikojen ja virheiden korjaaminen.
Esimerkkejä white box -testeistä
Valkoisen laatikon testauksen avulla kehittäjät voivat tarkistaa, että ohjelmistojärjestelmän sisäinen rakenne toimii niin kuin sen pitäisi, riippumatta järjestelmän ulkoisista tuloksista ja tuotoksista.
Alla olevat esimerkit havainnollistavat, miten white box -testaus voi auttaa kehittäjiä varmistamaan ohjelmiston sisäiset toiminnot.
1. Esimerkki sähköisen kaupankäynnin rekisteröintisivusta
Yksi esimerkki white box -testauksesta on se, miten kehittäjät testaavat verkkosivuston toimintoja. Jos yrität testata sähköisen kaupankäynnin verkkosivuston rekisteröintisivua, white box -testauksen avulla kehittäjät voivat ymmärtää, toimivatko rekisteröintiin liittyvät toiminnot ja luokat niin kuin niiden pitäisi, kun rekisteröintitoiminto suoritetaan.
Tämä sisältää erityisesti kaikki käyttäjän syöttämät tiedot ja arvioi lomakkeen taustalla olevat parametrit, mukaan lukien päivämäärät, jotka ovat voimassa ja jotka eivät ole voimassa, sekä sen, mitä lomake pitää laillisena sähköpostiosoitteena.
Tämän jälkeen ryhmä syöttää sarjan merkkijonoja, jotka testaavat lomaketta, joista osa on suunniteltu epäonnistumaan ja osa onnistumaan, ennen kuin tulokset arvioidaan suhteessa ennustettuihin tuloksiin.
Mustan laatikon testauksessa taas tarkistetaan vain, toimiiko sivu itsessään, eikä analysoida sen enempää miksi tai miten.
2. Laskin esimerkki
Sovelluslaskurit ovat toinen esimerkki white box -testauksesta.
Jos olet luomassa laskinta, jota käytetään osana sovellusta, mustan laatikon testaajat testaavat yksinkertaisesti, onko laskimen tulostus oikein, kun laskinta käytetään tarkoitetulla tavalla.
Valkoisen laatikon testaajat tarkistavat laskimen sisäiset laskutoimitukset tarkistaakseen, miten tulos on laskettu ja onko se oikea. Tämä on hyödyllisempää monimutkaisemmissa laskutoimituksissa, joissa on useita vaiheita, kuten verojen laskemisessa. Testaajat tutkivat koodia nähdäkseen, mitä vaiheita laskin suorittaa ja missä järjestyksessä vaiheet ovat, ennen kuin he näkevät lopputuloksen jokaisen vaiheen jälkeen.
Jos laskimen syöttö on (7*4) – 6 ja lähtö 22, tämä on oikein, ja mustan laatikon testaus läpäisee tämän testin. Tämä johtuu kuitenkin siitä, että 7*4 = 28 ja 28 – 6 on 22. White box -testaus voisi paljastaa, että ohjelmisto löysi tämän tuloksen suorittamalla 7*4 = 32 ja 32 – 6 = 22, joista kumpikaan ei ole oikein.
Tämä parempi näkemys osoittaa, että laskelma on tarkka jokaisen tietyn vaiheen jälkeen, löytää vaiheen, jossa se ei ehkä ole tarkka, ja ratkaisee ongelman nopeammin, koska testaaja näkee selvästi, missä ongelma ilmenee.
Virheiden ja vikojen tyypit valkoisen laatikon testauksessa
Valkoisen laatikon testauksen aikana on mahdollista tunnistaa ja paikantaa virheitä, jotka voivat vaikuttaa siihen, miten järjestelmä toimii konepellin alla. Nämä viat voivat vaikuttaa ulkoisiin toimintoihin tai ne voivat vaikuttaa suorituskykyyn tai luotettavuuteen.
Alla on lueteltu joitakin yleisimpiä virheitä ja vikoja, joita esiintyy white box -testauksen aikana.
1. Loogiset virheet
Loogisia virheitä syntyy white box -testauksessa, koska white box -testit paljastavat alueita, joissa ohjelma ei toimi loogisesti tai joissa ohjelmistokoodin toimintoja ja ehtoja käytetään väärin.
Loogiset virheet voivat ilmetä järjestelmävirheinä tai yksinkertaisesti johtaa odottamattomaan käyttäytymiseen ja tuloksiin.
2. Suunnitteluvirheet
Valkoisen laatikon testaus voi auttaa kehittäjiä tunnistamaan koodin suunnitteluvirheet. Suunnitteluvirheitä syntyy, kun ohjelmiston loogisen kulun ja ohjelmiston todellisen toteutuksen välillä on ero. Ne voivat johtaa odottamattomaan käyttäytymiseen ja suorituskykyyn liittyviin virheisiin.
3. Kirjoitusvirheet
Kirjoitus- ja syntaksivirheet ovat virheitä, jotka johtuvat inhimillisestä erehdyksestä – esimerkiksi siitä, että kehittäjä on kirjoittanut tietyn lauseen väärin tai lisännyt koodiriville väärät välimerkit. Tällaiset pienet virheet voivat johtaa rikkinäisiin toimintoihin ja lausekkeisiin, joita ohjelmisto ei pysty lukemaan, mikä voi aiheuttaa suuria virheitä järjestelmässä.
Yleiset valkoisen laatikon testauksen mittarit
Kun teet white box -testausta, yleiset testausmittarit voivat auttaa sinua mittaamaan, kuinka onnistuneita ja kattavia white box -testit ovat, sekä ymmärtämään kehittäjien työn laatua.
Testauksen mittarit vaikuttavat kehitysprosessiin, koska niiden avulla voidaan tunnistaa parannuskohteita tai ohjata testausprosessia eteenpäin.
1. Koodin kattavuus
Yksi valkoisen laatikon testauksen tärkeimmistä ominaisuuksista on se, että sen pitäisi kattaa mahdollisimman suuri osa koodista, ja voit mitata koodin kattavuutta mittaavilla mittareilla, kuinka paljon koodia olet kattanut.
Koodin kattavuusmittarit osoittavat, kuinka suuren osan sovelluksen kokonaiskoodista olet varmistanut white box -testauksen avulla. Yleensä kehittäjät pyrkivät kattamaan mahdollisimman 100 prosenttia ohjelmistokoodista white box -testauksella.
Koodin kattavuus voidaan jakaa eri mittareihin, kuten polkujen, segmenttien, lausekkeiden ja haarojen kattavuuteen.
Yhdistettyjen ehtojen kattavuus on toisenlainen koodin kattavuuden mittari, jossa tarkistetaan, että jokainen ehtojen joukkoihin sisältyvä ehto on tarkistettu useiden polkujen ja polkujen yhdistelmien ohella.
2. Virheitä koskevat mittarit
Vikamittarit kertovat, kuinka monta virhettä on löydetty, kuinka hyvin white box -testaus tunnistaa virheet ja kuinka suuri osa koodista läpäisee white box -testauksen tai ei läpäise sitä.
Virhemittarit voidaan esittää virheiden lukumääränä tuhatta koodiriviä kohti tai ohjelman kokonaisvirheiden lukumääränä. Vaikka vikojen vähäinen määrä saattaa vaikuttaa myönteiseltä, kehittäjien on varmistettava, että tämä ei johdu siitä, että virheet jäävät testauksessa huomaamatta.
3. Testin suorittaminen
Testien suoritusmittarit auttavat kehittäjiä näkemään nopeasti, kuinka suuri osa kaikista testeistä on tähän mennessä suoritettu ja kuinka monta testiä on vielä suorittamatta. Tekstin suoritusmittarit auttavat ohjelmistotiimejä ymmärtämään, kuinka pitkällä white box -testauksen edistyminen on ja sujuuko automatisoidut ohjelmistotestit odotetulla tavalla.
On kuitenkin mahdollista saada sekä vääriä positiivisia että vääriä negatiivisia tuloksia, jotka voivat vaikuttaa tämän mittarin tarkkuuteen.
4. Testin kesto
Testauksen kestomittarit kertovat, kuinka kauan automaattisten testien suorittaminen kestää, mikä on erityisen tärkeää white box -testauksessa, koska automatisointi on välttämätöntä testien tehokkuuden ja kattavuuden maksimoimiseksi.
Testien kesto on usein ketterän ohjelmistokehityksen pullonkaula, joten sen ymmärtäminen, kuinka kauan ohjelmistotestien suorittaminen kestää, voi auttaa kehitystiimejä nopeuttamaan kehitysprosessia.
On kuitenkin tärkeää muistaa, että testien kestoa koskevat mittarit eivät kerro mitään suoritettavien testien laadusta.
Valkoisen laatikon testaustyökalut
Työkalut ja teknologia voivat tehdä white box -testauksesta huomattavasti tarkempaa, tehokkaampaa ja kattavampaa. White box -testaustyökalut voivat auttaa ohjelmistosuunnittelijoita automatisoimaan white box -testauksen, tallentamaan ja dokumentoimaan white box -testausprosessin sekä hallinnoimaan white box -testausta alusta loppuun.
5 parasta ilmaista valkoisen laatikon testaustyökalua
Jos et halua vielä investoida kalliisiin white box -testaustyökaluihin, voit kokeilla lukuisia ilmaisia white box -testaustyökaluja verkossa maksamatta mitään.
Ilmaiset testaustyökalut eivät aina tarjoa kaikkia samoja toimintoja kuin yritystyökalut, mutta ne ovat hyvä lähtökohta valkoisen laatikon testauksen aloittelijoille, ja ne voivat auttaa kehitystiimejä ymmärtämään paremmin, mitä työkaluja ja tekniikoita ne tarvitsevat.
1. ZAPTEST ILMAINEN painos
ZAPTEST on ohjelmistotestaustyökalu ja robottiprosessien automaatio-ohjelmisto, jonka avulla kehittäjät ja QA-testaajat voivat automatisoida sekä white box – että black box -testauksen.
ZAPTESTin ilmaisversio mahdollistaa useita virtuaalisia käyttäjiä, useita iteraatioita ja käyttäjäfoorumituen. Sovellus toimii sekä paikallisten että ulkoisten tietolähteiden kanssa ja integroituu HP ALM:n, Rallyn ja JIRAn kanssa. Käyttäjät, jotka pitävät ZAPTESTin ilmaisesta tarjonnasta ja haluavat nähdä enemmän yrityksen tarjonnasta, voivat myös tiedustella päivitystä yritysversioon, kun se on valmis.
2. Bugzilla
Bugzilla on erittäin suosittu avoimen lähdekoodin ohjelmistotestityökalu, jonka avulla kehittäjät voivat seurata ohjelmistossa olevia vikoja ja puutteita sekä hallita vikojen elinkaarta.
Bugzilla helpottaa vikojen jakamista kehittäjille, vikojen priorisointia ja tarkistamista sekä niiden sulkemista, kun ne on korjattu. Bugzilla on loistava työkalu tiimeille, jotka yrittävät vielä standardoida lähestymistapaansa vikailmoituksiin, ja sen käyttö on täysin ilmaista.
3. OpenGrok
OpenGrok on avoimen lähdekoodin koodiselain ja hakukone koodipohjalle. Se on yhteensopiva Java-, C++-, JavaScript- ja Python-koodin sekä muiden ohjelmointikielten kanssa.
Jos haluat navigoida nopeasti laajassa koodipohjassa white box -testauksen aikana, OpenGrok on täysin ilmainen ja helppokäyttöinen.
4. SQLmap
SQLmap on toinen avoimen lähdekoodin työkalu, jota pidetään lähes välttämättömänä white box -testauksessa. SQLmap säätelee SQL-injektiovirheiden hyödyntämistä ja havaitsemista.
SQLmap on itseään ”tunkeutumistestaustyökaluksi” kutsuva työkalu, joka voi auttaa white box -testaajia tunnistamaan ja paikantamaan lähdekoodin tietoturvavirheet ja korjaamaan ne ennen jatkamista.
5. Emma
Emma on avoimen lähdekoodin työkalupakki, jolla voit mitata koodin kattavuutta, jos työskentelet Javalla. Se on erittäin nopea tapa selvittää koodin kattavuus nopeasti ja seurata, kuinka paljon koodia kukin kehitystiimin jäsen on kattanut yksilöllisesti.
Emma tukee luokkien, menetelmien, rivien ja peruslohkojen kattavuutta, ja se on täysin Java-pohjainen.
5 parasta yritystason white box -testaustyökalua
Jos etsit työkaluja, jotka tarjoavat enemmän toimintoja tai parempaa tukea, yritysten white box -testaustyökalut saattavat sopia paremmin kehitystiimillesi.
1. ZAPTEST ENTERPRISE painos
ZAPTESTin yritysversio on ilmaisen ZAPTESTin parannettu versio. Tässä versiossa käyttäjät voivat hyödyntää rajattomasti OCR-malleja, rajattomasti iteraatioita ja rajattomasti VBScript- ja JavaScript-skriptejä.
ZAPTESTin yritysversio tarjoaa kattavamman työkalupaketin kehitystiimeille, jotka haluavat siirtyä automatisointiin, ja yritysversio sisältää myös asiantuntijatukea, jotta tiimisi saa kaiken mahdollisen irti ZAPTESTin ohjelmistotestauksen automaatio- ja RPA-teknologiasta.
2. Fiddler
Fiddler on Telerikin tarjoama työkalupaketti, joka on tarkoitettu verkkosovellusten white box -testaukseen. Fiddler voi kirjata kaiken HTTP-liikenteen järjestelmäsi ja internetin välillä ja arvioida asetettuja taukopisteitä sekä säätää lähteviä ja saapuvia tietoja. Se on saatavana eri muodoissa budjetin ja vaatimusten mukaan, joten Fiddler-painos löytyy lähes kaikille joukkueille.
3. HP-vahvistus
HP Fortify, joka tunnettiin aiemmin nimellä Fortify, on toinen tietoturvatestaustyökalu, joka tarjoaa kattavia tietoturvaratkaisuja white box -testaukseen. Fortify-työkalupakettiin kuuluu Fortify Source Code Analysis -työkalu, joka skannaa lähdekoodisi automaattisesti haavoittuvuuksien varalta, jotka voivat jättää sovelluksesi alttiiksi verkkohyökkäyksille.
4. ABAP-yksikkö
ABAP Unitin yritysversion avulla ohjelmistokehittäjät voivat suorittaa sekä manuaalisen että automaattisen yksikkötestauksen nopeasti ja yksinkertaisesti. Kehittäjät kirjoittavat yksikkötestejä ABAP-sovellukseen ja käyttävät näitä testejä koodin toimintojen tarkistamiseen ja virheiden tunnistamiseen yksikkötestauksessa.
Ohjelmistotiimit, jotka haluavat kokeilla tätä työkalua, voivat aloittaa ABAP Unitin ilmaisella versiolla ja siirtyä sitten yritysversioon.
5. LDRA
LDRA on oma työkalupaketti, jota voidaan käyttää lausekkeiden, haarojen ja päätösten kattavuuteen white box -testauksessa. Se on erinomainen työkalu, jos haluat tarkistaa, että lähdekoodisi täyttää standardien noudattamista, jäljittämistä ja koodihygieniaa koskevat vaatimukset.
Milloin sinun pitäisi käyttää yritystä
vs freemium white box -testaustyökalut?
Sekä yritysten että ilmaisohjelmistojen testaustyökaluilla on paikkansa kaikissa nykyaikaisissa ohjelmistokehitystiimeissä. Kun tiimisi kasvaa ja automatisoidusta testauksesta tulee yhä tärkeämpää valkoisen laatikon testauksen lähestymistavassa, haluat todennäköisesti siirtyä työskentelemästä ensisijaisesti ilmaisten testaustyökalujen kanssa yritystyökaluihin, jotka tarjoavat enemmän toimintoja ja rajattomasti käyttömahdollisuuksia.
On kuitenkin tiettyjä tilanteita, joissa freemium-työkalut voivat olla sopivampia kuin yritystyökalut.
Monet kehittäjät aloittavat freemium-työkaluilla kokeillessaan uusia ominaisuuksia ja tekniikoita ensisijaisesti arvioidakseen, sopivatko nämä tekniikat heidän tiimilleen, ennen kuin he investoivat yritystekniikkaan.
Voit myös kokeilla yritystyökalujen, kuten ZAPTESTin, ilmaisia versioita, jotta voit kokeilla niitä ennen ostamista ja saada lisätietoja yritystyökalujen tarjoamista mahdollisuuksista.
Jotkut freemium-työkalut, kuten Emma ja Bugzilla, ovat erikoistuneet kapeisiin mutta tärkeisiin ominaisuuksiin, jotka tarjoavat jatkuvia etuja jopa niille ohjelmistotiimeille, jotka ovat valmiita maksamaan yritysteknologioista.
White box -testaus: tarkistuslista, vinkkejä ja temppuja
Kun olet valmis suorittamaan white box -testauksen, varmista, että sinulla on kaikki tarvittava ennen aloittamista. Alla on luettelo asioista, jotka on hyvä muistaa ennen white box -testauksen aloittamista, jotta voit maksimoida testien kattavuuden ja parantaa white box -testien tulosten tarkkuutta.
1. Käytä automaatiotyökaluja
Automaatiotyökalut voivat nopeuttaa huomattavasti white box -testausprosessia sekä vähentää virheiden määrää ja lisätä yleistä tarkkuutta.
Lähes kaikki ohjelmistotiimit käyttävät nykyään jonkinasteista automaatiota white box -testaukseen, joten eri automaatiotyökalujen ja -tekniikoiden kokeileminen ennen white box -testauksen aloittamista voi auttaa sinua valitsemaan haluamasi työkalut ennen testauksen aloittamista.
2. Tavoittele 100 %:n testikattavuutta
Et luultavasti saavuta tavoitettasi 100 %:n testikattavuudesta, mutta on parasta pyrkiä mahdollisimman lähelle tätä lukua, kun suoritat white box -testausta.
Käytä testin kattavuuden työkaluja yksittäisten mittareiden, kuten polkujen ja haarojen kattavuuden, seuraamiseen ja mittaamiseen ja varmista, että kaikki ohjelmiston tärkeimmät polut ja haarat on katettu white box -testauksen aikana.
3. Selkeiden testiraporttien laatiminen
Kuten muissakin ohjelmistotestauksen muodoissa, varmista, että tiimisi osaa laatia tarkat ja selkeät testiraportit kunkin testausvaiheen jälkeen.
Testausraportti on laadittava helposti ymmärrettävään muotoon, ja sen on sisällettävä yksityiskohtaiset tiedot testauksen lähestymistavasta sekä yhteenveto kunkin suoritetun testitapauksen tuloksista ja tuloksista. Loppuraportissa olisi perusteltava toteutetut toimet ja annettava suosituksia seuraavista toimista.
4. Mittaa menestystäsi testauksen mittareilla
Testausmittarit auttavat ohjelmistotiimejä seuraamaan ja tallentamaan white box -testauksen edistymistä ja tarjoavat arvokasta tietoa, jota voidaan hyödyntää tulevissa kehitysprosesseissa.
On tärkeää, että kehittäjät käyttävät mittareita ymmärtääkseen, kuinka tehokasta heidän suorittamansa testaus on ja kuinka puhdasta heidän alkuperäinen koodinsa oli, jotta he voivat parantaa työtään tulevaisuudessa.
White box -testaus:
Päätelmä
White box -testaus on ohjelmistotekniikassa olennainen ohjelmistotestauksen tyyppi, jolla tarkistetaan ohjelmistosovelluksen lähdekoodin sisäinen rakenne ja logiikka.
Yhdessä mustan laatikon testauksen kanssa valkoisen laatikon testauksella varmistetaan, että ohjelmisto toimii odotetulla tavalla ja että sisäinen koodi on loogista, puhdasta ja täydellistä.
White box -testausta tehdään useimmiten yksikkö- ja integrointitestauksessa, ja sen suorittavat aina kehittäjät ja ohjelmistosuunnittelijat, jotka tuntevat täysin ohjelmiston sisäisen koodin.
Vaikka osa white box -testauksesta voidaan tehdä manuaalisesti, nykyään suuri osa white box -testauksesta on automatisoitua, koska white box -testauksen automatisointi parantaa nopeutta, tehokkuutta ja kattavuutta.
Usein kysytyt kysymykset ja resurssit
Jos haluat oppia lisää white box -testauksesta, voit tutustua moniin ilmaisiin verkkolähteisiin. Voit käyttää videoita, kirjoja ja muita resursseja opetellaksesi itsellesi, miten white box -testaus suoritetaan, ja varmistaaksesi, että white box -testausstandardit noudattavat parhaita käytäntöjä.
1. Parhaat kurssit white box -testausautomaatiosta
Jos haluat oppia lisää white box -testausautomaatiosta, voit käydä ohjelmistotestauksen ja white box -testauksen kurssin. Jotkut näistä kursseista ovat akkreditoituja ja tarjoavat virallisia pätevyyksiä, kun taas toiset ovat epävirallisia verkkokursseja, jotka on suunniteltu auttamaan kehittäjiä ja ohjelmistotestaajia, jotka haluavat parantaa tietämystään tietystä aiheesta.
Joitakin parhaista nykyään verkossa saatavilla olevista white box -testauskursseista ovat:
2. Mitkä ovat viisi tärkeintä haastattelukysymystä white box -testausautomaatiosta?
Jos valmistaudut haastatteluun, jossa saatat keskustella white box -testauksesta, white box -tekniikoista ja automaatiotyökaluista, on tärkeää, että tiedät.
- Mitä eroa on valkoisen laatikon testauksella ja mustan laatikon testauksella?
- Miksi white box -testaus on tärkeää?
- Millaisia erilaisia lähestymistapoja white box -testaukseen voi käyttää?
- Mitä prosesseja white box -testaukseen liittyy ja miten voimme parantaa niitä?
- Mitä työkaluja ja teknologioita voit käyttää nopeuttaaksesi tai tarkentaaksesi white box -testausta?
3. Parhaat YouTube-oppaat white box -testauksesta
Jos haluat oppia lisää valkolaatikkotestauksesta, YouTube-oppaiden katselu voi auttaa sinua ymmärtämään, miten valkolaatikkotestaus toimii, ja näkemään visuaalisia selityksiä valkolaatikkotestaukseen liittyvistä prosesseista ja lähestymistavoista.
Joitakin informatiivisimpia YouTube-oppaita verkossa on nyt muun muassa:
- Udacity: Udacity: White Box Testing Esimerkki
- Guru99: Mikä on White Box -testaus?
- White Box vs. Black Box -testaus
- Valkoisen laatikon testaustekniikat
- Ohjelmistotestauksen mentori: White Box Testing: Mikä on White Box Testing?
4. Miten white box -testejä ylläpidetään
Ohjelmistotestien ylläpidolla varmistetaan, että suoritetut testit ovat kerta toisensa jälkeen perusteellisia ja tarkoituksenmukaisia. On tärkeää ylläpitää kaikentyyppisiä ohjelmistotestejä sekä mustalaatikko- että valkolaatikkotestauksessa, koska testejä suorittava koodi muuttuu jatkuvasti jokaisen bugikorjauksen ja iteraation myötä. Tämä tarkoittaa, että testiskriptien on muututtava sen mukana.
Valkoisen laatikon testien ylläpitäminen edellyttää, että testausautomaatiokehys pidetään ajan tasalla ja että käytetään prosesseja, joilla varmistetaan, että testit ja testitapaukset päivitetään säännöllisesti.
Voit tehdä tämän seuraavasti:
Ylläpidon sisällyttäminen testisuunnitteluun:
Kun otat huomioon white box -testauksen tulevaisuuden, kun rakennat ja suunnittelet white box -testejä, testien ylläpito helpottuu tulevaisuudessa.
Mahdollistaa tiimien välisen selkeän viestinnän:
Varmista, että kaikilla kehitystiimisi jäsenillä on useita viestintäkanavia, jotta koodiin tehdyt muutokset voidaan heijastaa nopeasti testeihin heti, kun niitä on tehty.
Ole sopeutumiskykyinen:
Joskus saatat tehdä koodiin muutoksia, joita et ole suunnitellut. Varmista, että tiimisi osaa mukautua nopeasti näihin muutoksiin ja että sillä on taidot seurata muutoksia testauksessa.
Arvioi testauskäytännöt jatkuvasti uudelleen:
Testausprotokollat, jotka otit käyttöön testauksen alussa, eivät välttämättä ole enää sopivia, kun ohjelmistoosi on tehty erilaisia muutoksia ja parannuksia. Arvioi testauskäytäntöjäsi uudelleen säännöllisin väliajoin varmistaaksesi, että ne sopivat edelleen hyvin.
5. Parhaat kirjat white box -testauksesta
White box -testaus on syvällinen aihe, jonka hallitseminen voi viedä vuosia. Jos haluat tulla asiantuntijaksi nykyaikaisessa white box -testauksessa, voit lukea kehittäjien, tutkijoiden ja insinöörien kirjoittamia white box -testausta käsitteleviä kirjoja.
Parhaita kirjoja white box -testauksesta ja testiautomaatiosta ovat muun muassa seuraavat:
- Ohjelmistotestauksen taito, kolmas painos by Glenford J. Myers, Corey Sandler, Tom Badgett, Todd M. Thomas.
- Ohjelmistotestaus: Jorgensen: Käsityöläisen lähestymistapa, neljäs painos.
- Kuinka rikkoa ohjelmistoja: James Whittaker: Käytännön opas testaukseen.
- Dan Mosleyn ja Bruce Poseyn Just Enough Software Test Automation -teos
Näitä kirjoja pitäisi löytyä joistakin kirjakaupoista ja kirjastoista sekä verkosta. Löydät myös muuta luettavaa ja oppimateriaalia hyvien ohjelmistotestauskurssien ja -ohjelmien lukulistoista.