Bijela kutija je kategorija testiranja softvera koja se odnosi na metode testiranja kako funkcioniraju unutarnja struktura i dizajn softvera. To je u suprotnosti s testiranjem crne kutije, testiranjem koje se ne bavi internim operacijama softvera, već samo testira vanjske izlaze softvera.
U ovom ćemo članku istražiti temu testiranja bijele kutije: što je to, kako funkcionira i koje vrste alata za testiranje softvera mogu pomoći testerima i programerima u provođenju testiranja bijele kutije u testiranju softvera.
Što je testiranje bijele kutije?
Testiranje bijele kutije tehnika je testiranja softvera koja uključuje testiranje unutarnje strukture i dizajna softverske verzije za razliku od vanjskih izlaza ili iskustva krajnjeg korisnika koji se testiraju testiranjem crne kutije.
Testiranje bijele kutije je krovni pojam koji uključuje mnoge različite vrste testiranja softvera uključujući testiranje jedinica i testiranje integracije . Budući da testiranje bijele kutije uključuje testiranje koda i programiranja, provođenje testiranja bijele kutije obično uključuje određeno razumijevanje računalnog programiranja.
Testiranje bijele kutije u softverskom inženjerstvu može uključivati testiranje koda i internog dizajna softvera kako bi se potvrdio ulazno-izlazni tok i provjerio dizajn, upotrebljivost i sigurnost softvera.
Testiranje bijele kutije omogućuje ispitivačima da pregledaju unutarnje funkcioniranje sustava u isto vrijeme dok provjeravaju da unosi rezultiraju određenim, očekivanim rezultatima.
Testiranje bijele kutije bitan je korak u testiranju softvera jer je to jedina vrsta testiranja koja uzima u obzir kako sam kod funkcionira.
1. Kada i zašto vam je potrebna bijela kutija
testiranje u testiranju softvera i inženjerstvu?
Testiranje bijele kutije može se provesti u različitim fazama ciklusa testiranja kako bi se provjerila funkcija internog koda i strukture.
Najčešće se testiranje bijele kutije događa kada programeri i testeri provode jedinično testiranje, a ponekad i tijekom integracijskog testiranja.
Po definiciji, jedinično testiranje se smatra vrstom testiranja bijele kutije, dok integracijsko testiranje može dijeliti značajke testiranja bijele i crne kutije , ali se općenito smatra oblikom testiranja crne kutije.
U suprotnom, testiranje bijele kutije također se može koristiti ad hoc za provjeru internog rada softverske verzije. Testiranje bijele kutije najekonomičniji je način za povećanje pokrivenosti testom ako postoji potreba za tim, a također je jednostavan način za provjeru funkcioniranja određenih dijelova koda ili područja testiranja softverske verzije za koje testeri sumnjaju da su nedovoljno testirana.
Formalni pregledi koda, koji se provode s testiranjem bijele kutije, također se mogu koristiti za prepoznavanje sigurnosnih nedostataka i drugih ranjivosti. Isto tako, ako su elementi koda pokvareni, testiranje bijele kutije može pomoći softverskim inženjerima da utvrde gdje je pogreška.
2. Kada ne trebate raditi testiranje bijele kutije
U većini slučajeva, kada softverski inženjeri i testeri stavljaju novu verziju softvera kroz ciklus testiranja, potrebna je određena količina testiranja bijele kutije kako bi se provjerilo interno funkcioniranje koda.
Jedinično testiranje vrsta je testiranja bijele kutije koje provode programeri kako bi potvrdili da pojedinačne jedinice rade prema očekivanjima. Ova rana vrsta testiranja omogućuje razvojnim programerima da identificiraju bugove i nedostatke prije formalnog testiranja u QA okruženju.
Nakon jediničnog testiranja, provodi se testiranje integracije, testiranje sustava i testiranje prihvaćanja korisnika . To se općenito smatra oblicima testiranja crne kutije koji obično ne uključuju mnogo tehnika testiranja bijele kutije.
Međutim, u nekim slučajevima, testeri i programeri mogu koristiti testiranje bijele kutije tijekom ovih faza kako bi identificirali specifične nedostatke unutar koda. U ovoj fazi, ako nema naznaka da nešto nije u redu s kodom i svi testovi crne kutije prolaze, mnogi timovi za testiranje mogu smatrati da nema potrebe za daljnjim testiranjem bijele kutije.
3. Tko je uključen u testiranje bijele kutije?
Testiranje bijele kutije gotovo uvijek provode programeri softvera i softverski inženjeri. To je zato što testiranje bijele kutije zahtijeva detaljno poznavanje računalnog koda i tehnika kodiranja, a većini QA testera nedostaju tehničke vještine potrebne za provođenje testiranja bijele kutije.
Jedinično testiranje, primarni tip testiranja bijele kutije, programeri uvijek provode u razvojnom okruženju. Programeri bi također mogli provesti testiranje bijele kutije kada i kada je to potrebno, kako bi provjerili način na koji različiti elementi koda rade ili kako bi provjerili jesu li greške ispravno ispravljene.
Prednosti testiranja bijele kutije
Testiranje bijele kutije omogućuje programerima i softverskim inženjerima da testiraju više aspekata koda nego testiranje crne kutije.
Dok nam testiranje crne kutije može reći kako softverska verzija funkcionira za krajnje korisnike, bijela kutija nam može reći više o tome kako softverski kod funkcionira. Čist, učinkovit kod neophodan je u razvoju softvera, osobito ako programeri žele ponovno upotrijebiti kod kasnije ili dodati zakrpe i nadogradnje u budućnosti.
1. Povećajte pokrivenost testom
Testiranje bijele kutije može pomoći testerima da povećaju pokrivenost testom. Testiranjem što je moguće većeg broja softverskog koda obično se maksimizira mogućnost otkrivanja bilo kakvih bugova ili pogrešaka prisutnih u kodu, a svrha testiranja bijele kutije obično je testirati što je više moguće koda.
Testiranje crne kutije, s druge strane, jednostavno se odnosi na izvršavanje testnih slučajeva koji mogu, ali i ne moraju ponuditi široku pokrivenost koda.
2. Pronađite skrivene pogreške i bugove
Jedna od najvećih prednosti testiranja u bijeloj kutiji jest ta da budući da testiranje u bijeloj kutiji provjerava unutarnju funkcionalnost, programerima olakšava pronalaženje pogrešaka i grešaka koje bi inače mogle biti skrivene duboko u kodu.
Osim utvrđivanja prisutnosti grešaka, obično je lakše locirati točno gdje se u bazi koda nalazi greška prilikom testiranja bijele kutije zbog vrlo specifične prirode ove vrste tehnike testiranja.
3. Jednostavnost automatizacije
Vrlo je jednostavno automatizirati testiranje bijele kutije, posebno kada se provodi testiranje jedinice. Jedinični testovi obično zahtijevaju da programeri pojedinačno testiraju male dijelove koda kako bi vidjeli rade li prema očekivanjima. Ovo je vrlo lako automatizirati što znači da je to brz i učinkovit oblik testiranja softvera.
To je jedan od razloga zašto se jedinično testiranje provodi prije drugih, dugotrajnijih vrsta testiranja.
4. Vremenski učinkovit
Testiranje bijele kutije vremenski je učinkovito iz više razloga.
Kao što je gore spomenuto, relativno je lako automatizirati većinu vrsta testiranja bijele kutije, što znači da je često brže provesti testiranje bijele kutije od testiranja crne kutije. Uz to, testiranje bijele kutije programerima olakšava lociranje bugova i pogrešaka koje identificiraju u kodu jer ih pronalaze tijekom testiranja samog koda.
5. Kvaliteta koda
Testiranje bijele kutije omogućuje programerima da ponovno pogledaju kod koji su napisali i procijene njegovu kvalitetu i čistoću.
Prolaženje koda dio po dio daje programerima priliku ukloniti nepotrebne dijelove koda i očistiti kod, što olakšava ponovnu upotrebu i uređivanje dijelova koda u budućnosti.
Također bi moglo natjerati programere da razmotre kako se kod implementira i hoće li se to dobro skalirati u budućnosti.
Izazovi testiranja bijele kutije
Testiranje bijele kutije nije bez izazova. Postoji nekoliko razloga zašto bi neki razvojni timovi mogli smatrati da je testiranje bijele kutije teže provesti nego testiranje crne kutije, kao i drugi razlozi zašto ga neki ljudi smatraju manje važnim od testiranja crne kutije.
1. Tehničke barijere
Testiranje bijele kutije nosi tehničke prepreke koje testiranje crne kutije nema. Za izvođenje testiranja bijele kutije, ispitivači zahtijevaju poznavanje internog rada sustava što, u testiranju softvera, obično znači znanje programiranja.
Zbog toga testiranje bijele kutije gotovo uvijek provode softverski inženjeri i programeri, a ne provode ga QA testeri koji rijetko imaju tehničke vještine potrebne za izvođenje ove vrste testiranja.
2. Trošak
Testiranje bijele kutije može biti skuplje u usporedbi s testiranjem crne kutije zbog toga koliko je ova vrsta testiranja temeljita.
Programeri moraju potrošiti puno vremena na pisanje intenzivnih jediničnih testova, a testovi bijele kutije često se ne mogu ponovno upotrijebiti za druge aplikacije, što znači da izvedba testiranja bijele kutije obično košta dosta.
3. Točnost
Testiranje bijele kutije nije uvijek najtočnija metoda testiranja softvera i ako bi se razvojni timovi oslanjali samo na testiranje bijele kutije, to bi rezultiralo velikim brojem propuštenih grešaka i slučajeva.
Testiranje bijele kutije potvrđuje samo značajke koje već postoje, dok se testiranje crne kutije može koristiti za testiranje djelomično implementiranih značajki ili identificiranje značajki koje zapravo nedostaju u softveru i koje bi trebale biti uključene u kasnijim iteracijama.
4. Opseg
Testiranje bijele kutije obično nam ne govori puno o korisničkom iskustvu ili krajnjem rezultatu funkcija ugrađenih u softver.
Iako programeri mogu koristiti testiranje bijele kutije kako bi provjerili radi li kod kako treba, oni tada ne mogu zaključiti da radni kod isporučuje ispravne rezultate krajnjim korisnicima bez kombiniranja testiranja bijele kutije s testiranjem crne kutije.
To znači da postoje ograničenja s opsegom testiranja bijele kutije i koliko nam ono može reći o softveru.
Karakteristike testova bijele kutije
Testiranje bijele kutije može se definirati posebnim karakteristikama koje ga razlikuju od drugih oblika testiranja kao što su testiranje crne kutije i sive kutije.
Većina ovih karakteristika može se razmotriti iz perspektive toga kako se razlikuju od karakteristika testiranja crne kutije i kako to razlikuje testiranje bijele kutije od testiranja crne kutije.
1. Mogućnost održavanja
Testiranje bijele kutije dovodi do veće razine mogućnosti održavanja u vašem kodu, pojednostavljujući rad koji vaš tim mora obaviti u budućnosti.
Budući da postoji stalna pažnja na kodu i onome što on radi s podacima, njegovo održavanje daleko je jednostavnije jer razumijete gdje se problemi pojavljuju i zašto se pojavljuju. Ovo također čini kôd jednostavnijim za buduća ažuriranja, budući da ne razvijate velike i složene zakrpe za nepoznate i jednostavne probleme.
2. Fleksibilnost
Testiranje bijele kutije odvija se na kodu koji je dovoljno fleksibilan da relativno brzo prihvati promjene. Nefleksibilni kod, kao što je onaj koji je dio modula treće strane ili integracije, sprječava tester bijele kutije da napravi brze promjene.
Usredotočenost na kod koji možete promijeniti čim otkrijete problem čini testiranje bijele kutije vrlo prilagodljivim i znači da se problemi programa rješavaju daleko prije.
3. Modularnost
Testiranje bijele kutije uspijeva u kodu koji ima određeni stupanj modularnosti, što znači da se odvojeni elementi softvera jasno razlikuju jedni od drugih.
Ako program ima problem “špageti koda” u kojem je svaki aspekt povezan s drugim, testiranje bijele kutije postaje beskrajno složenije jer ispitivač mora ispitati cijeli program, a ne određenu jedinicu.
4. Integracija
Testiranje bijele kutije iznimno je korisno za integracijsko testiranje. Ispitivači mogu vidjeti radi li neka funkcija do te mjere da napušta predmetni softver i vraća li se iz integriranog sustava funkcionalnom kako se očekuje.
Ovo je vrlo informativno i daje organizaciji do znanja je li problem lokalni ili je dio integrirane platforme.
Što testiramo u testovima bijele kutije?
Testovi bijele kutije koriste se za testiranje značajki koda koje se ne mogu provjeriti metodama testiranja crne kutije. To može značiti testiranje kako sam kod radi, što programerima omogućuje razumijevanje uzroka i posljedica različitih aspekata koda.
Programeri koriste testiranje bijele kutije za testiranje sigurnosnih rupa, izjava i funkcija, izlaza i putanja u kodu.
1. Unutarnje sigurnosne rupe
Testiranje bijele kutije može se koristiti za traženje sigurnosnih rupa i ranjivosti unutar koda koje bi hakeri i kibernetički kriminalci mogli iskoristiti u budućnosti.
Testiranje bijele kutije može se koristiti za provjeru jesu li primijenjene najbolje sigurnosne prakse tijekom razvojne faze i za traženje sigurnosnih propusta koji bi se mogli popraviti prije nego što kod krene na daljnje testiranje.
2. Putovi u procesima kodiranja
Testiranje bijele kutije omogućuje programerima da testiraju staze koje povezuju različite elemente koda. Programeri ne samo da testiraju logiku koda, već također mogu tražiti strukturu koda i higijenu.
Dobar, čist kod nema nepotrebnih linija ili pokvarenih elemenata koji ne rade kako se očekuje, čak i ako su vanjski rezultati testiranja crne kutije očekivani.
3. Očekivani učinci
Testiranje bijele kutije također može testirati očekivane rezultate koda na isti način na koji može testiranje crne kutije, iako testeri to rade uzimajući u obzir kod, a ne koristeći aplikaciju kao što bi testeri mogli učiniti u testiranju crne kutije.
Programeri testiraju očekivane izlaze provjeravajući unose jedan po jedan i provjeravajući je li rezultirajući izlaz usklađen s očekivanjima.
4. Izjave, objekti i funkcije
Provođenjem tehnika testiranja bijele kutije, programeri softvera mogu osigurati da se izjave, objekti i funkcije u kodu ponašaju logično i rezultiraju očekivanim rezultatima.
5. Funkcionalnost uvjetnih petlji
Testiranje bijele kutije također se može koristiti za provjeru funkcionalnosti uvjetnih petlji, uključujući jednostruke, spojene i ugniježđene petlje. Programeri će provjeriti jesu li ove petlje učinkovite, ispunjavaju li zahtjeve uvjetne logike i rukuju li ispravno lokalnim i globalnim varijablama.
Razjašnjavanje zabune:
Testiranje bijele kutije protiv crne kutije i sive kutije
Testiranje bijele kutije, testiranje crne kutije i testiranje sive kutije pojmovi su koje testeri softvera koriste za označavanje različitih kategorija testiranja ili različitih metoda testiranja.
Suvremeni pogled na te razlike u testiranju je da su linije povučene između različitih vrsta testiranja okvira sve nejasnije, budući da različite vrste testiranja često kombiniraju elemente testiranja bijele i crne kutije i izvode testove iz dokumenata na različitim razinama apstrakcije.
Unatoč tome, još uvijek postoje važne razlike između ovih oblika testiranja.
1. Što je testiranje crne kutije?
Testiranje crne kutije je oblik testiranja softvera u kojem funkcionalnost softvera provjeravaju testeri koji nemaju znanja o unutarnjoj strukturi koda ili kako implementirati kod na više tehničkoj razini.
Testiranje crne kutije testira samo vanjske izlaze softvera, ili drugim riječima, testira što će krajnji korisnik iskusiti tijekom rada sa softverom.
Testiranje crne kutije poznato je i kao testiranje ponašanja jer testira kako se softver ponaša pod određenim uvjetima.
Testeri mogu koristiti testiranje crne kutije kako bi procijenili kako se različite funkcije softvera ponašaju i provjerili ih u odnosu na očekivanja kako bi bili sigurni da softver ispunjava zahtjeve korisnika. Testiranje crne kutije koristi se u testiranju sustava i testiranju prihvatljivosti za provjeru različitih funkcija i provjeru radi li sustav prema očekivanjima kada radi kao cjelina.
Prilikom izvođenja testiranja crne kutije, korisnici pišu testne slučajeve kako bi pojedinačno provjerili različite elemente. Budući da testiranje crne kutije ne zahtijeva iste tehničke vještine kao testiranje bijele kutije, testiranje crne kutije obično provode testeri u QA okruženju, a ne programeri.
Automatizirano testiranje crne kutije obično je lakše automatizirati u usporedbi s testiranjem bijele kutije korištenjem end-to-end alata za automatizaciju kao što je ZAPTEST.
Koje su razlike između testiranja bijele i crne kutije?
Primarna razlika između testiranja crne i bijele kutije je ono što se testira.
Testiranje crne kutije odnosi se na testiranje vanjskih izlaza softverske verzije, dok se testiranje bijele kutije odnosi na testiranje onoga što se događa ispod haube.
Neke od primarnih razlika između testiranja crne i bijele kutije su:
Svrha
Svrha testiranja crne kutije je provjeriti radi li sustav kako se očekuje za krajnjeg korisnika, dok je svrha testiranja bijele kutije provjeriti kvalitetu i integritet softverskog koda.
Na primjer, testiranje crne kutije za videoigru može vidjeti krajnjeg korisnika kako isprobava igru i pregledava je za svoje iskustvo, dok testiranje bijele kutije na istom projektu osigurava da unos određenih unosa vodi do toga da lik izvrši pravu radnju.
Postupak
Procesi koji se koriste u testiranju bijele i crne kutije vrlo su različiti. Testiranje bijele kutije puno je lakše automatizirati od testiranja crne kutije, a obično se testiranje crne kutije mora automatizirati uz pomoć alata za automatizaciju softvera .
Na primjer, pri testiranju baze podataka, test bijele kutije uključuje automatiziranje unosa podataka kako bi se provjerilo jesu li svi rezultati točni, s testiranjem crne kutije koji uključuje korisnike koji repliciraju ručne procese i izvješćuju o njima bez upotrebe sustava automatizacije.
Testeri
Testiranje crne kutije gotovo uvijek provode profesionalni testeri softvera unutar QA okruženja, dok testiranje bijele kutije provode programeri i inženjeri softvera koji imaju detaljnije tehničko znanje o izvoru koda.
Tehnike
Testiranje crne kutije koristi različite tehnike kao što je podjela ekvivalencije, analiza graničnih vrijednosti i testiranje tablice odluka. Testiranje bijele kutije koristi tehnike poput pokrića odluka, pokrića uvjeta i pokrića izjava.
Operacije
Metodologije testiranja crne kutije odgovaraju operacijama testiranja viših razina kao što su testiranje sustava i testiranje prihvaćanja, dok je testiranje bijele kutije prikladnije za operacije niže razine kao što su testiranje jedinica i testiranje integracije.
Iz tog razloga, testiranje bijele kutije obično se provodi prije većine oblika testiranja crne kutije.
2. Što je testiranje sive kutije?
Testiranje sive kutije je tehnika testiranja softvera koja se koristi za testiranje softverskih proizvoda i aplikacija od strane testera koji mogu imati djelomično znanje o unutarnjoj strukturi aplikacije, ali ne i potpuno znanje o njoj.
Testiranje sive kutije može kombinirati elemente testiranja crne kutije i testiranja bijele kutije kako bi programerima i testerima omogućilo prepoznavanje nedostataka u kodu i lociranje grešaka specifičnih za kontekst.
Testiranje sive kutije kombinira značajke testiranja crne kutije i testiranja bijele kutije. Ispitivači moraju imati određeno znanje o internom radu sustava kao u testiranju bijele kutije, ali to znanje koriste za stvaranje testnih slučajeva i izvršavanje tih testnih slučajeva na razini funkcionalnosti kao što je slučaj kod testiranja crne kutije.
Testiranje sive kutije nudi mnoge prednosti testiranja crne kutije i testiranja bijele kutije, a istovremeno je relativno vremenski učinkovito i fleksibilno.
Koje su razlike između testiranja bijele kutije i sive kutije?
Budući da testiranje sive kutije nudi neke od istih funkcija kao testiranje crne kutije, postoje neke velike razlike između testiranja sive kutije i testiranja bijele kutije, iako možda ne toliko kao kod testiranja crne kutije.
Neke od najvećih razlika između testiranja sive kutije i testiranja bijele kutije su:
Strukturno znanje
U testiranju bijele kutije, interni dizajn i struktura koda trebaju biti u potpunosti poznati osobi koja provodi testiranje. U testiranju u sivoj kutiji unutarnja struktura koda obično je samo djelomično poznata.
Uključene osobe
Testiranje bijele kutije gotovo isključivo provode programeri softvera i softverski inženjeri, dok testiranje sive kutije mogu provoditi krajnji korisnici, testeri i programeri.
Učinkovitost
Testiranje bijele kutije smatra se najdugotrajnijom vrstom testiranja softvera, dok testiranje sive kutije posuđuje neke od učinkovitosti testiranja crne kutije kako bi se smanjilo vrijeme potrebno za izvođenje testova.
Operacija
U testiranju bijele kutije programeri jednostavno napišu kod za implementaciju testova bijele kutije i pokreću ovaj kod. U testiranju sive kutije, kao i testiranju crne kutije, ispitivači izvode funkcionalne testove kako bi procijenili kako sustav radi izvana.
Pokrivenost
Testiranje bijele kutije najopsežnija je vrsta testiranja, dok pokrivenost testiranja sive kutije može varirati ovisno o tome temelji li se vrsta izvedenih testnih slučajeva na kodu ili GUI-ju.
Zaključak:
Bijela kutija vs. Crna kutija vs. Testiranje sive kutije
Testiranje bijele kutije, testiranje crne kutije i testiranje sive kutije pojmovi su koji se koriste za označavanje različitih tehnika testiranja softvera. Općenito, svaka vrsta testiranja može se definirati na temelju stupnja u kojem testeri moraju imati znanja o bazi koda i implementaciji koda:
1. Testiranje crne kutije:
Unutarnja struktura koda je nepoznata.
2. Testiranje bijele kutije:
Unutarnja struktura koda je poznata.
3. Testiranje sive kutije:
Interna struktura koda je djelomično poznata.
Tijekom testiranja softvera, sve tri vrste testiranja važne su za provjeru funkcije i integriteta softvera. Dok nam testiranje bijele kutije govori više o osnovnoj strukturi koda, testiranje sive kutije i testiranje crne kutije može provjeriti kako sustav radi i zadovoljava li to zahtjeve krajnjeg korisnika.
Možda se najveće razlike između ove tri vrste testiranja odnose na to tko izvodi svaku vrstu testiranja, zahtjeve samog testiranja i što testiranje uključuje.
Testiranje bijele kutije ima najveću prepreku ulasku jer ga provode programeri s detaljnim poznavanjem same baze koda i jer je to vrsta testiranja koja oduzima najviše vremena i često je skupa.
Nasuprot tome, testiranje crne kutije je najlakše za provesti i mogu ga izvesti testeri bez znanja o osnovnom kodu.
Vrste testova bijele kutije
Postoji mnogo različitih vrsta testova bijele kutije, od kojih se svaki može koristiti za testiranje neznatno različitih aspekata unutarnje strukture koda.
Ispod su neke od najčešćih vrsta testiranja bijele kutije koje se danas koriste.
1. Testiranje puta
Testiranje puta je vrsta testiranja bijele kutije koja se temelji na kontrolnoj strukturi programa. Programeri koriste kontrolnu strukturu za izradu grafa kontrolnog toka i testiranje različitih putova u grafu.
Testiranje staze je vrsta testiranja koja ovisi o kontrolnoj strukturi programa, što znači da zahtijeva da ispitivači imaju temeljito razumijevanje ove strukture.
Na primjer, ako sustav treba kontaktirati kupce sa postavljenim porukama na određenim točkama u prodajnom toku, testiranje putanje uključuje osiguravanje da slijedi prave korake ovisno o uvjetima koje postavljaju podaci.
2. Testiranje petlje
Testiranje petlje jedna je od najvažnijih vrsta testiranja bijele kutije koje testira petlje unutar koda programa. Petlje su implementirane u algoritme unutar koda, a testiranje petlji provjerava jesu li te petlje valjane.
Testiranjem petlje može se procijeniti postoje li ranjivosti unutar određenih petlji i istaknuti područja na kojima će programeri možda morati ispraviti kod kako bi osigurali da petlja funkcionira kako treba.
Primjer testa petlje je praćenje kroz petlju s određenim skupom podatkovnih točaka koje potiču nastavak petlje, kao što je odbijanje prihvaćanja nekih uvjeta i odredbi, prije unošenja brojke koja posebno prekida petlju. Ako se petlja ponaša prema očekivanjima, test je uspješan.
3. Uvjetno testiranje
Uvjetno testiranje vrsta je testiranja bijele kutije koje provjerava jesu li logički uvjeti za vrijednosti unutar koda istiniti ili lažni.
Uvjetno testiranje glavni je oblik testiranja bijele kutije koji programerima govori je li kod logičan i zadovoljava li zahtjeve programske logike.
Primjer uvjetnog testiranja je unutar računovodstvene platforme. Unos niza rashoda i prihoda trebao bi rezultirati pravim tekućim ukupnim iznosima, pri čemu softver daje točne rezultate tijekom uspješnog testa.
4. Jedinično testiranje
Testiranje jedinica je važna faza u testiranju softvera gdje programeri testiraju pojedinačne komponente i module i provjeravaju rade li kako se očekuje prije integracije različitih jedinica.
Softverski inženjeri koriste metode testiranja bijele kutije u testiranju jedinica za testiranje malih dijelova koda odjednom. To olakšava prepoznavanje bugova i grešaka kada se pojave tijekom testiranja.
Primjer jediničnog testiranja je u ranoj fazi razvoja, jer tvrtka stvara jednostavan gumb na web stranici koji vodi korisnika na drugu stranicu. Ako jedinica radi kako se očekuje, onda uspijeva, a razvojni programeri unose promjene dok to ne učini.
5. Ispitivanje mutacija
Testiranje mutacija je vrsta testiranja koja ispituje promjene i mutacije. U testiranju mutacija, programeri rade male izmjene izvornog koda kako bi vidjeli može li to otkriti greške u kodu.
Ako test prođe, to znači da postoji neki problem s kodom jer ne bi trebao proći nakon što su promjene napravljene. U idealnom slučaju u testiranju mutacija, svi testovi neće uspjeti.
Primjer testiranja mutacija je u strojnom učenju. Programi strojnog učenja automatski “mutiraju” ovisno o novim informacijama, tako da dosljedno testiranje tih programa za standard “mutacije” informira programere radi li softver prema očekivanjima.
6. Integracijsko testiranje
Integracijsko testiranje glavna je faza testiranja softvera tijekom koje ispitivači utvrđuju rade li različiti moduli ispravno kada su integrirani s drugim modulima.
Tehnike testiranja bijele kutije koriste se tijekom testiranja integracije kako bi se provjerilo funkcionira li kod čak i kada više modula – koje su često kodirali različiti programeri – radi zajedno.
Kada baza podataka izvlači informacije iz mrežnog izvora, na primjer, testiranje integracije osigurava da su podaci koje povlači točni i da se ažuriraju razumno dosljednom brzinom.
7. Ispitivanje prodora
Penetracijsko testiranje vrsta je testiranja bijele kutije koje se može koristiti za simulaciju specifičnih kibernetičkih napada na sustav.
U penetracijskom testiranju, testerima se daje pristup kompletnoj mreži i podacima o sustavu kao što su lozinke i mrežne karte. Zatim pokušavaju pristupiti ili uništiti podatke unutar sustava pokušavajući što više različitih putova napada.
Penetracijsko testiranje važan je aspekt sigurnosnog testiranja koje bi se trebalo provoditi na svim verzijama softvera.
Na primjer, HR platforma dovršit će penetracijsko testiranje i potražiti ranjivosti u kodu kako bi se uvjerila da je platforma dovoljno sigurna za čuvanje podataka o zaposlenicima.
Tehnike testiranja bijele kutije
Postoji mnogo različitih tehnika testiranja bijele kutije koje se mogu koristiti za izvođenje gore navedenih testova bijele kutije. Kao što je uvijek slučaj, različite tehnike su najprikladnije za testiranje različitih aspekata koda, ali sve dolje navedene tehnike bijele kutije su važne.
1. Pokrivenost izjave
Jedna od značajki koje definiraju testiranje bijele kutije je da bi testeri trebali pokušati pokriti što je moguće više izvornog koda kada izvode testove bijele kutije.
Pokrivenost koda je snažna mjera ovoga, a pokrivenost izjava je jedna takva tehnika koju testeri bijele kutije mogu koristiti za povećanje pokrivenosti izjava unutar koda.
Pokrivenost naredbi je metrika koja mjeri broj izvršenih naredbi podijeljen s ukupnim brojem naredbi i pomnožen sa 100. Testeri bijele kutije trebali bi težiti visokoj pokrivenosti izjave.
2. Pokrivenost grana
Pokrivenost grana, poput pokrivenosti iskaza, odražava koliko je široka pokrivenost pojedinih elemenata koda u testiranju bijele kutije. Grane su ekvivalentne izjavama ‘IF’ u logici, gdje se kod grana na opcije true i false koje utječu na ishod operacije.
Kada koriste tehnike pokrivanja grana, testeri bijele kutije provjeravaju je li svaka grana obrađena barem jednom i provjeravaju rade li obje grane ispravno.
3. Pokrivenost staze
Tehnike pokrivanja staza procjenjuju staze unutar softverske aplikacije. Maksimiziranje pokrivenosti testne staze znači osiguravanje da se sve staze unutar programa istraže barem jednom. To je slična vrsta tehnike testiranja kao i pokrivenost grana, ali se smatra temeljitijom i učinkovitijom.
Testiranje pokrivenosti staze obično se smatra najprikladnijim za testiranje kompletnih aplikacija, a ne djelomičnih verzija.
4. Pokrivenost odluka
Pokrivenost odluka jedna je od najvažnijih tehnika bijele kutije jer pruža podatke o točnim i lažnim rezultatima Booleovih izraza u izvornom kodu.
Testiranje pokrivenosti odluka potvrđuje izvorni kod osiguravajući da se svaka marka svake potencijalne odluke prođe barem jednom tijekom testiranja.
Točke odluke uključuju sve prilike u kojima postoji mogućnost dva ili više različitih ishoda.
5. Pokrivenost stanja
Pokrivenost stanja je također poznata kao pokrivenost izraza. Ova tehnika bijele kutije procjenjuje podvarijable u uvjetnim izjavama unutar koda kako bi potvrdila ishod svakog logičkog uvjeta.
Ova vrsta testiranja uzima u obzir samo izraze s logičkim operandima, dok se testiranje pokrivenosti odluka i testiranje pokrivenosti grana koristi za osiguranje drugih logičkih operacija.
6. Pokrivenost višestrukih uvjeta
U višestrukim testovima pokrivenosti uvjeta, ispitivači provjeravaju različite kombinacije uvjeta i procjenjuju odluku koju kod donosi za svaku kombinaciju.
Može postojati mnogo različitih testnih slučajeva za više testova pokrivenosti uvjeta zbog ogromnog broja kombinacija uvjeta koji postoje, tako da je ova vrsta testiranja često vrlo dugotrajna.
7. Pokrivenost konačnog stroja
Pokrivenost konačnog stroja je važna vrsta testiranja, ali i jedan od najtežih načina za postizanje visoke pokrivenosti koda u testiranju bijele kutije. Radi na funkcionalnosti dizajna i zahtijeva od programera da broje koliko je puta neko stanje posjećeno ili prijeđeno tijekom procesa testiranja, kao i koliko sekvenci sadrži svaki sustav konačnog stanja.
8. Ispitivanje kontrolnog protoka
Testiranje toka kontrole je tehnika testiranja bijele kutije koja nastoji uspostaviti redoslijed izvršavanja programa korištenjem jednostavne kontrolne strukture.
Programeri konstruiraju testne slučajeve testiranja kontrolnog toka odabirom određenog odjeljka programa i izgradnjom putanje testiranja. Testiranje kontrolnog protoka obično se koristi u testiranju jedinica.
Životni ciklus testiranja bijele kutije
u razvoju softvera
Testiranje bijele kutije važan je korak u životnom ciklusu razvoja softvera, iako nema striktno ‘mjesto’ u ciklusu.
Programeri mogu izvršiti testiranje bijele kutije kada i kada trebaju provjeriti funkciju koda, a neki programeri mogu biti temeljitiji od drugih u provjeravanju novonapisanog koda kako bi bili sigurni da je čist i bez nepotrebnih redaka.
Međutim, testiranje bijele kutije najčešće se provodi tijekom jediničnog testiranja i integracijskog testiranja. Programeri provode i jedinično testiranje i integracijsko testiranje tijekom faze razvoja.
Događaju se prije nego što se provede funkcionalno testiranje , kao što je testiranje sustava i testiranje prihvatljivosti, a programerima daju priliku da identificiraju, lociraju i poprave glavne greške u ranoj fazi testiranja prije nego što proizvod predaju QA timu.
Ručni ili automatski testovi bijele kutije?
Kao i druge vrste testiranja softvera, moguće je automatizirati testiranje bijele kutije. Može biti ručno ili automatizirano, iako je u većini slučajeva lakše automatizirati testiranje bijele kutije nego automatizirati testiranje crne kutije.
Budući da je testiranje bijele kutije vrsta testiranja koja oduzima puno vremena, automatizacija postaje sve popularnija među softverskim timovima.
Ručno testiranje bijele kutije: prednosti, izazovi i procesi
Ručno testiranje bijele kutije znači ručno izvođenje testova bijele kutije i zahtijeva da programeri imaju vještine i vrijeme za pisanje pojedinačnih testnih slučajeva za testiranje svake moguće linije koda u softverskoj verziji. To može potrajati puno vremena, ali također rezultira najtemeljitijim rezultatima i rezultatima testiranja.
Neke od prednosti ručnog testiranja bijele kutije uključuju:
1. Dubina
Ručno testiranje omogućuje testerima dublje istraživanje softverskog koda od automatiziranog testiranja ako tako odluče, na primjer čitanjem cijelog izvornog koda aplikacije umjesto da jednostavno automatiziraju zadatke koji dodiruju površinsku funkcionalnost.
2. Lokacija bugova
Ručno testiranje olakšava lociranje bugova i nedostataka jer bi programeri trebali biti u mogućnosti točno odrediti u kojem je retku koda bug prisutan.
Na primjer, uvid da se slika ne učitava, a zatim ispitivanje koda za retke koji uključuju učitavanje slika značajno sužava uzrok.
3. Brzina
Ručno testiranje obično traje dulje od automatskog testiranja, ali ako programeri žele pokrenuti samo jedan ili dva brza testa, vjerojatno je brže izvršiti ih ručno nego postaviti automatizaciju.
Na primjer, jedinično testiranje uključuje pregled značajke i provjeru radi li, umjesto prikupljanja golemih količina podataka automatiziranjem procesa. Međutim, postoje i nedostaci ručnog testiranja bijele kutije.
Neki od izazova ručnog testiranja bijele kutije uključuju:
1. Točnost
Ručno testiranje može programerima omogućiti pokrivanje širokog raspona koda, ali ljudski testeri uvijek su skloniji greškama i pogreškama nego računalni programi, što znači da se ručno testiranje često smatra manje točnim od automatiziranog testiranja.
2. Vrijeme
Ručno testiranje traje dulje od automatskog testiranja, a ručno testiranje bijele kutije jedno je od testiranja koje oduzima najviše vremena. To produljuje vrijeme obrade i može otežati postizanje kratkih razvojnih rokova.
3. Trošak
Zbog količine radne snage i resursa uključenih u ručno testiranje bijele kutije, ovo je često skuplje za razvojne timove od automatiziranog testiranja, koje obično zahtijeva manje programera i manje vremena.
4. Skalabilnost
Ručno testiranje zapravo je prikladno samo za testiranje malih aplikacija ili testiranje pojedinačnih komponenti većih aplikacija. Za veće aplikacije kao što je baza podataka smještena u oblaku s tisućama unosa u minuti, automatizirano testiranje mnogo je poželjnije kao metoda simulacije standardnih opterećenja.
Automatizirano testiranje bijele kutije: prednosti,
izazove i procese
Tehnologija automatizacije svakodnevno olakšava automatizaciju aspekata testiranja softvera. Pomak industrije prema hiperautomatizaciji djelomično je posljedica učinkovitosti i uštede troškova koje automatizacija nudi razvojnim timovima koji se uvijek osjećaju stisnuti.
Bijela kutija jedna je od najprikladnijih i najprikladnijih vrsta testiranja za automatizaciju jer ju je relativno lako automatizirati, a ušteda vremena i troškova automatizacije testiranja bijele kutije može biti značajna.
Automatizirano testiranje bijele kutije može uključivati programere koji sami pišu testne skripte ili se proces može ubrzati upotrebom kompletnih alata kao što je ZAPTEST, koji pružaju najsuvremeniju end-to-end tehnologiju testiranja softvera .
Neke od prednosti automatizacije testiranja bijele kutije uključuju:
1. Točnost
Računalno testiranje eliminira rizik od pogrešaka jer se računala ne zamaraju niti griješe.
2. Vrijeme
Automatizirano testiranje bijele kutije znatno je brže od ručnog testiranja bijele kutije i oslobađa vrijeme koje programeri mogu potrošiti na druge zadatke, poput ispravljanja grešaka ili pisanja zakrpa za nadogradnju.
3. Skala
Automatizirano testiranje se mnogo bolje skalira od ručnog testiranja, pa ako vaša softverska aplikacija raste ili ako želite izvršiti testiranje velikih razmjera odjednom, automatizacija je bolja opcija.
Na primjer, povećanje unosa podataka uključuje traženje više unosa u automatizaciji, u usporedbi sa zapošljavanjem više članova osoblja u ručnim testovima.
4. Trošak
Trošak automatiziranog testiranja obično je, kada se zbroji, niži od troška ručnog testiranja zbog broja radnih sati ušteđenih automatizacijom. ZAPTEST-ov 10x ROI pokazuje kako automatizacija može uštedjeti novac programerima i dovesti do većih povrata. Međutim, automatizacija nije bez nedostataka.
Neki od izazova automatizacije testiranja bijele kutije uključuju:
1. Praćenje grešaka
Automatizacija ne olakšava uvijek lociranje grešaka u kodu, ovisno o tome kako programeri automatiziraju testove ili koji se alati za testiranje koriste, posebno u usporedbi s ručnim testiranjem bijele kutije gdje testeri mogu vidjeti kôd koji se izvodi kad god se pojavi greška.
2. Vještine
Ne znaju svi programeri kako automatizirati testove ili kako koristiti automatizirane alate za testiranje, tako da prelazak na automatizaciju može zahtijevati ulaganje u obuku glavnih vještina kao što je kodiranje na jeziku određene platforme za testiranje i korištenje vještina analize podataka za razumijevanje uzroka problema u test bijele kutije.
Zaključak: Ručno testiranje bijele kutije
ili automatizacija testiranja bijele kutije?
Općenito, testiranje bijele kutije u programskom inženjerstvu jedna je od najprikladnijih vrsta testiranja za prilagodbu automatiziranom testiranju, uglavnom zbog dugotrajne i složene prirode ručnog testiranja bijele kutije.
Automatizirano testiranje bijele kutije je brže, jeftinije, učinkovitije i točnije od ručnog testiranja, posebno kada radite s većim aplikacijama.
Gdje je to moguće, programeri softvera trebali bi automatizirati testiranje bijele kutije u testiranju softvera kako bi povećali pouzdanost testova i pokrili veće područje većih aplikacija testiranjem nego što je praktično moguće pri ručnom izvođenju testova. To je zbog značajnih troškova i stručnosti koji su potrebni kada testove bijele kutije dovršavate isključivo ručnim metodama.
Što vam je potrebno za početak
testiranje bijele kutije?
Prije nego počnete s testiranjem bijele kutije, provjerite imate li sve što vam je potrebno za početak. Ovisno o tome provodite li ručno ili automatizirano testiranje bijele kutije, ne trebate puno resursa osim vremena i novca.
Međutim, morat ćete osigurati da vaš tim ima odgovarajuće znanje i alate za pravilno provođenje testiranja bijele kutije.
1. Razumijevanje izvornog koda
Testiranje bijele kutije je testiranje koje provode programeri softvera i inženjeri s potpunim radnim poznavanjem izvornog koda i unutarnje strukture softvera.
Ako ste QA tester bez ovog znanja, morat ćete proslijediti softver nekome drugome prije nego počne testiranje bijele kutije.
2. Test slučajevi
Potrebno je napisati testne slučajeve prije izvođenja testiranja bijele kutije. Testni slučajevi pojedinačni su skupovi uputa koje opisuju radnje koje testeri ili programeri mogu izvesti kako bi testirali funkcije i rad sustava.
U testiranju bijele kutije, testne slučajeve dizajniraju ljudi s potpunim poznavanjem unutarnje strukture sustava i kreiraju ih kako bi provjerili funkcionira li to onako kako bi trebalo.
3. Alati za testiranje bijele kutije
Postoji mnogo dostupnih alata za testiranje bijele kutije koji podržavaju pristup izvornom kodu i dokumentima dizajna uz dovršetak automatizacije testiranja. Oni također dolaze po izboru cijena za korisnike, kao što su ZAPTEST FREE i ZAPTEST ENTERPRISE verzije koje pružaju veću fleksibilnost.
Odaberite alate koje želite koristiti prije nego što počnete s testiranjem, s naglaskom na tome da osigurate odgovarajuću funkcionalnost kao što je rad na više platformi i tehnologija računalnog vida , tako da vidite što vide automatizirani testovi.
Pobrinite se da svi programeri i inženjeri uključeni u testiranje znaju kako i kada ih koristiti.
Proces testiranja bijele kutije
Testiranje bijele kutije uključuje mnogo više znanja o radu sustava od testiranja crne kutije, a neki od koraka u testiranju bijele kutije malo su drugačiji.
Testeri bijele kutije prvo moraju identificirati značajke ili komponente sustava koje žele provjeriti prije iscrtavanja mogućih putova za testiranje i pisanja testnih slučajeva za izvršenje.
Postupak testiranja bijele kutije također se može razlikovati ovisno o tome koju tehniku testiranja bijele kutije koristite. Slijedite korake u nastavku kako biste saznali kako provesti testiranje bijele kutije uz maksimalnu pokrivenost staze.
Korak 1: Identificirajte značajke za testiranje
Prije nego što provedete testiranje bijele kutije, razmislite što točno želite testirati i kako ćete to testirati. To obično uključuje fokusiranje na mali skup funkcija ili značajki i stvaranje skupa testnih slučajeva samo za njihovo testiranje.
Ovaj ćete korak provoditi uvijek iznova za različita područja sustava kako biste maksimalno povećali pokrivenost testom, ali važno je rastaviti različita područja na pojedinačne testove.
Što je vaš fokus uži, vaši testovi mogu biti pouzdaniji i točniji.
Korak 2: Iscrtajte sve moguće staze u dijagram toka
Značajan dio vašeg pripremnog rada za testiranje bijele kutije je iscrtavanje svih mogućih putanja koje trebate testirati u dijagramu toka.
Ovaj vam korak može pomoći da maksimizirate pokrivenost staze i osigurate da provjeravate sve moguće staze u svakom testnom slučaju koji izradite. Nacrtajte dijagram toka koji pokriva sve moguće putove za svaku značajku ili komponentu koju testirate, na primjer ocrtavajući različite putove koji se pojavljuju kada se unesu različite vrijednosti.
Korak 3: Identificirajte sve moguće putove
Pogledajte svoj dijagram toka i identificirajte sve moguće putove kojima korisnici mogu krenuti, počevši od prvog koraka vašeg dijagrama toka pa sve do posljednjeg koraka.
Što je više grana i odluka prikazano u vašem dijagramu toka, postojat će više jedinstvenih putova. Razumijevanje koliko jedinstvenih mogućih putova postoji može vam pomoći da budete sigurni da vaši testni slučajevi pokrivaju svaku mogućnost.
Korak 4: Stvorite testne slučajeve
Sljedeća faza testiranja bijele kutije je pisanje testnih slučajeva koji provjeravaju sve staze koje ste gore naveli.
Važno je provjeriti pokrivaju li vaši testni slučajevi sve moguće putove i jasno ocrtavaju radnje koje testeri ili programeri moraju poduzeti da bi izvršili svaki testni slučaj.
Za svaki testni slučaj uključite ID i naziv testnog slučaja uz kratak opis, kao i očekivane rezultate svakog testa.
Korak 5: Izvršite testne slučajeve
Sada je vrijeme za izvršenje testnih slučajeva, što je ono što većina ljudi smatra provođenjem samog testiranja bijele kutije.
Ispitivači izvršavaju testne slučajeve slijedeći kratak skup uputa navedenih u svakom testnom slučaju i izvješćujući o ishodu svakog testnog slučaja. To se može usporediti s očekivanim rezultatima navedenim u testnom slučaju kako bi se utvrdilo je li svaki test bijele kutije prošao ili nije.
Korak 6: Po potrebi ponovite ciklus
Kao i drugi oblici testiranja softvera, testiranje bijele kutije je usporedba kako sustav stvarno funkcionira s očekivanjima testera o tome kako bi sustav trebao funkcionirati.
Ako testeri utvrde da se sustav ne ponaša onako kako oni očekuju, to može značiti da testiranje bijele kutije nije uspjelo, a programeri moraju ispraviti linije koda prije provođenja daljnjeg testiranja.
Ponovite gornji postupak za provođenje daljnjeg testiranja bijele kutije dok se sustav temeljito ne testira i sve greške ne isprave.
Najbolje prakse za testiranje bijele kutije
Najbolje prakse u testiranju bijele kutije ovise o vrsti testiranja koju provodite i u kojoj ste fazi procesa testiranja.
Budući da se većina testiranja bijele kutije odvija tijekom testiranja jedinice i testiranja integracije, većina najboljih praksi testiranja bijele kutije primjenjuje se na ove faze.
1. Povećajte pokrivenost testom
Po definiciji, važno je maksimizirati pokrivenost testom kada se provodi testiranje bijele kutije kako bi se osiguralo da se visok postotak softvera testira tijekom ove faze.
To možete učiniti maksimiziranjem pokrivenosti staza i grana i pisanjem testnih slučajeva koji istražuju sve moguće putove i ishode tijekom faze pripreme.
2. Provjerite ponašanje i izvedbu
Kada pišete testne slučajeve u testiranju bijele kutije, želite stvoriti testne slučajeve koji potvrđuju da sustav funkcionira onako kako očekujete, kao i testne slučajeve koji provjeravaju performanse sustava .
Na primjer, uz provjeru da određene radnje dovode do određenih rezultata, možete također provjeriti koliko brzo sustav može izvršiti određene zadatke ili kako različite varijable utječu na performanse.
3. Pišite testne slučajeve neovisno jedan o drugom
Ako želite provjeriti dvije različite značajke, na primjer, ako klasa koda ovisi o određenoj bazi podataka, stvorite apstraktno sučelje koje odražava ovu vezu baze podataka i implementirajte sučelje s lažnim objektom za testiranje ove veze.
To osigurava da vaši testni slučajevi provjeravaju veze koje želite da provjere, a ne nešto drugo.
4. Pokrijte sve staze i petlje
Maksimiziranje pokrivenosti testom znači pokrivanje svih mogućih putanja, uzimajući u obzir uvjetne petlje i druge vrste petlji u kodu.
Pobrinite se da dizajnirate testne slučajeve koji u potpunosti istražuju moguće putove i potvrdite da se petlje ponašaju onako kako očekujete bez obzira na unos.
7 pogrešaka i zamki kada
Implementacija White box testova
Kada započnete testiranje bijele kutije, važno je biti svjestan nekih od najčešćih zamki u koje programeri često upadaju pri provođenju testiranja bijele kutije. Uobičajene pogreške pri testiranju bijele kutije mogu uzrokovati kašnjenja i netočnosti koje mogu naštetiti kvaliteti i rasporedu izdanja softvera.
1. Misljenje da testiranje bijele kutije nije potrebno
Neki testeri misle da testiranje bijele kutije nije potrebno, jer testiranje crne kutije testira sve vanjske izlaze softvera, a ako oni ispravno rade, pretpostavka je da funkcionira i interni rad sustava.
Međutim, testiranje bijele kutije može pomoći programerima da lociraju probleme i pogreške koje se možda neće uvijek pojaviti u testiranju crne kutije i ključno je provjeriti sigurnost softverskih sustava.
Na primjer, ako program ima curenje memorije koje uzrokuje degradaciju performansi tijekom duljeg vremenskog razdoblja koje testiranje crne kutije ne ispituje, testiranje bijele kutije jedina je opcija za pregledavanje koda i pronalaženje problema prije široke javne objave.
2. Ručno izvođenje svih testiranja bijele kutije
Neki programeri mogu misliti da je jednako lako izvršiti testiranje bijele kutije kao i izvršiti testiranje crne kutije.
Međutim, testiranje bijele kutije oduzima znatno više vremena i programeri koji pokušaju provesti testiranje bijele kutije potpuno ručno mogu otkriti da je nemoguće izvršiti ručne provjere u skladu sa željenim standardima ili dok maksimiziraju pokrivenost testom.
3. Dodjeljivanje testera za izvođenje testnih slučajeva
Testiranje bijele kutije trebaju u potpunosti provoditi programeri, softverski inženjeri i ljudi koji u potpunosti razumiju unutarnje funkcioniranje softverskog sustava.
Neki programeri misle da mogu proći testiranje bijele kutije na QA testerima nakon što sami napišu testne slučajeve, ali to će samo rezultirati lošim izvršenjem i smanjiti kvalitetu dokumentacije .
4. Žurba kroz testiranje
Testiranje softvera je dug i dugotrajan proces, a neki programeri mogu biti u iskušenju da požure s testiranjem bijele kutije kako bi prešli na sljedeću fazu razvoja. Važno je dodijeliti dovoljno vremena i resursa za testiranje bijele kutije kako bi se osiguralo da se programeri ne žure i da imaju dovoljno vremena da maksimiziraju pokrivenost testom.
5. Loša dokumentacija
Čuvanje odgovarajuće dokumentacije prije, tijekom i nakon testiranja osigurava da svi uključeni u razvoj i testiranje softvera imaju pristup točnim informacijama u pravo vrijeme.
Pobrinite se da svaki član razvojnog tima zna kako napisati jasnu dokumentaciju i kako prijaviti rezultate testiranja bijele kutije.
6. Neispravno korištenje alata za automatizaciju
Alati za automatizaciju mogu olakšati izvođenje testiranja bijele kutije, ali važno je osigurati da cijeli vaš tim razumije koje alate za automatizaciju koristite i kako ih koristiti.
Različiti alati prikladni su za različite vrste testiranja, stoga je važno odabrati alate za automatizaciju koji su prikladni za testiranje bijele kutije i naučiti kako pravilno koristiti njihove značajke.
Na primjer, neki alati ne integriraju automatizaciju i umjesto toga se fokusiraju na prikupljanje informacija i organizaciju ulaznica, što je daleko od idealnog za automatizirano testiranje. Naprotiv, full-stack alati kao što je ZAPTEST pokrivaju cijeli proces testiranja kroz značajke kao što je Any Task Automation, što ih čini prikladnima za učinkovitiji rad na testiranju bijele kutije.
7. Ne surađujete s QA timom
Samo zato što testiranje bijele kutije planiraju i provode programeri, to ne znači da QA tim ne bi trebao biti uključen ni na koji način.
Važno je proslijediti rezultate testiranja bijele kutije QA timu kako bi razumjeli što je do sada testirano i kako rezultati testiranja bijele kutije mogu utjecati na način na koji QA tim pristupa testiranju crne kutije.
Neuključivanjem tima za osiguranje kvalitete dovodite do mogućeg prekida veze između različitih odjela, što dovodi do loše komunikacije i lošijih povratnih informacija kasnije tijekom testiranja. Krajnji proizvod toga je značajno niža razina kvalitete u finalnom proizvodu.
Vrste izlaza iz testova bijele kutije
Kada provodite testiranje softvera bijele kutije, primit ćete različite rezultate ovisno o rezultatima testova koje provodite. Razumijevanje ovih izlaza iz testova bijele kutije može vam pomoći da shvatite koje korake poduzeti sljedeće.
1. Rezultati ispitivanja
Rezultati testiranja vaših testova bijele kutije reći će vam trebate li nastaviti s daljnjim testiranjem, postoje li nedostaci koje je potrebno popraviti i je li svaki pojedinačni test prošao ili nije prošao. Potrebna je temeljita dokumentacija jer pomaže programerima i testerima da razumiju rezultate testiranja bijele kutije.
2. Nedostaci
Nedostaci se mogu identificirati u testiranju bijele kutije, a ponekad će rezultat vaših testova bijele kutije biti nedostaci i greške.
Ako se softverski sustav ne ponaša kako očekujete tijekom testiranja bijele kutije, to može značiti da postoje ozbiljni nedostaci u programu koji se moraju popraviti prije nastavka razvoja i testiranja.
3. Izvješća o ispitivanju
Izvješća o testiranju su izvješća koja sastavljaju programeri i testeri tijekom i nakon testiranja softvera.
Sadrže pojedinosti o rezultatima testa, uključujući koji su slučajevi testa prošli i koji nisu uspjeli, sve nedostatke pronađene tijekom testiranja i preporuke za sljedeće korake.
Razvojni programeri koriste testna izvješća za komunikaciju s drugim programerima čiji bi zadatak mogao biti ispravljanje bugova i pogrešaka pronađenih tijekom testiranja.
Primjeri testova bijele kutije
Testiranje bijele kutije omogućuje programerima da provjere radi li unutarnja struktura softverskog sustava kako treba, bez obzira na vanjske rezultate i izlaze sustava.
Donji primjeri ilustriraju kako testiranje bijele kutije može pomoći programerima da provjere interne funkcije softvera.
1. Primjer stranice za registraciju e-trgovine
Jedan primjer testiranja bijele kutije razmatra kako programeri testiraju funkcije web stranice. Ako pokušavate testirati stranicu za registraciju web stranice e-trgovine, testiranje bijele kutije može omogućiti programerima da razumiju rade li funkcije i klase uključene u registraciju na način na koji bi trebale kada se izvrši funkcija registracije.
Ovo posebno uključuje sve informacije koje korisnik unese i procjenjuje parametre koji stoje iza obrasca, uključujući datume koji jesu i nisu valjani i ono što obrazac vidi kao legitimnu adresu e-pošte.
Tim zatim unosi niz nizova koji testiraju obrazac, od kojih su neki osmišljeni da ne uspiju, a drugi da uspiju, prije procjene ishoda u odnosu na predviđene ishode.
Testiranje crne kutije, s druge strane, samo će provjeriti radi li sama stranica, bez daljnje analize zašto ili kako.
2. Primjer kalkulatora
Kalkulatori aplikacija pružaju još jedan primjer testiranja bijele kutije.
Ako stvarate kalkulator koji se koristi kao dio aplikacije, testeri crne kutije jednostavno će testirati je li izlaz kalkulatora točan kada koristite kalkulator kako je predviđeno.
Testeri bijele kutije provjerit će interne izračune kalkulatora kako bi provjerili kako je izlaz izračunat i je li to točno. Ovo je korisnije za složenije izračune s nekoliko faza, kao što su porezi. Testeri ispituju kod kako bi vidjeli korake koje kalkulator poduzima i redoslijed koraka, prije nego što vide ishod nakon svake faze.
Ako je ulaz kalkulatora (7*4) – 6, a izlaz 22, to je točno i testiranje crne kutije bi prošlo ovaj test. Međutim, to je zato što je 7*4 = 28, a 28 – 6 je 22. Testiranje bijele kutije moglo bi otkriti da je softver pronašao ovaj rezultat izvođenjem 7*4 = 32 i 32 – 6 = 22, od kojih nijedno nije točno.
Ovaj bolji uvid pokazuje da je izračun točan nakon svake određene faze, pronalazi fazu u kojoj možda nije točan i rješava ga brže jer ispitivač može jasno vidjeti gdje se problem pojavljuje.
Vrste grešaka i grešaka u testiranju bijele kutije
Tijekom testiranja bijele kutije moguće je identificirati i locirati greške koje mogu utjecati na način na koji sustavi rade ispod haube. Ove pogreške mogu utjecati na vanjske funkcije ili mogu utjecati na performanse ili pouzdanost.
Neke od najčešćih vrsta grešaka i grešaka koje se javljaju tijekom testiranja bijele kutije navedene su u nastavku.
1. Logičke pogreške
Logičke pogreške nastaju u testiranju bijele kutije jer testovi bijele kutije pokazuju područja u kojima program ne funkcionira logično ili gdje se funkcije i uvjeti zlorabe unutar softverskog koda.
Logičke pogreške mogu se prikazati kao kvarovi sustava ili jednostavno rezultirati neočekivanim ponašanjem i rezultatima.
2. Greške u dizajnu
Testiranje bijele kutije može pomoći programerima da prepoznaju pogreške dizajna u kodu. Greške u dizajnu nastaju kada postoji razlika između logičkog tijeka softvera i stvarne implementacije softvera. Mogu rezultirati neočekivanim ponašanjem i pogreškama u izvedbi.
3. Tiskarske pogreške
Tipografske pogreške i nedostaci u sintaksi pogreške su koje nastaju zbog ljudske pogreške – na primjer zato što je programer krivo upisao određenu frazu ili dodao pogrešnu interpunkciju retku koda. Male pogreške poput ove mogu rezultirati neispravnim funkcijama i izjavama koje softver ne može pročitati, što može uzrokovati velike pogreške u sustavu.
Uobičajene metrike testiranja bijele kutije
Kada provodite testiranje bijele kutije, uobičajene metrike testiranja mogu vam pomoći da izmjerite koliko su uspješni i sveobuhvatni vaši testovi bijele kutije, kao i razumjeti kvalitetu rada vaših programera.
Mjerni podaci testiranja informiraju proces razvoja jer mogu identificirati područja za poboljšanje ili usmjeravati proces testiranja dalje.
1. Pokrivenost koda
Jedna od primarnih karakteristika testiranja bijele kutije je da treba pokriti što je moguće više koda, a možete izmjeriti koliko ste koda pokrili metrikom pokrivenosti koda.
Mjerni podaci o pokrivenosti koda pokazuju koliko ste ukupnog koda aplikacije provjerili pomoću testiranja bijele kutije. Općenito, programeri imaju za cilj pokriti što je moguće bliže 100% softverskog koda testiranjem bijele kutije.
Pokrivenost koda može se podijeliti u različite metrike uključujući stazu, segment, izjavu i pokrivenost grane.
Pokrivenost složenih uvjeta još je jedna vrsta metrike pokrivenosti koda koja provjerava je li svaki uvjet unutar skupa provjeren zajedno s višestrukim putovima i kombinacijama putova.
2. Mjerenje nedostataka
Mjerne vrijednosti nedostataka odražavaju koliko je nedostataka pronađeno, koliko je dobro vaše testiranje bijele kutije u prepoznavanju nedostataka i koji postotak koda prolazi ili ne prolazi testiranje bijele kutije.
Mjerni podaci o greškama mogu se prikazati kao broj grešaka po tisuću redaka koda ili kao broj ukupnih grešaka u programu. Iako se mali broj nedostataka može činiti pozitivnim, programeri moraju osigurati da to nije zato što su nedostaci propušteni tijekom testiranja.
3. Izvođenje testa
Mjerni podaci o izvršenju testova mogu pomoći programerima da brzo vide koji je udio od ukupnog broja testova do sada izvršen i koliko je još neizvršenih testova. Mjerni podaci o izvršavanju teksta pomažu softverskim timovima da razumiju dokle je napredak testiranja bijele kutije i izvode li se automatizirani softverski testovi prema očekivanjima.
Međutim, moguće je imati i lažno pozitivne i lažno negativne rezultate koji mogu utjecati na točnost ove metrike.
4. Trajanje testa
Mjerni podaci o trajanju testa govore nam koliko je vremena potrebno za izvođenje automatiziranih testova, što je osobito važno u testiranju bijele kutije jer je automatizacija ključna za maksimiziranje učinkovitosti testa i pokrivenosti testom.
Trajanje testa često je usko grlo u agilnom razvoju softvera, pa razumijevanje vremena potrebnog za izvođenje testova softvera može pomoći razvojnim timovima da ubrzaju proces razvoja.
Međutim, važno je upamtiti da vam metrika trajanja testa ne govori ništa o kvaliteti testova koje izvodite.
Alati za testiranje bijele kutije
Alati i tehnologija mogu učiniti testiranje bijele kutije znatno točnijim, učinkovitijim i sveobuhvatnijim. Alati za testiranje bijele kutije mogu pomoći softverskim inženjerima da automatiziraju testiranje bijele kutije, zabilježe i dokumentiraju proces testiranja bijele kutije i upravljaju testiranjem bijele kutije od početka do kraja.
5 najboljih besplatnih alata za testiranje bijele kutije
Ako još ne želite ulagati u skupe alate za testiranje bijele kutije, možete isprobati cijeli niz besplatnih alata za testiranje bijele kutije na mreži bez ikakvog plaćanja.
Besplatni alati za testiranje ne nude uvijek sve iste funkcije kao alati za poduzeća, ali su dobra polazna točka za početnike u testiranju bijele kutije i mogu pomoći razvojnim timovima da bolje razumiju koji su im alati i tehnologije potrebni .
1. ZAPTEST BESPLATNO izdanje
ZAPTEST je alat za testiranje softvera i robotski softver za automatizaciju procesa koji programerima i QA testerima omogućuje automatiziranje testiranja bijele kutije i testiranja crne kutije.
ZAPTEST-ova besplatna inačica omogućuje više virtualnih korisnika, više ponavljanja i podršku korisničkog foruma. Aplikacija radi s lokalnim i vanjskim izvorima podataka i integrira se s HP ALM, Rally i JIRA. Korisnici kojima se sviđa ZAPTEST-ova besplatna ponuda i žele vidjeti više od onoga što tvrtka nudi mogu se također raspitati o nadogradnji na izdanje za poduzeća kada bude spremno.
2. Bugzilla
Bugzilla je vrlo popularan alat za testiranje softvera otvorenog koda koji programerima omogućuje praćenje grešaka i nedostataka unutar softvera i upravljanje životnim ciklusom grešaka.
Bugzilla olakšava dodjeljivanje grešaka programerima, određivanje prioriteta i provjeru grešaka te njihovo zatvaranje kada se poprave. Bugzilla je izvrstan alat za timove koji još uvijek pokušavaju standardizirati svoj pristup prijavljivanju grešaka i potpuno je besplatan za korištenje.
3. Otvorite Grok
OpenGrok je preglednik otvorenog koda i tražilica za bazu kodova. Kompatibilan je s kodom napisanim u Java C++, JavaScript i Python zajedno s drugim programskim jezicima.
Ako želite biti u mogućnosti brzo se kretati velikom bazom koda tijekom testiranja bijele kutije, OpenGrok je potpuno besplatan i jednostavan za korištenje.
4. SQLmap
SQLmap je još jedan alat otvorenog koda koji se smatra gotovo bitnim u testiranju bijele kutije. SQLmap regulira tijek iskorištavanja i otkrivanja grešaka u SQL ubacivanju.
SQLmap, koji je sam opisao kao ‘alat za testiranje prodora’, može pomoći testerima bijele kutije da identificiraju i lociraju sigurnosne pogreške u izvornom kodu i poprave ih prije nego što krenu dalje.
5. Ema
Emma je skup alata otvorenog koda koji može mjeriti pokrivenost koda ako radite u Javi. To je super brz način da brzo utvrdite pokrivenost koda i da pratite koliko je koda svaki član razvojnog tima pokrio na pojedinačnoj osnovi.
Emma podržava pokrivenost klase, metode, linije i osnovnog bloka i potpuno se temelji na Javi.
5 najboljih alata za testiranje bijele kutije za poduzeća
Ako tražite alate koji nude veću funkcionalnost ili bolju podršku, poslovni alati za testiranje bijelih okvira možda bolje odgovaraju vašem razvojnom timu.
1. ZAPTEST ENTERPRISE izdanje
ZAPTEST-ovo poslovno izdanje je poboljšana verzija besplatnog ZAPTEST-a. U ovoj verziji korisnici mogu imati koristi od neograničenih OCR predložaka, neograničenih ponavljanja i neograničenih VBScript i JavaScript skripti.
ZAPTEST-ovo izdanje za poduzeća nudi potpuniji paket alata za razvojne timove koji žele prijeći na automatizaciju, a poslovna verzija također dolazi sa podrškom stručnjaka kako bi vaš tim dobio najviše od ZAPTEST-ove automatizacije testiranja softvera i RPA tehnologije .
2. Guslač
Fiddler je paket alata tvrtke Telerik koji je napravljen za testiranje web aplikacija u bijeloj kutiji. Fiddler može zabilježiti sav HTTP promet između vašeg sustava i interneta i procijeniti postavljene prijelomne točke, kao i prilagoditi odlazne i dolazne podatke. Dostupan je u različitim formatima ovisno o vašem proračunu i zahtjevima, tako da postoji izdanje Fiddlera za gotovo svaki tim.
3. HP Fortify
HP Fortify, prije poznat kao Fortify, još je jedan alat za testiranje sigurnosti koji nudi sveobuhvatna sigurnosna rješenja za testiranje bijele kutije. Paket alata Fortify uključuje alat za analizu izvornog koda Fortify, koji će automatski skenirati vaš izvorni kod u potrazi za ranjivostima koje bi vašu aplikaciju mogle učiniti otvorenom kibernetičkim napadima.
4. ABAP jedinica
Poslovna verzija ABAP jedinice omogućuje programerima softvera da brzo i jednostavno provode ručno i automatizirano testiranje jedinica. Programeri pišu jedinične testove unutar ABAP aplikacije i koriste te testove za provjeru funkcija koda i prepoznavanje pogrešaka unutar jediničnog testiranja.
Softverski timovi koji žele isprobati ovaj alat mogu započeti s besplatnom verzijom ABAP jedinice prije nego prijeđu na izdanje za poduzeća.
5. LDRA
LDRA je vlasnički paket alata koji se može koristiti za pokrivanje izjava, pokrivanje grana i pokrivanje odluka prilikom provođenja testiranja bijele kutije. To je izvrstan alat ako želite provjeriti zadovoljava li vaš izvorni kod standardne zahtjeve za usklađenost, praćenje i higijenu koda.
Kada biste trebali koristiti enterprise
u odnosu na freemium alate za testiranje bijele kutije?
Alati za testiranje poslovnog i freemium softvera imaju svoje mjesto u svakom modernom timu za razvoj softvera. Kako vaš tim raste i automatizirano testiranje postaje sve važnije za vaš pristup testiranju bijele kutije, vjerojatno ćete htjeti prijeći s rada prvenstveno s besplatnim alatima za testiranje na rad s alatima za poduzeća koji nude više funkcionalnosti i neograničene upotrebe.
Međutim, postoje specifični scenariji u kojima besplatni alati mogu biti prikladniji od alata za poduzeća.
Mnogi programeri odabiru započeti s freemium alatima kada eksperimentiraju s novim značajkama i tehnologijama, prije svega kako bi procijenili odgovaraju li te tehnologije njihovom timu prije ulaganja u poslovne tehnologije.
Također možete isprobati besplatne verzije poslovnih alata kao što je ZAPTEST kako biste ih mogli isprobati prije kupnje i saznati više o ponudi poslovnih alata.
Naposljetku, neki freemium alati poput Emme i Bugzille specijalizirani su za posebne, ali važne značajke koje nude stalne prednosti čak i softverskim timovima koji su spremni platiti za poslovne tehnologije.
Testiranje bijele kutije: kontrolni popis, savjeti i trikovi
Kada budete spremni za testiranje bijele kutije, provjerite imate li sve što vam je potrebno prije nego što počnete. Ispod je popis stvari koje morate zapamtiti prije nego što započnete testiranje bijele kutije kako biste maksimalno povećali pokrivenost testom i poboljšali točnost rezultata testa bijele kutije.
1. Koristite alate za automatizaciju
Alati za automatizaciju mogu znatno ubrzati proces provođenja testiranja bijele kutije, kao i smanjiti stopu pogreške i povećati ukupnu točnost.
Gotovo svi softverski timovi danas koriste određenu razinu automatizacije za provođenje testiranja bijelih okvira, tako da vam eksperimentiranje s različitim alatima i tehnologijama za automatizaciju prije nego što započnete testiranje bijelih okvira može pomoći da odaberete alate koje želite koristiti prije početka testiranja.
2. Ciljajte na 100% pokrivenost testom
Vjerojatno nećete postići svoj cilj od 100% pokrivenosti testom, ali cilj da budete što je moguće bliže ovoj brojci je najbolji kada provodite testiranje bijele kutije.
Upotrijebite alate za testiranje pokrivenosti za praćenje i mjerenje pojedinačnih metrika kao što su pokrivenost staze i grana i osigurajte da su svi najvažniji putovi i grane unutar vašeg softvera pokriveni tijekom testiranja bijele kutije.
3. Izradite jasna izvješća o ispitivanju
Kao što je slučaj s drugim oblicima testiranja softvera, pobrinite se da vaš tim zna kako sastaviti točna i jasna izvješća o testiranju nakon svake faze testiranja.
Izvješće o testiranju treba biti napisano u lako razumljivom formatu i uključivati pojedinosti o pristupu testiranju, kao i sažetak izlaza i rezultata svakog izvršenog testa. Završno izvješće treba opravdati poduzete korake i dati preporuke za sljedeće korake.
4. Mjerite svoj uspjeh metrikom testiranja
Mjerni podaci testiranja pomažu softverskim timovima da prate i bilježe napredak testiranja bijele kutije i nude vrijedne informacije koje mogu informirati buduće razvojne procese.
Važno je da programeri koriste metriku kako bi razumjeli koliko je učinkovito testiranje koje provode i koliko je čist bio njihov početni kod kako bi mogli poboljšati svoj rad u budućnosti.
Testiranje bijele kutije:
Zaključak
Testiranje bijele kutije u programskom inženjerstvu bitna je vrsta testiranja softvera koja provjerava unutarnju strukturu i logiku izvornog koda softverske aplikacije.
U kombinaciji s testiranjem crne kutije, testiranje bijele kutije utvrđuje ne samo da softver radi kako se očekuje, već i da je interni kod logičan, čist i potpun.
Testiranje bijele kutije najčešće se provodi u jediničnom testiranju i integracijskom testiranju, a uvijek ga provode programeri i softverski inženjeri s potpunim poznavanjem internog koda softvera.
Iako se neka testiranja bijele kutije mogu provesti ručno, danas je mnogo testiranja bijele kutije automatizirano zbog poboljšanja u brzini, učinkovitosti i pokrivenosti koje automatizacija testiranja bijele kutije nudi.
Često postavljana pitanja i resursi
Ako želite saznati više o testiranju bijele kutije, postoji mnogo besplatnih internetskih resursa koje možete konzultirati. Možete koristiti videozapise, knjige i druge resurse da naučite kako provoditi testiranje bijele kutije i osigurati da vaši standardi testiranja bijele kutije slijede najbolje prakse.
1. Najbolji tečajevi o automatizaciji testiranja bijele kutije
Ako želite naučiti više o automatizaciji testiranja bijele kutije, možete pohađati tečaj o testiranju softvera i testiranju bijele kutije. Neki od tih tečajeva su akreditirani i nude formalne kvalifikacije, dok su drugi neformalni online tečajevi osmišljeni kao pomoć programerima i testerima softvera koji žele unaprijediti svoje znanje o određenoj temi.
Neki od najboljih tečajeva za testiranje bijele kutije koji su danas dostupni na mreži uključuju:
2. Kojih je pet najčešćih pitanja na intervjuu o automatizaciji testova bijele kutije?
Ako se pripremate za intervju na kojem biste mogli razgovarati o testiranju bijele kutije, tehnikama bijele kutije i alatima za automatizaciju, važno je da znate.
- Koja je razlika između testiranja bijele kutije i testiranja crne kutije?
- Zašto je testiranje bijele kutije važno?
- Koji su neki od različitih pristupa koje možete poduzeti za testiranje bijele kutije?
- Koji su procesi uključeni u testiranje bijele kutije i kako ih možemo poboljšati?
- Koji su neki od alata i tehnologija koje biste mogli upotrijebiti za brže ili točnije testiranje bijele kutije?
3. Najbolji YouTube vodiči o testiranju bijele kutije
Ako želite saznati više o testiranju bijele kutije, gledanje YouTube vodiča može vam pomoći da shvatite kako funkcionira testiranje bijele kutije i da vidite vizualna objašnjenja procesa i pristupa uključenih u testiranje bijele kutije.
Neki od najinformativnijih YouTube vodiča na mreži sada uključuju:
- Udacity: Primjer testiranja bijele kutije
- Guru99: Što je testiranje bijele kutije?
- Testiranje bijele kutije protiv crne kutije
- Tehnike testiranja bijele kutije
- Mentor za testiranje softvera: Što je testiranje bijele kutije?
4. Kako održavati testove bijele kutije
Održavanje softverskih testova osigurava da su testovi koje izvodite s vremena na vrijeme temeljiti i odgovaraju svrsi. Važno je održavati sve vrste softverskih testova iu blackbox i whitebox testiranju jer se kod na kojem izvodite testove stalno mijenja sa svakim popravkom greške i iteracijom. To znači da se vaše testne skripte moraju mijenjati zajedno s njim.
Održavanje testova bijele kutije uključuje održavanje vašeg okvira za automatizaciju testiranja ažurnim i provođenje procesa osmišljenih kako bi se osiguralo da se testovi i testni slučajevi redovito ažuriraju.
To možete učiniti na sljedeći način:
Ugradnja održavanja u vaš testni dizajn:
Uzimanje u obzir budućnosti testiranja bijele kutije kada prvi put izgradite i dizajnirate svoje testove bijele kutije olakšat će vam održavanje testova u budućnosti.
Omogućite jasnu komunikaciju između timova:
Pobrinite se da svi članovi vašeg razvojnog tima imaju višestruke kanale komunikacije tako da se, čim se izmjene unesu u kod, one mogu brzo odraziti na testove.
Budite prilagodljivi:
Ponekad možete napraviti promjene u kodu koje niste planirali. Pobrinite se da vaš tim zna kako se brzo prilagoditi ovim promjenama i ima li vještine za praćenje ovih promjena u testiranju.
Stalno preispitivati protokole testiranja:
Protokoli testiranja koje ste implementirali na početku testiranja možda neće biti prikladni nakon što vaš softver bude podvrgnut raznim promjenama i poboljšanjima. Ponovno procijenite svoje protokole testiranja u redovitim fazama kako biste provjerili odgovaraju li još uvijek.
5. Najbolje knjige o testiranju bijele kutije
Testiranje bijele kutije je duboka tema za čije svladavanje mogu trebati godine. Ako želite postati stručnjak za moderno testiranje bijele kutije u testiranju softvera, možete čitati knjige o testiranju bijele kutije koje su napisali programeri, akademici i inženjeri.
Neke od najboljih knjiga o testiranju bijele kutije i automatizaciji testiranja danas uključuju:
- Umjetnost testiranja softvera, treće izdanje, Glenford J. Myers, Corey Sandler, Tom Badgett, Todd M. Thomas
- Testiranje softvera: obrtnički pristup, četvrto izdanje, Paul C. Jorgensen
- Kako razbiti softver: Praktični vodič za testiranje, James Whittaker
- Automatizacija testiranja softvera Just Enough Dan Mosley i Bruce Posey
Te biste knjige trebali moći pronaći u nekim knjižarama i knjižnicama, kao i na internetu. Također možete pronaći druge materijale za čitanje i izvore za učenje na popisima za čitanje dobrih tečajeva i programa za testiranje softvera.