Pri testiranju programske opreme je na voljo na desetine različnih metod testiranja, ki jih je treba upoštevati.
Testiranje programske opreme pomaga razvijalcem odpraviti morebitne pomanjkljivosti v programskem paketu, da lahko pošljejo izdelek, ki izpolnjuje potrebe in pričakovanja vseh zainteresiranih strani. Z uporabo ustrezne rešitve za testiranje pridobite vse potrebno znanje, vendar lahko pravilna izbira testa zahteva veliko časa.
Testiranje sive škatle je ena od bolj vsestranskih oblik testiranja, ki so na voljo testerjem, saj ponuja veliko vpogleda, ne da bi zahtevala prevelike vire.
Preberite več o tem, kaj je testiranje sive škatle, o nekaterih posebnostih delovanja testiranja sive škatle in o nekaterih razlogih, zakaj podjetja uporabljajo to metodo testiranja.
Kaj je testiranje sive škatle?
Testiranje sive škatle je oblika testiranja, ki združuje testiranje bele in črne škatle ter uporablja delno razumevanje osnovne zasnove in načina izvajanja sistema.
Ta kombinacija pomeni, da preizkuševalec pozna del dogajanja v ozadju, ne da bi v celoti poznal kodo, kar omogoča boljši vpogled v morebitne vzroke težav v programski opremi, ko se pojavijo.
Za izvedbo testiranja sive škatle so odgovorni preizkuševalci, pri čemer ekipa za zagotavljanje kakovosti dela neodvisno od razvojne ekipe na projektu.
1. Kdaj in zakaj je pri testiranju programske opreme treba opraviti testiranje sive škatle?
Podjetja v razvojnem procesu večkrat uporabijo testiranje sive škatle.
Če mora na primer aplikacija za pravilno delovanje sodelovati z orodjem tretje osebe, preizkuševalci nimajo dostopa do izvorne kode, ki je del zunanje programske opreme. To je vsiljena omejitev dostopa testerjev QA in zaradi tega je testiranje siva škatla brez možnosti izbire.
2. Kdaj vam ni treba opraviti testiranja sive škatle
V postopku testiranja je nekaj trenutkov, ko testiranje sive škatle ni potrebno, prvi od teh je na začetku razvojnega postopka.
Funkcionalno testiranje poteka tako, da razvijalci na začetku testirajo, da se prepričajo, da njihova koda opravlja svoje najosnovnejše naloge, kar je popolnoma pregledno. Ker testerju ni skrita nobena koda ali dokumentacija, se to ne šteje za testiranje v sivi škatli.
Drugič ne potrebujete testiranja sive škatle, če testirate na samem koncu razvoja, ko imate dokončan izdelek. To je primer, ko vam pri testiranju pomaga končni uporabnik in je znan tudi kot “beta testiranje” ali “testiranje od začetka do konca“.
Uporabniki preizkušajo aplikacijo brez dostopa do kode ali projektne dokumentacije, namesto tega pa programsko opremo ocenjujejo glede na njene lastnosti. To je oblika testiranja “črne skrinjice”, saj je postopek popolnoma nepregleden.
3. Kdo sodeluje pri testiranju sive škatle?
Pri testiranju sive škatle sodeluje več oseb in vlog, med katerimi so nekatere najpomembnejše:
– Vodja QA:
Vodja zagotavljanja kakovosti ali vodja zagotavljanja kakovosti je član osebja v procesu razvoja programske opreme, ki je odgovoren za dodeljevanje nalog skupini za testiranje.
To vključuje oblikovanje urnikov, pregledovanje poročil in reševanje sporov, ki se pojavijo v ekipi.
– Tester:
Tester je strokovnjak, odgovoren za izvedbo testnih primerov, ki so del postopka testiranja sive škatle.
Pri tem je treba biti zelo pozoren na podrobnosti pri pisanju poročil in večkratnem izvajanju natančnih testnih primerov.
– Razvijalec:
Razvijalci so strokovnjaki, odgovorni za ustvarjanje kode in njeno prilagajanje glede na rezultate testiranja sive škatle.
Ti sicer niso nujno vključeni v samo testiranje, vendar od testerjev prejemajo sporočila o rezultatih.
– Analitik QA:
Vloga analitika QA je pogosta v procesih testiranja, pri katerih se uporablja veliko avtomatizacije. Analitik poleg analize podatkov, ki jih testi vrnejo ob koncu postopka, piše tudi kodo testnih primerov za samodejne teste.
Prednosti testiranja sive škatle
Uporaba testiranja sive škatle pri preverjanju programske opreme ima nekaj glavnih prednosti. Z izkoriščanjem teh prednosti boste sčasoma izboljšali standard svoje aplikacije.
Nekateri razlogi, zaradi katerih podjetja uporabljajo to obliko testiranja, so:
1. Poznavanje notranjih mehanizmov pomaga pri načrtovanju testov
Ena glavnih prednosti testiranja sive škatle na delovnem mestu je dejstvo, da poznate nekatere notranje mehanizme v aplikaciji. Pri tem je treba razumeti, kaj počne vsaka od funkcij in kateri moduli so na voljo v primerjavi s kodo, napisano po meri za nekatere druge funkcije.
Poznavanje notranje funkcionalnosti pomeni, da tester bolje razume, kaj testira, in lahko te teste usmeri v zasnovo aplikacije. Podjetja prejmejo natančnejše rezultate, ki pravilno predstavljajo programsko opremo.
2. Rezultat je takojšnja rešitev vprašanj
V nekaterih primerih, ko se pri testu pojavi težava in ima preizkuševalec dostop do kode, ki je v ozadju težave, lahko to težavo takoj reši.
To je v nasprotju z metodologijo testiranja črne skrinjice, pri kateri testerji ne vidijo nobene kode v ozadju programske opreme, ki jo preverjajo. Testerji z veliko izkušnjami pri razvoju lahko z vpogledom v kodo opozorijo razvijalce na točno določeno težavo in na to, kako jo bo rešila prihodnja posodobitev.
Testiranje sive škatle prihrani veliko časa, ki bi ga sicer porabili za preiskovanje težav, in pomaga podjetjem, da svoj čas porabijo učinkoviteje.
3. Ločitev preizkuševalcev in razvijalcev
S testiranjem v sivi škatli se jasno loči med razvijalci aplikacije in osebami, ki testirajo programsko opremo.
Testiranje sive škatle namreč temelji na tem, da preizkuševalci ne poznajo načina delovanja programske opreme, razdalja med njima pa je nujna za natančnejše rezultate testiranja, na katere ne vpliva pristranskost.
Testerji v scenarijih sive škatle so v povsem drugi skupini kot razvijalci in ponujajo natančne informacije, ne da bi obstoječi pogledi vplivali na njihove rezultate.
To koristi tudi razvijalcem, saj dobijo bolj kritičen pogled na svoje delo, kar jim pomaga izboljšati obstoječo aplikacijo in svoje znanje za prihodnost.
Izzivi testiranja sive škatle
Uporaba testiranja sive škatle pri razvoju ima nekaj večjih pomanjkljivosti.
Z razumevanjem teh pomanjkljivosti in njihovim zmanjševanjem, kjer je to mogoče, boste povečali splošno raven svojega dela na koncu faze zagotavljanja kakovosti.
Nekatere glavne pomanjkljivosti testiranja sive škatle so:
1. Možnost, da se koda ne vidi
Testiranje sive škatle pomeni, da so nekateri vidiki kode testerju skriti, kar lahko v primeru težav pri testiranju privede do nadaljnjih težav.
Zaradi nevidne kode zaposleni, ki sodelujejo pri testiranju, težko usmerjajo svoje teste, da bi kar najbolje izkoristili aplikacijo, in izgubijo koristi takojšnjega ugotavljanja vzroka težave.
Postopek odstranjevanja napak je še bolj zapleten, zaradi česar so potrebni daljši časi posodobitev, podjetja pa se trudijo najti težave v svoji kodi.
Končni izdelki so lahko zaradi te nevidne kode bolj pomanjkljivi in slabše kakovosti.
2. Preskusi so lahko netočni, če operacije niso uspešne
Natančni testi so nujni pri vseh oblikah testiranja programske opreme, saj večja stopnja natančnosti usmerja ekipe k posodobitvam, ki jih lahko izvedejo v prihodnjih različicah, poleg tega pa pomaga razvojni ekipi, da je bolj prepričana v svoje izdelke.
Ta natančnost se zmanjša, če so operacije pri testiranju sive škatle neuspešne. Če testerji nimajo dostopa do kode, programska oprema preprosto pošlje sporočilo “Operacija ni uspela”, zaradi česar ne morejo podati povratnih informacij o njenem delovanju.
Da bi pridobili koristne metrike, morajo razvijalci programsko opremo popraviti pred naslednjo fazo testiranja. V nasprotnem primeru lahko preizkuševalec le ugotovi, da funkcija v trenutni obliki ne deluje.
3. Težave s porazdeljenimi sistemi
Porazdeljeni sistemi se nanašajo na sisteme programske opreme, ki gostujejo na več različnih mestih ali so odvisni od funkcij, kot so storitve obdelave podatkov in obdelave v oblaku.
To zelo otežuje testiranje, saj je velik del programske opreme skrit za organom tretje osebe, pri čemer testerji preprosto prejmejo izpis iz neznanega procesa.
Pri težavah s programsko opremo, ki uporablja sisteme tretjih oseb, je težko ugotoviti, ali je težava v sami aplikaciji, funkcionalnosti tretje osebe ali načinu integracije obeh, zlasti če preizkuševalec ne more videti kode med delovanjem.
Značilnosti preskusov sive škatle
Obstaja nekaj značilnosti, ki jih imajo testi sive škatle med seboj, prepoznavanje teh testov pa vam pomaga pri pripravi strategije za vašo organizacijo.
Nekateri glavni primeri značilnosti testiranja sive škatle in kako so te značilnosti pomemben del postopka testiranja sive škatle, vključujejo:
– Večja pokritost:
Dostop do dela izvorne kode omogoča večjo stopnjo pokritosti testov, podrobnejše informacije pa omogočajo natančnejše iskanje napak.
– Pretok podatkov:
Veliko testov sive škatle poudarja pretok podatkov in razumevanje, kako se informacije premikajo skozi sistem.
– Nealgoritmično:
Preizkušanje sive škatle ne deluje pri preverjanju algoritmov, saj je to še ena raven zakrivanja kode.
Kaj preverjamo v testih sive škatle?
Vsako različno vrsto testiranja je najbolje uporabiti, če je usmerjena na določene dele zadevne programske opreme. Enako velja za testiranje sive škatle, pri čemer je ta metodologija najbolj uporabna za nekatere značilne dele aplikacije.
Nekateri primeri, ki jih testerji ocenjujejo pri izvajanju testov sive škatle, vključujejo:
1. Varnost aplikacij
Testi sive škatle so idealni za penetracijske teste, ki preverjajo varnost aplikacije. Preizkuševalci lahko vidijo vso kodo in iščejo morebitne ranljivosti.
Etični hekerji so idealni preizkuševalci za testiranje varnosti aplikacij, saj lažje prepoznajo morebitne slabosti in napake v programski opremi kot tisti, ki nimajo izkušenj s kršenjem varnosti programske opreme.
2. Testiranje podatkovne baze
Veliko podjetij uporablja testiranje sive škatle za testiranje podatkovne baze, saj lahko spremljate podatke skozi vsako podfunkcijo v programski opremi.
Testerji lahko vidijo vse spremembe, ki jih naredi programska oprema, in ocenijo, ali so pravilne.
To je uporabna izvedba testiranja sive škatle, saj so testi podatkovnih zbirk po svoji naravi predvidljivi, saj podjetja uporabljajo podatkovne zbirke za organizacijo obstoječih informacij in ne za ustvarjanje novih podatkov.
3. Spletne aplikacije
Spletne aplikacije imajo koristi od uporabe testiranja sive škatle zaradi vsestranskosti te metode testiranja.
Testi sive škatle se lahko uporabljajo za testiranje varnosti, podatkovne baze, integracije, uporabniškega vmesnika in brskalnika, ki so ključni vidiki spletnih aplikacij.
Metodologij testiranja vam ni treba spreminjati, zato imate koristi od večje stopnje kontinuitete.
Razjasnite nekaj nejasnosti:
Testiranje sive škatle v primerjavi s testiranjem bele škatle in črne škatle
Testiranje sive škatle je oblika testiranja, ki je podobna testiranju bele in črne škatle, kar pomeni, da je med metodologijama veliko možnosti za zamenjavo.
Preberite več o tem, kaj sta testiranje bele in črne škatle ter kakšne so temeljne razlike med njima in testiranjem sive škatle pri razvoju programske opreme:
1. Kaj je testiranje bele škatle?
Testiranje bele škatle je oblika testiranja aplikacij, ki testerju zagotavlja izčrpne informacije o aplikaciji.
To vključuje popoln dostop do izvorne kode in vseh dokumentov o zasnovi programske opreme, kar testerju omogoča veliko boljše razumevanje delovanja programske opreme.
Testerji na podlagi tega razumevanja vidijo več težav, ki so prisotne v aplikaciji, in poročajo o natančnejšem pogledu na to, kako aplikacija deluje za uporabnike.
Primer uporabe testiranja v beli škatli je pregled pretoka določenega vnosa podatkov skozi aplikacijo, da bi ugotovili, kje v procesih aplikacije se pojavlja težava, namesto da bi preprosto preverili, ali težava obstaja ali ne.
V razvojnih procesih podjetja nekajkrat uporabijo testiranje bele škatle.
Prvi od teh je testiranje enot, ki ocenjuje, ali vsak posamezen del kode ali modul v programskem paketu opravlja delo, ki ga razvijalec pričakuje.
Testiranje enot pomaga testerjem pri iskanju večine težav v aplikaciji, saj preverja vse funkcionalnosti v aplikaciji.
Pri iskanju uhajanja pomnilnika pomaga tudi testiranje bele škatle. S podrobnim pregledom celotne kode analitik QA ugotovi, kje aplikacija uporablja pomnilnik naprave, in morebitna področja, kjer ga uporablja preveč.
To pripomore k hitrejšemu in učinkovitejšemu delovanju aplikacije v prihodnjih iteracijah, saj je za uhajanje pomnilnika čim prej pripravljen popravek.
Kakšne so razlike med testi v sivem in belem polju?
Med testi bele in sive škatle je nekaj glavnih razlik, pri čemer je prva razlika v ravni informacij, do katerih ima nekdo dostop.
Testiranje bele škatle ima popoln dostop do izvorne kode in projektne dokumentacije programa, medtem ko ima testiranje sive škatle le delni dostop do nekaterih informacij, predvsem do projektne dokumentacije.
Ta sprememba pomeni, da se razlikujejo tudi osebe, ki izvajajo teste, saj so za testiranje bele škatle odgovorni predvsem razvijalci sami.
Za testiranje sive škatle pa je odgovorna ekipa za zagotavljanje kakovosti, saj testerji ne morejo podrobno poznati kode.
Testiranje sive škatle traja manj časa kot testiranje bele škatle. Testiranje bele škatle je celovito in preverja tako uporabniško stran programske opreme kot tudi samo kodo. To traja veliko dlje, zato je postopek testiranja v sivi škatli veliko hitrejši.
Bela škatla ima več možnosti za avtomatizacijo, saj preizkuševalci poznajo način delovanja notranje kode.
2. Kaj je testiranje črne škatle?
Testiranje črne škatle se nanaša na testiranje, ko tester pregleda programski paket, ne da bi imel kakršno koli obstoječe razumevanje delovanja sistema.
To pomeni, da nimate dostopa do nobene kode, ki je del aplikacije, ali do katere koli razpoložljive projektne dokumentacije ali navodil. Testerji imajo preprosto seznam funkcij, ki jih testirajo, in vrsto testnih primerov, ki jih morajo opraviti.
Primer testiranja črne škatle je testiranje od začetka do konca, pri katerem tester prejme celoten paket programske opreme in testira celotno aplikacijo, da se prepriča, ali funkcionalnost deluje, kot je bila zasnovana.
Večina idealnih testnih primerov za testiranje črne škatle je proti koncu procesa, ki vključuje stranke in njihov pogled na izdelek, pri čemer pomanjkanje dostopa do kode preprečuje kakršno koli pristranskost, ki bi vplivala na pogled uporabnika.
Podjetja uporabljajo testiranje črne škatle predvsem po tem, ko so končana vsa funkcionalna testiranja aplikacije. Ko je testiranje enot in testiranje funkcij končano, razvijalci razumejo, da aplikacija deluje tako, kot pričakujejo, vsaj z vsemi moduli, ki delujejo ločeno.
Testiranje črne skrinjice zagotavlja, da celotna aplikacija po sestavljanju deluje, kot je bilo pričakovano, saj je teoretično vsa izvorna koda že urejena.
Kakšne so razlike med testiranjem sive in črne škatle?
Glavna razlika med testiranjem sive in črne škatle je v obsegu dostopa, ki ga ima tester do informacij.
V nekaterih primerih lahko preizkuševalec črne škatle pristopi k aplikaciji, ne da bi imel kakršno koli predhodno znanje o programski opremi, preprosto opravi postopek preizkušanja in uporablja programsko opremo kot običajni uporabnik.
Po drugi strani pa ima tester sive škatle dostop do nekaterih projektnih dokumentov, zato lahko primerja delovanje aplikacije z njenim dejanskim delovanjem in razvijalcem zagotovi povratne informacije o tem, kateri deli aplikacije ne ustrezajo standardom.
Druga razlika je v času, ki je potreben za odpravo težave, saj testi sive škatle zahtevajo nekoliko več časa.
Navzkrižno povezovanje dokumentacije in kode z načinom, kako doživljate aplikacijo, lahko traja nekaj časa, kar je v nasprotju z načinom dela preizkuševalcev črne škatle, ki preprosto preučijo samo aplikacijo in morebitne težave s funkcionalnostjo. Zaradi te kombinacije je testiranje črne škatle idealen postopek, ki se uporablja ob koncu razvojnega procesa, ko se pripravljate na izdajo izdelka, siva škatla pa se bolje obnese, ko ste v fazi razvoja uporabniškega vmesnika in sestavljanja izdelka.
3. Zaključek: Siva škatla proti beli škatli proti črni škatli
Na koncu lahko rečemo, da so testiranje bele, sive in črne škatle del istega spektra, v katerem je spremenljiv dejavnik stopnja dostopa, ki jo ima tester v celotnem postopku.
Ko oblika testiranja postane bolj “črna”, je testiranje vse bolj nepregledno, dostop do informacij v ozadju programske opreme pa je omejen.
Testiranje bele škatle je idealno za najzgodnejše faze postopka, testiranje črne škatle pa za faze, kot je testiranje od konca do konca, ki preverja celotno aplikacijo z vidika uporabnika.
Testiranje sive škatle je vmesna točka med obema konceptoma, saj pomaga pri iskanju težav v sredini razvojnega procesa, saj omogoča boljši vpogled, hkrati pa testerju ostane del izvorne kode še vedno skrit.
Tehnike testiranja sive škatle
Testiranje sive škatle vključuje številne tehnike, od katerih vsaka povečuje standard testiranja, odkriva več napak za razvijalca in na koncu procesa pripelje do popolnejšega izdelka.
Nekatere najpogostejše tehnike testiranja sive škatle, ki jih uporabljajo ekipe za zagotavljanje kakovosti, vključujejo:
1. Testiranje matrice
Matrično testiranje preverja poročilo o stanju projekta, ki je v teku. To v nekaterih primerih vključuje preprosto stanje PASS/FAIL, pri tekočih procesih pa je na voljo več podrobnosti o tem, kako procesi neprekinjeno delujejo.
Medtem ko se večina testiranj osredotoča na vhode in izhode kode, matrično testiranje preverja stanje samih procesov in ne rezultatov teh procesov.
Uporaba matričnega testiranja omogoča večji poudarek na sami aplikaciji, saj pomaga najti napake in težave, tudi če so rezultati videti pravilni.
2. Regresijsko testiranje
Regresijsko testiranje je namenjeno testiranju programske opreme po vrsti posodobitev. To vključuje funkcionalne in nefunkcionalne teste, ki zagotavljajo, da aplikacija ob spremembah kode še vedno deluje dovolj kakovostno.
Testerji, ki uporabljajo regresijsko testiranje, običajno uporabljajo avtomatizacijo, saj obseg regresijskih testov narašča, ko ekipa za zagotavljanje kakovosti odkrije vedno več napak.
V nekaterih primerih je ročno testiranje nujno, saj podjetja, ki testirajo uporabniški vmesnik, z ročnim testiranjem preverjajo, kako se uporabnik odziva na spremembe menijev, gumbov in navigacijskih možnosti.
3. Testiranje vzorcev
Testiranje vzorcev je oblika testiranja, ki se osredotoča na upoštevanje določenega vzorca pri vsakem testu, ki ga opravi organizacija.
Ekipe za testiranje te teste oblikujejo tako, da se osredotočijo na vse funkcije programske opreme, pri čemer vsak test podjetju zagotavlja dosledno raven informacij o delovanju posameznih funkcij.
Pri testiranju vzorcev je včasih treba vzorec sčasoma spremeniti, da bi zagotovili, da boste ocenili vse delujoče sisteme, ko pa boste imeli vzorec, ki deluje, se izogibajte odstopanjem, da bi zagotovili večjo doslednost rezultatov.
4. Testiranje ortogonalnega polja
Ortogonalno testiranje polj je predvsem tehnika testiranja, usmerjena v črno škatlo, ki se pojavi, kadar testerji uporabljajo veliko število vhodov, ki je preveliko, da bi lahko izčrpno testirali vsak posamezen sistem v procesu.
V teh primerih vsak posamezen podatek zagotavlja svojo edinstveno informacijo zaradi morebitnega pomanjkanja korelacije med posameznimi podatki. To je ortogonalni vidik sistema, pri katerem se edinstveni podatki uporabljajo za zagotavljanje največje ravni podatkov ob najmanjši porabi napora.
Čas testiranja je krajši, poleg tega pa imate idealno ravnovesje podatkov, ki jih lahko posredujete razvojni ekipi.
Testiranje sive škatle v življenjskem ciklu inženiringa programske opreme
Testiranje sive škatle spada v določeno fazo življenjskega cikla inženiringa programske opreme. Ta življenjski cikel je zapleten niz korakov, ki jih podjetja izvajajo pri razvoju svojih izdelkov, pri čemer vsak korak vodi do višjega standarda izdelka.
Čeprav je testiranje del procesa, ki poteka neprestano, je časa za testiranje sive škatle zelo malo.
To se zgodi po tem, ko je začetna funkcionalnost dokončana in preizkušena s testiranjem bele škatle, in preden je programska oprema pripravljena za javno objavo, pri čemer podjetja v zadnjih fazah raje opravijo testiranje črne škatle.
Siva škatla je odlično orodje za povezovanje funkcij in zagotavljanje, da poleg samostojnega delovanja pravilno delujejo tudi v tandemu.
Ročni ali avtomatizirani testi sive škatle?
Tako kot pri vseh oblikah testiranja programske opreme se ekipe za zagotavljanje kakovosti odločajo med ročnim testiranjem s pomočjo strokovnega osebja in samodejnim testiranjem, ki vključuje kodiranje vrste testnih primerov in njihovo večkratno izvajanje, da se zagotovi natančen niz rezultatov.
Preberite več o ročnem in avtomatiziranem testiranju, nekaterih prednostih in izzivih vsakega od njiju ter o tem, katera od obeh oblik testiranja je idealna za podjetje, ki želi bolje razumeti težave s svojim izdelkom.
Ročno testiranje sive škatle – prednosti, izzivi, proces
Ročno testiranje je temeljni del številnih vrst testiranja, vključno s testiranjem sive škatle.
Ta postopek vključuje človeške preizkuševalce, ki pregledajo del programske opreme, preverijo, ali programska oprema deluje, kot ste pričakovali, ter jo primerjajo z že obstoječo projektno dokumentacijo in vidno kodo, da preverijo, ali so v teh informacijah očitne pomanjkljivosti, ki bi lahko povzročile težave.
Primeri, v katerih je običajno ročno testiranje, vključujejo bolj zapletene dele programske opreme, pri katerih je potreben človek, da zagotovi kakovosten vpogled.
Uporabljajo jih tudi manjša podjetja, ki želijo temeljito oceniti svojo programsko opremo, saj manjše aplikacije in paketi v primerjavi z večjimi programi, ki jih proizvajajo večja podjetja, zahtevajo razmeroma malo sredstev za ocenjevanje.
1. Prednosti ročnega testiranja sive škatle
Ročno testiranje sive škatle za katero koli programsko opremo ima več prednosti. Če poznate te prednosti, lahko testiranje usmerite k njim, tako da odkrijete več težav v svoji programski opremi in z boljšim režimom testiranja izboljšate standard svojega dela.
Glavne prednosti ročnega testiranja sive škatle so:
Podrobne povratne informacije
Prva velika prednost ročnega testiranja sive škatle je, da lahko testerji razvijalcu zagotovijo pomembno raven povratnih informacij.
Pri avtomatiziranem testiranju so testni primeri zasnovani tako, da vedno znova zagotavljajo zelo specifične metrike, ki analitikom omogočajo vpogled, ko imajo čas za oceno podatkov.
Pri ročnem testiranju je to nekoliko drugače, saj lahko preizkuševalec zagotovi natančnejše povratne informacije o tem, katera funkcija ni delovala, in o morebitnih razlogih za težavo, potem ko jo primerja s projektno dokumentacijo.
S podrobnimi povratnimi informacijami se vodijo ne le posodobitve obstoječih funkcij, temveč tudi morebitne nove funkcije, ki jih tester priporoča uporabnikom.
Boljše razlage
Avtomatizirano testiranje pomeni, da so vsi zaključki odvisni od ocene podatkov, ki jih prejmete s testiranjem, in racionalnega sklepanja o tem, kaj to pomeni za programsko opremo.
Nasprotno pa imajo ročni preizkuševalci veliko boljši vpogled v delovanje same aplikacije.
Kodo sivega polja lahko primerjajo z dejanskim dogajanjem v realnem času in tako v tistem trenutku opravijo natančno oceno, namesto da bi morali odštevati naknadno.
Nekatere platforme za avtomatizacijo lahko delujejo podobno, saj imajo funkcijo ponovnega predvajanja, vendar to še vedno zahteva ročno posredovanje.
Prilagodljivo testiranje
Avtomatizacija testiranja vključuje kodiranje zelo specifičnih testnih primerov v platformo, kar pomeni, da programska oprema vedno znova opravi določen niz nalog.
To je sicer idealno za ponavljanje, vendar predstavlja poseben izziv, saj testiranje ni fleksibilno.
V teh primerih je idealna uporaba človeškega preizkuševalca, ki poveča prilagodljivost postopka. Če preizkuševalec opazi morebitno težavo, ki nekoliko odstopa od ozko opredeljenega primera preizkušanja, jo lahko preuči in na koncu postopka poroča o rezultatih.
To podjetjem omogoča celovitejši pregled nad programsko opremo in odkrivanje napak, ki jih samodejni sistem ne more odkriti.
2. Izzivi ročnega testiranja sive škatle
Uporaba ročnega testiranja v procesu razvoja programske opreme ima veliko prednosti, vendar tudi nekaj slabosti. Ti se razlikujejo glede na več dejavnikov, med drugim glede na specifično programsko opremo, s katero se podjetje ukvarja, velikost razvojne ekipe ter raven znanja in spretnosti članov testne in razvojne ekipe.
Pomembni izzivi pri ročnem testiranju vključujejo:
Visoki stroški dela
Stroški dela so med najpomembnejšimi izdatki, ki jih ima vsako podjetje, saj se izplača pridobiti najboljše razpoložljivo osebje, da lahko podjetje izboljša standard svojega dela.
Ker lahko ročno testiranje sive škatle vzame veliko časa, mora podjetje plačati svoje testerje, da delajo ves čas postopka. Pri nekaterih največjih aplikacijah lahko to traja več ur, stroški ročnih preizkuševalcev pa se povečajo.
Razvijalci lahko to težavo zmanjšajo tako, da avtomatizacijo testiranja v sivi škatli uravnotežijo z ročnim testiranjem ali zmanjšajo urne stroške dela, vendar s tem tvegajo zmanjšanje kakovosti testiranja.
Človeška napaka
Avtomatizirano testiranje učinkovito izvaja preproste postopke in jih ponavlja z visoko stopnjo natančnosti na način, ki ga človek ne more.
Ljudje delamo napake in manjše pomote, ki so lahko posledica česar koli, od nenamernega pritiska na napačen gumb do tega, da za nekaj sekund izgubimo pozornost.
Takšne napake lahko privedejo do netočnih podatkov in povzročijo, da se razvijalci osredotočijo na napačen del programske opreme, kar jim vzame dragoceni čas za razvoj in poslabša izdelek.
To poskušajte rešiti tako, da po možnosti ponovite teste sive škatle in preverite rezultate med nadaljevanjem testiranja.
Dolgo traja
Medtem ko lahko računalniki opravijo naloge v trenutku, si ljudje vzamejo malo več časa.
Razlog za to so različni dejavniki, od reakcijskega časa do preprostega dela, ki je počasnejše od njihove optimalne hitrosti, kar vse upočasnjuje postopek testiranja.
Počasnejši postopek testiranja pomeni manj časa za razvojne ekipe, ki se ukvarjajo z odpravljanjem napak in pomanjkljivosti v izdelku, saj je ves čas namenjen temu, da se težave najprej najdejo.
Tega ni enostavno ublažiti, ena od možnih rešitev pa je hibridni režim testiranja, kot je uravnoteženje ročnih testov z avtomatiziranimi testi sive škatle.
Avtomatizacija testiranja v sivi škatli – prednosti, izzivi, proces
Avtomatizacija testiranja se nanaša na postopek uporabe platforme za avtomatizacijo, ki omogoča avtomatizacijo nekaterih delov postopka testiranja sive škatle.
Postopek poteka tako, da načrtovalci testov ustvarijo vrsto testnih primerov, analitiki za zagotavljanje kakovosti ali podobni strokovnjaki pa te teste kodirajo v programe za avtomatizacijo, pri čemer nekateri kot dodatno orodje uporabljajo avtomatizacijo robotskih procesov.
V teh primerih analitiki za zagotavljanje kakovosti že razumejo del kode ali projektne dokumentacije.
Ta vrsta testiranja je pogostejša pri večjih paketih programske opreme, saj testerji sive škatle nimajo časa za temeljito ročno testiranje vseh vidikov postopka.
Po avtomatiziranem postopku platforma analitiku za zagotavljanje kakovosti vrne poročilo, v katerem so navedene napake in vrsta pomembnih kazalnikov.
1. Prednosti avtomatiziranega testiranja sive škatle
Uporaba samodejnega testiranja sive škatle v postopkih ekipe za zagotavljanje kakovosti prinaša nekaj jasnih prednosti.
Če se podjetje osredotoči na te prednosti in jih kar najbolje izkoristi, lahko poveča učinkovitost testiranja sive škatle in v tej fazi delovnega postopka reši čim več težav.
Nekatere glavne prednosti uporabe avtomatizacije pri testiranju sive škatle so:
Hitro testiranje
Avtomatizirani sistemi so zasnovani tako, da se testirajo izjemno hitro in čim hitreje opravijo vrsto postopkov. Ta prednost je še bolj očitna pri ponavljajočih se testih sive škatle, saj vsak posamezen postopek traja manj časa.
Količina časa, ki ga prihranite med izvajanjem, se znatno poveča, saj ima vaše podjetje veliko več časa za opravljanje nujnih nalog, kot so posodabljanje programske opreme ter zagotavljanje povratnih informacij strankam in potencialnim strankam.
Hitrejše testiranje je še posebej koristno pri delu po izdaji, saj je čim hitrejše posredovanje popravkov funkcionalnosti nujno za izboljšanje načina, kako ljudje vidijo podjetje.
Natančne metrike
Metrike so pomemben del načina testiranja programske opreme, saj testerju zagotavljajo številčne informacije, ki nakazujejo morebitne težave.
Računalniki in platforme za avtomatizacijo ponujajo zelo natančne meritve, saj se odzivni časi merijo na milisekunde natančno.
Z natančnejšimi metrikami lahko spremljate majhne spremembe v delovanju aplikacije, kar vam pomaga razumeti, ali je posodobitev izboljšala delovanje ali pa so standardni delovni postopki trajali dlje časa.
Zmanjšani stroški
Eden od največjih stroškov testiranja pri razvoju programske opreme v sivi škatli so stroški samih testerjev sive škatle.
Zaposlovanje strokovnjakov za testiranje programske opreme je drago, zlasti če iščete testerje sive škatle, ki zahtevajo več različnih znanj, da bi vaši organizaciji zagotovili najvišje možne standarde.
Avtomatizacija pomeni, da je manj ljudi, ki opravljajo ročne teste sive škatle, s čimer se iz procesa izločijo številni stroški osebja.
Čeprav imajo platforme za avtomatizacijo določene stroške, saj večina od njih zaračunava mesečno naročnino, je ta veliko nižja od stroškov, ki jih je treba plačati zaposlenim, da opravijo delo namesto vas.
2. Izzivi avtomatiziranega testiranja sive škatle
Uporaba avtomatizacije v postopkih testiranja sive škatle je povezana z mnogimi izzivi.
Medtem ko se nekatere organizacije osredotočajo na koristi, je veliko prednosti, če poznate izzive testiranja sive škatle in jih upoštevate pri svojem delu.
Testiranje sive škatle lahko izvedete tako, da se izognete izzivom in preprečite, da bi se v prihodnje spopadali z omejitvami.
Glavni izzivi avtomatiziranega testiranja sive škatle so:
Začetna nastavitev
Začetna nastavitev je eden največjih izzivov pri procesu avtomatizacije. Gre za čas, ki je potreben za prehod na novo platformo za testiranje, vključno z namestitvijo platforme, učenjem uporabnikov, kako naj z njo delajo, in kodiranjem prvih testov v programski opremi.
Vse to je neproduktiven čas, ki ga želi podjetje čim bolj omejiti.
V tem primeru je idealna uporaba vrhunske programske opreme za avtomatizacijo s strokovnjaki, ki so vam na voljo, ko jih potrebujete, saj vam tretja stran nudi podporo, ki zagotavlja, da avtomatizacija sive škatle in druge vrste testiranja potekajo nemoteno že od samega začetka.
Visoke zahteve glede znanj in spretnosti
Čeprav ročno testiranje zahteva visoko raven znanja, morajo analitiki QA, ki delajo z avtomatizacijo, še vedno imeti visoko raven znanja.
To se kaže v obliki spretnosti kodiranja, ki se uporabljajo predvsem za ustvarjanje testnih primerov in branje kode, ki je na voljo v scenariju sive škatle.
Razvijalci lahko to ublažijo tako, da posebej zaposlijo preizkuševalce, ki imajo izkušnje z razvojem ali so v preteklosti že sodelovali pri projektih kodiranja. Omejite čas usposabljanja na delovnem mestu in zagotovite, da se bo vsak novinec lahko prilagodil zahtevam avtomatiziranega testiranja v sivi škatli.
Nekatera podjetja si kot alternativo prizadevajo uporabiti sistem za avtomatizacijo brez kode za izvajanje testiranja sive škatle, vendar to lahko privede do manjše prilagodljivosti na delovnem mestu.
Stalni nadzor
Avtomatizirano testiranje je delno namenjeno temu, da se ne zanaša na ljudi, saj je pri ročnem testiranju v procese nenehno vpleten človek.
To ne velja za avtomatizacijo testiranja, vendar morajo podjetja še vedno imeti dobro raven nadzora.
Nadzor vključuje preverjanje rezultatov testov sive škatle in njihovo vzdrževanje, da bi se prepričali, da vse še vedno deluje, kot je razvijalec pričakoval.
Podjetja lahko pomagajo izboljšati standard nadzora, ki je na voljo, na več načinov, pri čemer je idealno, da je za nadzor testov odgovoren en sam strokovnjak.
To vodi do večje stopnje specializacije, tako da zaposleni postane strokovnjak za testiranje v sivi škatli, ki hitreje in učinkoviteje dela z avtomatizacijo.
Zaključek: Ročna ali siva avtomatizacija testiranja?
Zaključimo lahko, da imata tako ročno testiranje v sivi škatli kot avtomatizirano testiranje svoje mesto v procesu testiranja programske opreme.
Manjša podjetja in zagonska podjetja imajo koristi od izvajanja ročnega testiranja v sivi škatli, ko je njihova koda razmeroma majhna in obvladljiva, pri čemer postaja avtomatizacija vedno bolj uporabna, ko aplikacije rastejo in imajo več funkcij.
Vendar bo ročno testiranje vedno imelo svoje mesto, saj podjetjem omogoča večjo stopnjo vpogleda, podrobnosti in prilagodljivosti.
Idealna rešitev sive škatle za vsako podjetje je hibridni model, ki na različnih točkah uporablja ročno in avtomatizirano testiranje ter tako upošteva prednosti in slabosti obeh tehnik.
Celostni pristop razkrije več težav, ki jih ima programski paket, kar pomaga pri učinkovitejšem popravljanju programske opreme in na koncu strankam zagotovi veliko boljši izdelek na koncu razvoja.
Kaj potrebujete za začetek testiranja sive škatle?
Obstaja nekaj predpogojev, ki jih podjetja potrebujejo pred začetkom testiranja sive škatle. Z njimi lahko omogočite postopek testiranja ali pa je testiranje programske opreme veliko preprostejše za ekipo za zagotavljanje kakovosti, saj ima na voljo več sredstev.
Predpogoji za izvedbo testiranja sive škatle vključujejo:
1. Projektna dokumentacija ali izvorna koda
Prva stvar, ki jo potrebujete za začetek postopka testiranja sive škatle, je bodisi projektna dokumentacija bodisi izvorna koda. Testerji morajo imeti dostop do teh informacij, da se testiranje šteje za test sive škatle, ki omogoča vpogled v notranje delovanje same programske opreme.
Te informacije morajo biti čim bolj ustrezne, na primer niz kode za določeno funkcijo, ki jo preizkuševalec preverja.
Pri testiranju v sivi in ne beli škatli zagotovite le del kode in projektne dokumentacije, zato bodite previdni glede ravni dostopa, ki ga zagotavljate.
2. Kratek opis izdelka
Kratka predstavitev izdelka ali kratka predstavitev aplikacije je dokument, ki ga podjetja uporabljajo za popolno razumevanje, kaj stranka išče v programskem paketu. V njem so podrobno opredeljene natančne funkcionalnosti, ki jih stranka pričakuje od programske opreme, zasnova, ki jo stranka želi, in vse druge potrebne specifikacije.
Branje kratkega opisa izdelka pomeni, da lahko tester sive škatle poišče vse funkcije, ki jih želi stranka, in se prepriča, da so v programski opremi, ter zagotovi, da izdelek ustreza vsem ciljem, ki jih ima podjetje za svojo aplikacijo.
Nekatera podjetja omejujejo količino informacij, ki jih lahko vidijo preizkuševalci sive škatle, kar je odvisno od pravil zaupnosti v podjetju.
3. Cilji testiranja
Razvijalci in podjetja imajo pri izvajanju testov določene cilje, ki se včasih imenujejo specifikacija testov. To je zelo pomembno pri postopku testiranja sive škatle, saj pomeni, da lahko razvijalci testerjem sive škatle zagotovijo vse prave informacije, ekipa za zagotavljanje kakovosti pa pripravi teste, ki ustrezajo ciljem postopka testiranja.
V tem primeru vsi delajo učinkoviteje, saj vedo, kaj iščejo in kako najbolje doseči te cilje.
Postopek testiranja sive škatle
Testiranje sive škatle poteka po razmeroma doslednem postopku z jasnimi koraki, ki označujejo posamezne faze, ki jih mora podjetje opraviti, da bi doseglo cilje testiranja.
Jasno in dosledno izvajanje postopka zagotavlja natančne in dosledne rezultate, ki razvijalce obveščajo o morebitnih težavah in načinih njihovega reševanja.
Glavni koraki pri testiranju sive škatle so:
1. Določanje vhodov in izhodov
Prvi korak v postopku je določitev vhodov in izhodov, ki jih pričakujete od aplikacije.
Izberite vhodni podatek, ki je v mejah tistega, kar se od aplikacije običajno pričakuje, da bo opravila, da bo to pošten preskus, in določite izhodni rezultat, ki ga pričakujete od tega vnosa.
Če to napoved opravite na začetku projekta, boste ob koncu testiranj vedeli, ali je šlo kaj narobe.
2. Opredelitev primarnih tokov
Primarni tokovi so poti, po katerih podatki v programski opremi dosežejo končni rezultat.
Opredelitev primarnega toka pomeni, da lahko bolje spremljate, kako informacije prehajajo skozi postopke programske opreme, določite morebitna področja, na katerih se lahko pojavijo napake, in si prizadevate za njihovo odpravo, če se pojavi težava s programsko opremo.
3. Določite podfunkcije z vhodi in izhodi
Podfunkcije so osnovne operacije znotraj primarnega toka. Vsaka podfunkcija se napaja iz druge, ta pa iz naslednje, kar na koncu privede do končnega rezultata programske opreme.
Določite, kakšen mora biti vhodni podatek za vsako podfunkcijo, skupaj z napovedanim izhodnim podatkom za vsako podfunkcijo.
Če to storite na ravni podfunkcij, dobite dodatno raven vpogleda pri iskanju morebitnih težav s programsko opremo.
4. Razvoj testnega primera
Testni primer pomeni niz dogodkov, ki se zgodijo v programski opremi in s katerimi se preveri, ali aplikacija deluje, kot ste pričakovali.
Prepričajte se, da ta testni primer sive škatle ustrezno preverja del programske opreme, ki ga obravnavate.
Osredotočite se tudi na doslednost in poskrbite, da je testni primer enostavno ponoviti, da bi dobili natančnejše rezultate testa sive škatle.
5. Izvedite testni primer
Začnite izvajati testni primer.
Pri tem je treba v vsako podfunkcijo vnesti vhodne podatke, preveriti, kakšni so izhodni podatki, in zabeležiti vse rezultate.
Pri avtomatiziranem testiranju sive škatle je postopek beleženja samodejen, ročni testerji pa sami beležijo vse vhode in izhode.
Če lahko, pred zagonom celotnega toka naenkrat preizkusite vse podfunkcije posebej, da preverite, ali vsaka funkcija deluje samostojno.
6. Preverjanje rezultatov
Ko prejmete podatke iz testnega primera, začnite preverjati te rezultate.
To pomeni, da si ogledate rezultate, ki jih dobite iz programske opreme, in jih primerjate z rezultati, ki ste jih pričakovali na začetku postopka.
Če je med njima razlika, to pomeni, da je v programski opremi morda napaka, saj ne deluje tako, kot ste sprva napovedali.
7. Ustvarite poročilo
Na koncu postopka testiranja sive škatle ustvarite poročilo o rezultatih testa.
To vključuje osnovni povzetek težav s programsko opremo, oceno nekaterih možnih rešitev teh težav in, če je mogoče, vse podatke, pridobljene s preskusi.
S to strukturo je bralcu podan glavni nauk, preden so navedeni vsi potrebni dokazi, in na koncu je to skladen dokument, ki ponuja veliko smernic.
Najboljše prakse za testiranje sive škatle
Najboljše prakse se nanašajo na postopke, naloge in načela, ki jih zaposleni izvajajo pri testiranju kakovosti, da bi dosegli najvišje možne standarde.
Nekatere od teh najboljših praks za ekipe za zagotavljanje kakovosti, ki želijo izboljšati standard svojega dela, vključujejo:
1. Delajte previdno
Tako kot pri vsaki metodi testiranja si vzemite čas in delajte previdno. Že ena sama napaka lahko izniči test, zato počasi in vztrajno zagotavljate natančnost svojega dela, kar vam dolgoročno prihrani čas in hkrati izboljša standard programske opreme. To še posebej velja za testiranje sive škatle, saj ne veste, s katerimi deli izvorne kode delate v vsakem trenutku.
2. Nenehno komuniciranje
Med razvijalci in preizkuševalci sive škatle mora potekati stalna komunikacija. Tako imajo razvijalci takojšnje povratne informacije o vseh napakah, ki jih odkrije ekipa za testiranje, testerji pa vedo, na kaj morajo biti pozorni.
Če je napaka del vidnega dela sivega polja, razvijalce natančno obvestite, kje je.
3. Postavite stroge omejitve
Kadar se pri testiranju sive škatle uporabljajo umetne omejitve informacij, pri čemer podjetje samo odloča o tem, katere informacije bodo posredovane testerjem, poskrbite za stroge omejitve.
Ekipi za zagotavljanje kakovosti omogočite le dovoljenja, ki jih potrebuje, sicer tvegate, da bodo “pogledali za zaveso” in videli izvorno kodo ali razvojne dokumente, ki jih poskušate skriti.
7 napak in pasti pri izvajanju testov sive škatle
Ker je vsako leto v postopku testiranja na stotisoče aplikacij, se ekipe za zagotavljanje kakovosti zatikajo pri nekaterih napakah in pasteh.
Če jih poznate, se jim lahko učinkovito izognete, izboljšate svoje delo in zmanjšate možnost zapravljanja sredstev za slabe strategije testiranja.
Nekatere najpogostejše napake in pasti pri testih sive škatle vključujejo:
1. Testiranje porazdeljenih sistemov
Testiranje sive škatle zahteva dostop do izvorne kode, porazdeljeni strežniki pa uporabljajo kodo z drugih lokacij. To povzroča težave pri testiranju sive škatle, saj pomeni, da obstajajo težave, ki jih testerji morda ne bodo mogli opaziti.
2. Dokončanje nedoslednega testiranja
Nedosledno testiranje se nanaša na situacijo, ko se testni primer med izvajanjem spreminja. To lahko povzroči netočne rezultate, razvijalci pa se nato osredotočijo na izboljšanje zmogljivosti na podlagi napačnih metrik.
Če je mogoče, naj bodo vsi testi enaki, da povečate natančnost in točnost testiranja.
3. Hitenje s testi
Če se približuje datum izdaje izdelka, se lahko ekipe za zagotavljanje kakovosti znajdejo v skušnjavi, da pohitijo s testiranjem sive škatle.
Vendar je to znak slabega načrtovanja, na katerega se ne bi smeli odzvati s še slabšimi odločitvami. Prehitro testiranje vodi do netočnih rezultatov in izgube časa pozneje v razvojni fazi.
4. Neizvajanje ročnega in avtomatskega dela skupaj
Niti ročno testiranje niti avtomatizirano testiranje nista popolni metodi za testiranje sive škatle.
Če ju uporabljate vzporedno, lahko upoštevate težave vsakega od njiju in tako delate učinkoviteje.
Vsaj razmislite o kombinaciji obeh metod za boljše testiranje.
5. Delo brez orodja
Orodja za testiranje so zasnovana tako, da testiranje v sivi škatli čim bolj olajšajo. Če delate brez kakršnih koli orodij, po nepotrebnem omejujete svoje zmožnosti.
Temeljito raziščite in pridobite vsa orodja, ki bi vam lahko pomagala pri razvoju, da bi povečali učinkovitost in zmanjšali možnost napak.
6. Slaba komunikacija
Notranja komunikacija med oddelki je lahko težavna, vendar je čim bolj jasna komunikacija med oddelki za testiranje in razvoj nujna.
Boljša komunikacija pomeni, da razvijalci takoj vedo, katere izboljšave je treba uvesti, in rešujejo težave, ne da bi jih pri tem zavajala slaba notranja sporočila.
7. Aktivno iskanje hroščev
Sivi testi so namenjeni iskanju morebitnih napak, če te obstajajo, pa tudi preverjanju splošnega delovanja programske opreme.
Predolgotrajno iskanje napak lahko vzame veliko časa in odvrne pozornost od glavnega cilja izboljšanja delovanja aplikacije.
Vrste rezultatov testov sive škatle
S testi sive škatle se na koncu postopka pridobi več različnih vrst informacij. Ne gre za rezultate same programske opreme, temveč za podatke, ki jih lahko razvijalci uporabijo za izboljšanje programske opreme.
Glavne vrste izhodov so:
1. Sporočila PASS/FAIL
Preprosto sporočilo PASS/FAIL, ki razvijalca obvesti, ali je bilo delovanje programske opreme uspešno.
Takšni rezultati razvijalcu ne omogočajo veliko vpogleda, vendar pa uporaba testiranja sivih škatel pomeni, da lahko tester ugotovi, na kateri točki je programska oprema odpovedala in zakaj, kar mu pomaga rešiti težavo.
2. Metrike
Metrike se nanašajo na preproste statistične podatke, ki prikazujejo dogodek, na primer čas, ki je potreben za dokončanje določenega opravila, do milisekunde natančno. Ti so pogosti pri avtomatiziranem testiranju sive škatle, saj računalniške platforme samodejno zbirajo te informacije z višjo stopnjo natančnosti, kot bi jo lahko dosegel ročni tester.
Te informacije so koristne za ugotavljanje učinkovitosti aplikacije.
3. Kvalitativni podatki
Opisne informacije, ki jih prejmete od preizkuševalca sive škatle na podlagi njegovih izkušenj s programsko opremo. Neizmerljiv, kar otežuje analizo, vendar omogoča boljšo raven vpogleda v uporabniško izkušnjo in strankam omogoča boljše razumevanje programske opreme.
Primeri testov sive škatle
V nekaterih primerih poznavanje teorije v zvezi z določeno obliko testiranja ne zagotavlja zadostnega vpogleda in ustreznega razumevanja. Poznavanje nekaterih primerov testov sive škatle je bistvenega pomena za boljše razumevanje načina delovanja metodologije testiranja.
V nadaljevanju si oglejte nekaj primerov testov sive škatle, ki vsebujejo več podrobnosti o testih v resničnem svetu in o tem, kako se teorija uporablja na praktičnih delovnih mestih.
1. Primer uspešnega varnostnega testiranja
Podjetje ustvarja zbirko podatkov z veliko osebnimi podatki in načrtuje varnostno testiranje, da bi se prepričalo, da so podatki uporabnikov zaščiteni.
Ročni preizkuševalec v postopku išče morebitne pomanjkljivosti v kodi in možnosti za dostop do delov aplikacije.
Ko preizkuševalec odkrije slabost, obvesti razvijalca o tem, kje je slabost in kako jo je izkoristil.
Ko je programska oprema popravljena, preizkuševalec ponovno opravi isti preskus, da se prepriča, da je sistem varen.
2. Primer neuspešnega testiranja podatkovne zbirke
Razvijalci, ki ustvarjajo podatkovno zbirko, imajo kratek rok za izdajo in morajo hitro testirati.
Testerji v naglici zberejo nekaj osnovnih testnih primerov in jih hitro izvedejo, pri tem pa delajo napake pri izvedbi, ne pripravijo napovedi rezultatov in ne preverijo podfunkcij.
Ker ne pripravljajo napovedi proizvodnje, se ne zavedajo težav pri proizvodnji in zato pošiljajo izdelek, ki ne deluje pravilno.
Vrste napak in hroščev, odkritih s testiranjem sive škatle
Eden glavnih ciljev testiranja sive škatle je iskanje napak in hroščev v programu, saj si podjetja prizadevajo zagotoviti vrhunske aplikacije, na katere se stranke lahko zanesejo, kadar koli je to mogoče.
Obstaja nekaj posebnih vrst napak in hroščev, ki jih lahko testerji najdejo v postopku testiranja sive škatle, pri čemer lahko vsaka od njih kaže na drugačno težavo v kodi.
Vrste napak in hroščev, ki se odkrijejo pri testiranju sive škatle, vključujejo:
1. Napaka v procesu
Prva oblika napake je napaka procesa.
To se nanaša na primer, ko test ne vrne nobenega rezultata in se preprosto zruši.
Obstaja več možnih vzrokov za te težave in v idealnem primeru lahko tester sive škatle ugotovi, od kod izvira težava in kako lahko razvijalec kodira odziv.
2. Nepravilen izhod
Nekatere napake pri testiranju sive škatle se pojavijo, ko rezultat postopka ni takšen, kot so ga predvideli razvijalci.
To je resen problem v primerih, kot je podatkovna zbirka, v kateri je varno shranjevanje pravilnih informacij nujno.
3. Varnostne napake
Varnostne napake se pojavijo, kadar je aplikacija podjetja nekoliko nezanesljiva in tretjim osebam omogoča dostop do informacij, ki jih vsebuje.
Varnostne pomanjkljivosti v aplikaciji lahko pomenijo problem GDPR in povzročijo, da aplikacija ni skladna s številnimi mednarodnimi predpisi.
Skupne metrike za testiranje sive škatle
Metrike se nanašajo na stalne meritve, ki preučujejo določen dogodek ali niz dogodkov, običajno v obliki kvantitativnih podatkov.
Z uporabo metrik lahko preizkuševalci in ekipe za zagotavljanje kakovosti pregledajo programsko opremo, ki se testira v sivi škatli, in natančno ugotovijo, kaj gre narobe, bodisi da se pojavlja več napak bodisi da se različne funkcije nalagajo dlje časa.
Nekatere najpogostejše metrike testiranja sive škatle, ki jih testerji QA uporabljajo pri ocenjevanju programske opreme, vključujejo:
– Čas do izhoda:
Čas, ki ga aplikacija potrebuje, da ustvari izhodni signal po začetku preskusa.
– Čas do odziva:
Čas, ki ga programska oprema potrebuje, da se odzove na vnos uporabnika, bodisi v obliki rezultata ali zgolj potrditve vnosa.
– Število napak:
Čisto število napak, ki jih ima programska oprema v svojih procesih.
– Napake na funkcijo:
Število obstoječih napak, deljeno s številom funkcij v programski opremi, ki se uporablja za določitev gostote napak.
Najboljša orodja za testiranje sive škatle
Pri testiranju sive škatle se lahko zanašate na zunanja orodja, ki izboljšujejo kakovost vašega dela, avtomatizirajo nekatere postopke in vam pomagajo pri oblikovanju popravkov za morebitne najdene napake.
Boljše kot je orodje za testiranje, več težav boste odkrili in boljši bo standard končnega izdelka, hkrati pa boste pri testiranju prihranili čas in sredstva.
V nadaljevanju si oglejte nekaj najboljših orodij za testiranje sive škatle ter prednosti in slabosti uporabe posamezne platforme.
5 najboljših brezplačnih orodij za testiranje sive škatle
Če želi manjše podjetje začeti s testiranjem sive škatle, mora imeti na voljo prava orodja, enako pomembno pa je, da so na voljo po razumni ceni. V malem podjetju šteje vsak cent in nič drugače ni pri razvijalcih aplikacij, kjer je zaradi omejenih proračunov treba sprejeti težke odločitve.
Uporaba brezplačnih orodij za testiranje sive škatle je odlična za zagotavljanje kakovosti z minimalnimi sredstvi.
Nekatera najboljša brezplačna orodja za testiranje sive škatle vključujejo:
1. ZAPTEST BREZPLAČNA IZDAJA
Brezplačna izdaja programa ZAPTEST uporabnikom ponuja visokokakovostno izkušnjo avtomatizacije s celovito avtomatizacijo programske opreme, ki podpira testiranje od samega začetka razvoja.
Z vzporednim izvajanjem lahko opravite več testov hkrati in tako pospešite svoje postopke, ko pa ste pripravljeni na preskok na naslednjo raven, je prehod kar se da enostaven, saj vam ga omogoča izdaja Enterprise. Kot dodatno ugodnost ZAPTEST brez dodatnih stroškov ponuja tudi najsodobnejšo tehnologijo RPA.
Odlična izbira za nekoga, ki je na začetku testiranja.
2. Appium
Appium je temeljito orodje za testiranje, namenjeno zagotavljanju, da so mobilne aplikacije v skladu s standardi, ima aktivno skupnost podpornikov, vendar teste izvaja razmeroma počasi. Zaradi zahtevne nastavitve to ni najboljše brezplačno orodje za veliko podjetij.
3. Orodja Chrome Dev Tools
Google Chrome ponuja vrsto razvojnih orodij za spletne aplikacije, z integracijo v najbolj priljubljen brskalnik pa se zdi nujna.
Vendar je omejen na testiranje elementov škatle, zato je omejeno orodje za testiranje.
4. JUnit
JUnit je odprtokodno ogrodje, ki uporabnikom omogoča, da vedno znova izvajajo ponovljive teste v Javi, kar je omejeno na en sam jezik.
Sama po sebi ta omejitev ni problematična, vendar lahko zaradi pomanjkanja preprostega vmesnika API in vmesnika odvrne novejše preizkuševalce.
5. DBUnit
DBUnit se osredotoča na podporo projektom, usmerjenim v podatkovne zbirke, pri čemer uporablja znana stanja za natančno preverjanje rezultatov in celovito preverjanje rezultatov.
To je odlično za podatkovne zbirke in podobne aplikacije, vendar ima zaradi pomanjkanja podpore za integracijo težave pri opravilih med različnimi platformami.
5 najboljših orodij za testiranje sive škatle v podjetjih
Z rastjo razvijalca se povečujejo tudi njegove zahteve po testiranju, saj imajo večja podjetja večje aplikacije in zato potrebujejo obsežnejše testne komplete.
Podjetja imajo na voljo orodja za testiranje v sivi škatli, ki so v pomoč podjetjem v takšnih razmerah, saj omogočajo boljši dostop do naprednih funkcij, ki jih ljubiteljski in manjši razvijalci morda ne potrebujejo.
Nekatera najboljša orodja za testiranje v podjetjih pri izvajanju testov sive škatle vključujejo:
1. ZAPTEST ENTERPRISE EDITION
Podjetniška izdaja programa ZAPTEST zagotavlja večje možnosti testiranja kot brezplačna različica, ena glavnih prednosti pa je stalen dostop do strokovnjaka ZAP. Strokovnjak ZAP deluje kot svetovalec in član vaše ekipe na daljavo ter podpira vse potrebe vašega podjetja po testiranju.
Razvijalci, ki vlagajo v ZAPTEST Enterprise edition, lahko zaradi naprednih tehnologij računalniškega vida, 1SCRIPT, izvajanja na različnih platformah, napravah in brskalnikih ter predvsem neomejenih licenc pričakujejo do desetkrat večji donos na svojo naložbo.
Neomejeno število licenc ter najnaprednejša tehnologija testiranja in RPA pomenijo, da imajo podjetja fiksne stroške, ne glede na to, kako hitro in kako močno rastejo.
2. TestRail
Rešitev za upravljanje testnih primerov, ki vam omogoča, da vse opravljene teste razdelite po testnih primerih in tako natančneje beležite podatke.
Vendar pa TestRail ni nujno idealen za testiranje sive škatle, saj težko usklajuje ročno testiranje z avtomatiziranim beleženjem testov.
3. Testiranje
Platforma za testiranje, ki se osredotoča na zagotavljanje stabilnih testov po meri, pri čemer izvaja tako kodirane testne primere kot nekodirane alternative.
Ker je brezplačna le za določeno število testov na mesec, lahko večje organizacije to platformo le stežka izkoristijo.
4. TestRigor
TestRigor je splošno priznana platforma, ki za izvedbo testov uporablja motor umetne inteligence, pri čemer je vzdrževanje testov z umetno inteligenco ena od privlačnejših funkcij.
Vendar je cena tega precej visoka, saj druge platforme omogočajo boljšo donosnost naložbe.
5. Kobiton
Kobiton je platforma za testiranje, ki je razmeroma prilagodljiva glede cen, saj po zaključku brezplačnega preizkusa avtomatizira teste na uporabnika.
Eden od pomislekov, ki jih imajo nekateri uporabniki v zvezi z orodjem Kobiton, je relativno pomanjkanje podpore podjetja Kobiton pri reševanju vprašanj testerjev.
Kdaj morate uporabljati orodja Enterprise in kdaj Freemium Grey box?
Orodja za podjetja in brezplačna siva škatla svojim uporabnikom zagotavljajo številne prednosti. Za podjetja je najbolje, da začnejo z brezplačnim izdelkom, da spoznajo postopek testiranja, nato pa z naraščajočimi potrebami preidejo na izdajo za podjetja.
S tem se v projekt vnese stopnja kontinuitete, ki omejuje število ponovnih usposabljanj osebja.
Točka prehoda se razlikuje od podjetja do podjetja, vendar v določenem trenutku postane donosnost naložbe v izdelek podjetja neizogibna.
Kontrolni seznam, nasveti in triki za testiranje sive škatle
Testiranje sive škatle je precej zapleten postopek, zato vam kontrolni seznam, ki ga lahko uporabite, pomaga zagotoviti, da ste pri testiranju naredili vse, kar morate.
Nekatere glavne značilnosti kontrolnega seznama sive škatle, poleg nasvetov za izboljšanje kakovosti testiranja, vključujejo:
1. Temeljito načrtovanje
Celovito načrtovanje je ena od prvih stvari, ki jih je treba preveriti pri testu, saj je treba načrtovati prav vse vidike testa.
Bolj ko načrtujete, bolj strukturirano je vaše testiranje, saj ljudje vedo, katere teste bodo opravljali in kdaj jih bodo opravljali.
To omogoča tudi dosledne podatke, ki so idealni za boljše rešitve za razvijalce.
2. Takojšnje poročanje o podatkih
Pri testiranju sive škatle poskusite podatke sporočiti takoj. S čimprejšnjo pripravo poročil povečate natančnost postopkov poročanja, saj so vse informacije še sveže v vašem spominu.
To še posebej velja za kvalitativne informacije, saj jih mora tester napisati in ne le shraniti na testni platformi.
3. Določite odgovornosti
Med postopki testiranja poskrbite, da se vsi na delovnem mestu osredotočijo na to, da imajo določene odgovornosti. S tako določenimi odgovornostmi vsi vedo, kakšna je njihova vloga na delovnem mestu, in razumejo, kako produktivno in z minimalnimi prekinitvami opravljati svoje naloge.
Čeprav je to bolj koncept upravljanja kot točka kontrolnega seznama za testiranje, ima velik vpliv na rezultate.
4. Stalna primerjava
Svoje rezultate skoraj neprestano primerjajte z več stvarmi. Med primerjalnimi točkami so začetna projektna dokumentacija, rezultati predhodnega testiranja in časovni načrt organizacije za dokončanje projekta.
S temi referenčnimi okviri se stalno seznanjate s potekom procesa razvoja programske opreme, področji, ki jih je treba izboljšati, in morebitnimi prilagoditvami, ki jih je treba izvesti.
Zaključek
Zaključimo lahko, da je testiranje sive škatle ena od najbolj vsestranskih oblik testiranja, ki združuje funkcionalnost bele škatle z omejitvami pristranskosti testov črne škatle.
Z združevanjem ročnih in avtomatiziranih metod testiranja v sivi škatli lahko podjetja začnejo bistveno zmanjševati vpliv napak na svojo programsko opremo, tako da uvedejo popravke, ki vodijo k boljšemu izdelku.
Testiranje sive škatle je odlično orodje za vsakega razvijalca, z zgornjimi nasveti pa lahko zagotovite, da ga boste pravilno uporabljali.
Pogosta vprašanja in viri
Če imate vprašanja o testiranju sive škatle, si oglejte nekaj naših najpogosteje zastavljenih vprašanj, da bi izvedeli več in izboljšali svoje razumevanje te vrste testiranja:
1. Najboljši tečaji o avtomatizaciji testiranja v sivi škatli
Obstaja razmeroma malo tečajev, ki so posebej namenjeni avtomatizaciji testiranja sive škatle, zato so ti splošni tečaji testiranja programske opreme idealen način za začetek:
– “Software Testing Foundation z izpitom”- Ponudbe za usposabljanje
– “6-tedensko usposabljanje za osnove testiranja programske opreme”- Futuretrend Technologies Ltd
– “Software Testing Course”- Royal Course
– “Testiranje črne in bele škatle” – Coursera
– “Testiranje programske opreme – Strategije črne skrinjice in testiranje bele skrinjice” – NPTEL
2. Katerih je pet najpomembnejših vprašanj za razgovor o testiranju sive škatle?
– Kakšne izkušnje imate s testiranjem sive škatle in kako se vam je to posrečilo?
– Zakaj podjetja uporabljajo testiranje sive škatle in na kateri točki procesa?
– Primerjava testiranja v beli, sivi in črni škatli
– Kateri so največji izzivi pri testiranju sive škatle in kako jih lahko premagate?
– Kako deluje avtomatizacija testiranja?
3. Najboljše vaje na YouTubu o testiranju sive škatle
– “Kaj je testiranje v sivi škatli? Katere tehnike se uporabljajo pri testiranju sive škatle? Z razlago primera”- Software Testing Hacks
– “Testiranje sive škatle | inženiring programske opreme |”- Education 4u
– “Testiranje v črni, beli in sivi škatli”- Miracle Education
– “Nasveti za nove ročne QA testerje | Delo z razvijalci + stvari, ki sem se jih naučila kot testerka programske opreme”- Madeline Elaine
– “Kaj je testiranje sive škatle? (Vprašanje za intervju za testiranje programske opreme #54)”- QA Fox
4. Kako vzdrževati teste sive škatle?
Vzdrževanje testov sive škatle je precej preprost postopek. Pri ročnem testiranju poskrbite, da so zaposleni dobro usposobljeni in vsakič opravijo enake naloge. Pri avtomatiziranem testiranju preverite vso kodo za testne primere in preverite rezultate ter po možnosti stalno nadzorujte postopke.
5. Najboljše knjige o testiranju sive škatle
V tem razdelku so poleg knjig objavljeni tudi članki iz revij, da bi testerjem QA zagotovili najvišje možne standarde pisne pomoči:
– “Siva tehnika testiranja integracije programske opreme, ki temelji na sporočilu”- TanLi M. et al
– “Primerjalna študija tehnik testiranja bele, črne in sive škatle”- Ehmer, M., Khan, F.
– “Strategije testiranja na podlagi sive škatle FSM”- Petrenko, A.
– “Programsko inženirstvo”- Saleh, K.A.
– “Mednarodna konferenca o računalniških aplikacijah 2012”- Kokula Krishna Hari K.