Testiranje softvera nevjerojatno je složeno i intenzivno područje, a tvrtke i neovisni programeri žele poboljšati svoje proizvode nizom metoda testiranja.
Jedna od najčešćih metoda koju tvrtke koriste za testiranje je testiranje crne kutije, tehnika koja stvara distancu između programera i testera kako bi se dobili točni rezultati i eliminirala pristranost.
Saznajte više o tome što je testiranje crne kutije, kako dovršiti testiranje crne kutije i neke od prednosti implementacije testiranja crne kutije u softverskom inženjerstvu uz ovaj detaljni vodič.
Što je testiranje crne kutije?
Testiranje crne kutije odnosi se na proces testiranja sustava ili dijela softvera bez ikakvog prethodnog znanja o načinu na koji interno funkcionira. To se ne odnosi samo na nepoznavanje samog izvornog koda, već uključuje i to da niste vidjeli nikakvu dokumentaciju o dizajnu softvera. Ispitivači jednostavno daju ulazne podatke i primaju izlazne podatke kao što bi to učinio krajnji korisnik. Iako je ovo jednostavna definicija testiranja crne kutije, ona postavlja opći sustav.
Cilj testiranja crne kutije je navesti korisnike na interakciju sa softverom na prirodniji način od uobičajenog, bez ikakvih postojećih predrasuda koje proizlaze iz toga što već znaju za softver.
U ovoj metodologiji, ljudi odgovorni za dovršetak testova razlikuju se od onih koji su razvili softver, što stvara razdvajanje između dva tima.
1. Kada i zašto trebate obaviti testiranje crne kutije u testiranju softvera?
Postoji nekoliko faza u razvojnom ciklusu u kojima je korištenje testiranja crne kutije idealno, a većina testiranja crne kutije odvija se na kraju razvoja, neposredno prije izdavanja.
To uključuje metode kao što je testiranje prihvaćanja korisnika , u kojem softver ide članovima ciljane publike softvera kao oblik testiranja prije izdavanja. Ovo je poznatije kao beta testiranje i idealan je alat za tvrtku jer veća izloženost znači da je vjerojatnije da će ljudi pronaći potencijalne greške u softveru.
Rad s metodologijom crne kutije pred kraj razvojnog ciklusa je obavezan jer je to verzija kojoj će korisnik vjerojatnije pristupiti. Mogli biste koristiti testiranje crne kutije za pojedinačne funkcije, ali to bi poništilo svrhu testiranja.
2. Kada ne morate raditi testiranje crne kutije
Testiranje crne kutije ima vrlo malo svrhe u najranijim fazama razvoja. Kada tvrtka gradi osnovnu funkcionalnost svog softvera, koristi se testiranjem bijele kutije kako bi razvojni programer mogao vidjeti na kojem mjestu u kodu postoje problemi.
Također nema potrebe za testiranjem crne kutije kada je softver otvorenog koda ili relativno jednostavan web-alat ili dizajniran za pomoć u projektima kodiranja treće strane, jer postoji relativno golo korisničko sučelje, a korisnik može pristupiti izvornom kodu program svejedno. Ako očekujete da korisnik pristupi izvornom kodu, testiranje crne kutije gubi svoju glavnu svrhu.
3. Tko je uključen u testiranje crne kutije?
Mnogo je uloga uključenih u proces testiranja crne kutije, a neke od tih uloga ovise o prirodi tvrtke koja provodi testiranje.
Značajne uloge s uključenošću u proces testiranja crne kutije uključuju:
· Tester
Tester je odgovoran za dovršavanje ručnih testnih slučajeva u tvrtki, pisanje temeljitih testnih slučajeva koji detaljno ispituju aplikaciju prije nego što ih provede i izvješćivanje o rezultatima. Ova uloga prvenstveno postoji u procesu ručnog testiranja, s automatiziranim sustavima koji preuzimaju ulogu tamo gdje postoji automatizacija testiranja .
· QA analitičar
QA analitičar je odgovoran za programiranje u testnim slučajevima u QA procesu, prvenstveno kada tvrtka koristi QA test automatizirani proces.
Proces uključuje i dizajniranje detaljnih testnih slučajeva koji osiguravaju visoku razinu funkcionalnosti i izvršavanje testnih slučajeva, dohvaćanje rezultata kada se završe.
· Programer
Osoba odgovorna za razvoj softvera koji QA tim testira. Programer prima povratne informacije od tima za testiranje i ažurira softver u skladu s tim, radeći kao dio razvojnog tima, ali u stalnoj komunikaciji s testerima.
· QA Manager
QA manager je voditelj tima za osiguranje kvalitete i odgovoran je za upravljanje svim zadacima koje testeri obavljaju.
To uključuje dogovaranje rasporeda testiranja, organiziranje popisa stvari koje treba učiniti za članove osoblja i rješavanje svih sukoba u timu. Također objašnjavaju testiranje crne kutije u obuci za novozaposlene.
· Voditelj projekta
Osoba odgovorna za kvalitetu konačnog projekta, voditelj projekta nadzire proces testiranja kao i razvoj, osiguravajući da klijent dobije softverski paket koji zadovoljava cijeli zadatak.
Prednosti testiranja crne kutije
Postoji nekoliko značajnih prednosti korištenja testiranja crne kutije u vašem razvoju. Što ste više svjesni ovih dobrobiti, to ih više možete iskoristiti koristeći što više prednosti tehnike.
Neke od glavnih prednosti korištenja testiranja crne kutije u vašem osiguranju kvalitete uključuju:
1. Nema potrebe za tehničkim znanjem
Pristup crne kutije znači da nemate potrebe za tehničkim znanjem prilikom pregledavanja aplikacije.
Cilj testiranja crne kutije je ispitati kako aplikacija radi za krajnjeg korisnika, a standardni korisnik u većini situacija nema nikakvo napredno tehničko znanje. To može smanjiti troškove testiranja, pomažući organizaciji da otkrije više grešaka uz niže troškove, postajući financijski učinkovitija.
2. Točno modelirajte korisnika
Krajnji cilj procesa testiranja crne kutije je razumjeti koji su problemi s aplikacijom kada korisnik s njom komunicira na dnevnoj bazi.
Neke vrste testiranja crne kutije – koje se fokusiraju na repliciranje načina na koji se korisnik ponaša, modeliraju ponašanje korisnika do visokog stupnja preciznosti. To je osobito slučaj kod testiranja prihvaćanja korisnika, u kojem krajnji korisnici doživljavaju proizvod, ne samo modelirajući ili simulirajući ponašanje korisnika, već ga stvarno implementirajući.
Modeliranje točno pomaže u otkrivanju grešaka koje utječu na korisnikov stvarni tijek rada.
3. Sposobnost masovnog testiranja
Testiranje crne kutije vrlo je pristupačan oblik testiranja zahvaljujući relativno niskim zahtjevima za vještinama.
To znači da ne samo da tvrtke mogu angažirati testere s nižom razinom tehničkih vještina, već mogu i prepustiti svoje testiranje entuzijastičnim kupcima. To je sve češće u industriji igara s tvrtkama koje nude izdanje za rani pristup, ažurirajući igru tijekom vremena kako bi riješili probleme koje korisnici pronađu.
Pronalaženje bugova u ovom je slučaju puno lakše jer sve značajke dobivaju puno veću razinu izloženosti.
Izazovi testiranja crne kutije
Osim prednosti testiranja crne kutije, postoji nekoliko velikih izazova koje ćete morati uzeti u obzir. Biti svjestan ovih izazova znači da im se možete prilagoditi, povećavajući standard vašeg testiranja smanjenjem štetnih učinaka koje testiranje crne kutije može imati.
Neki od tih izazova uključuju:
1. Teško je pronaći uzroke problema
Jedan od glavnih nedostataka testiranja crne kutije jest to što može biti teže pronaći uzrok problema kada ispitivači nemaju pristup nijednom izvornom kodu.
Iako mogu opisati što je pogreška i kada se pojavljuje, nemaju naznaku koji dio izvornog koda uzrokuje probleme ili zašto.
Testeri to mogu donekle ublažiti tako da budu temeljiti u bilježenju, uz detaljne poruke o pogrešci od razvojnog programera koje također nude daljnji uvid za sva buduća ažuriranja.
2. Automatizacija je zahtjevnija
Budući da aktivno tražite repliciranje načina na koji korisnik komunicira sa softverskim paketom, može biti iznimno teško automatizirati proces testiranja crne kutije.
Prvi uzrok tome je činjenica da tester nema pristup izvornom kodu, što otežava kodiranje točnog testnog slučaja. Ovo se slaže s činjenicom da je testiranje osmišljeno tako da replicira ljudsko ponašanje što je više moguće, s automatizacijom posebno dizajniranom da djeluje na robotski način.
Ovaj problem možete uravnotežiti automatiziranjem manjih zadataka i kombiniranjem automatizacije s ručnim testovima gdje je to moguće.
3. Bori se s velikim testiranjem
Prethodno spomenute poteškoće s automatizacijom znače da je testiranje na višim razinama kompliciranije. Testiranje velikih razmjera pruža tvrtkama mnogo više podataka o softveru i znači da je greške lakše pronaći i replicirati.
Zahtjev za ručnim testiranjem kao prioritetom znači da može biti teže organizirati testiranje u većim razmjerima. Neke tvrtke tome se suprotstavljaju korištenjem “otvorenog beta” sustava, u kojem svatko tko je zainteresiran za proizvod može pomoći u testiranju prije izdavanja i podržati tvrtku pružanjem povratnih informacija o ranim verzijama na dobrovoljnoj osnovi.
Karakteristike testova crne kutije
Postoji nekoliko glavnih karakteristika testova crne kutije kojih treba biti svjestan, a koje razlikuju testiranje od bilo kojeg drugog oblika osiguranja kvalitete softvera.
Ove karakteristike uključuju:
1. Nema prethodnog internog znanja
Testovi crne kutije ne zahtijevaju prethodno interno poznavanje softvera. To u nekim slučajevima može biti teško jer testeri imaju neku predodžbu o aspektima softvera koji testiraju i nekim značajkama koje traže, ali to je široko definirano kao nemogućnost vidjeti internu dokumentaciju bilo koje vrste .
Jednostavno rečeno, ako bi informacije bile vidljive krajnjem korisniku u trgovini aplikacija ili na stranici za preuzimanje web-mjesta, tada ih tester može vidjeti.
2. Odvojite testere i programere
Faze testiranja i razvoja dovršavaju različiti ljudi u situaciji testiranja crne kutije. Ova razlika dolazi iz nedostatka znanja koje testeri imaju, budući da programeri imaju znanje o izvornom kodu zbog činjenice da su oni odgovorni za njegov razvoj.
Tvrtke tome pristupaju na nekoliko različitih načina, ovisno o njihovoj specifičnoj situaciji, pri čemu neke odabiru korištenje vanjske organizacije za dovršetak testiranja, a veće tvrtke imaju namjenske odjele testera za dovršetak ovog posla.
3. Ispitivanje u kasnoj fazi
Ovo se odnosi na fazu razvoja u kojoj se ovo testiranje odvija. Testovi crne kutije oslanjaju se na relativno naprednu verziju postojeće aplikacije, sa sveobuhvatnim korisničkim sučeljem koje omogućuje potpunu navigaciju kroz softver i pristup prednjem dijelu svake značajke.
To znači da su testovi crne kutije mogući samo u nekim od kasnijih faza procesa testiranja, kada je sve to inicijalno razvijeno. Dok se korisničko sučelje i kontrole mogu mijenjati kako vrijeme prolazi, moraju postojati u nekom obliku kako bi testovima crne kutije omogućili pristup funkcionalnosti.
Što testiramo u testovima crne kutije
Testiranje crne kutije ispituje specifične aspekte softverskog paketa, pružajući dodatne informacije u nekim područjima softvera što dovodi do ažuriranja koja povećavaju opću kvalitetu života.
Neki od glavnih dijelova softverskog paketa koje testeri ispituju u testu crne kutije uključuju:
1. Funkcionalnost
Neki programeri koriste testiranje crne kutije kako bi osigurali da dio softvera radi onako kako je namijenjen nekome bez prethodnog znanja.
Velika većina ljudi koji komercijalno koriste bilo koji dio softvera čine to bez ikakvog razumijevanja unutarnjeg funkcioniranja softvera, tako da testiranje uz to znanje znači da znate rješenja za sve postojeće probleme.
Ovo temeljito testiranje funkcionalnosti osigurava da svatko iskusi ono najbolje što aplikacija može ponuditi umjesto da se susreće s greškama koje se ne vide kada se koristi testiranje bijele kutije.
2. Korisničko sučelje
Korisničko sučelje odnosi se na svaki način na koji korisnik praktički komunicira s aplikacijom kako bi je natjerao da izvrši niz zadataka. To uključuje izbornike s kojima korisnik radi, specifične gumbe koji su prisutni u aplikaciji i brendiranje koje postoji u cijelom softveru.
Programeri provode većinu svog vremena osiguravajući da sama aplikacija radi kako očekuju, što znači da se manje pažnje posvećuje korisničkom sučelju.
Testiranje crne kutije predstavlja testerima samo korisničke značajke softvera, obraćajući više pozornosti na korisničko sučelje nego u većini drugih faza testiranja.
3. Izvedba
Osim normalnog funkcioniranja i dobrog izgleda, način na koji aplikacija radi ključan je za zadovoljstvo korisnika.
Izvedba se odnosi na nekoliko čimbenika, uključujući brzinu aplikacije kada odgovara na korisničke unose i resurse koje koristi na bilo kojem uređaju.
S formatima testiranja kao što je end-to-end testiranje kojim se ispituju sve značajke softvera, programeri mogu vidjeti koliko memorije aplikacija koristi i koje funkcije najviše opterećuju njihove uređaje, usmjeravajući učinkovitost i performanse -povezana ažuriranja u kasnijim verzijama aplikacije.
Razjašnjavanje zabune:
Ispitivanje crne kutije protiv bijele kutije protiv sive kutije
Testiranje crne kutije koncept je koji zvuči slično testiranju sive kutije i bijele kutije, no ideje su međusobno bitno različite. Njihovo brkanje može uzrokovati ozbiljne komunikacijske probleme u procesu razvoja i uzrokovati usporavanje i manje učinkovitost procesa ažuriranja.
Čitajte dalje kako biste razjasnili neke nedoumice oko različitih vrsta “testiranja okvira”, kako se međusobno razlikuju i kada ih koristiti.
1. Što je testiranje bijele kutije?
Testiranje bijele kutije ponekad je poznato kao “testiranje staklene kutije”, a odnosi se na proces testiranja u kojem ispitivač ima potpuni pristup svim informacijama iza softvera. To uključuje pristup izvornom kodu i dokumentima o dizajnu te sažetku paketa za klijenta.
Na primjer, ako tester radi u najranijim fazama razvojnog procesa ispitujući jednu funkciju, mogućnost da vidi izvorni kod te funkcije znači da može odmah pronaći uzrok problema.
Jedno od najboljih vremena za korištenje testiranja bijele kutije su prvenstveno interni zadaci. To se odnosi na rani razvoj funkcionalne strane aplikacije, pri čemu su brzi popravci idealni jer nema koristi od maskiranja koda kada ne simulirate korisničko iskustvo. Testiranje bijelog koda također se koristi u sustavima otvorenog koda, jer je u tim slučajevima izvorni kod dostupan svim korisnicima.
Koje su razlike između testiranja bijele i crne kutije?
Glavna funkcionalna razlika između testiranja crne kutije i testiranja bijele kutije je razina pristupa koju ispitivač ima softveru, ali to ima daleko značajnije učinke na aspekte testiranja kao što je vrijeme.
Testiranje crne kutije ima dosljedniju upotrebu kasnije u procesu kako se proizvod približava lansiranju, s više osnovnih razvojnih faza koje imaju koristi od transparentnosti i odziva testiranja bijele kutije. Kada se razmatra test crne kutije naspram testa bijele kutije, ta se dva također razlikuju u potrebnim razinama stručnosti, budući da testiranje bijele kutije zahtijeva stručnost u kodiranju i razvoju kako bi bilo učinkovitije.
2. Što je Grey Box testiranje?
Testiranje u sivoj kutiji je oblik testiranja u kojem korisnik ima neko postojeće razumijevanje koda bez potpunog pristupa. To uključuje posjedovanje izvornog koda za funkciju koja se testira ili pristup nekoj projektnoj dokumentaciji, tako da korisnik razumije koja je ukupna namjera softverskog paketa.
Na primjer, ako ispitivač ispituje samo jednu od funkcija u softverskom paketu, mogao bi dobiti pristup izvornom kodu za taj jedan dio aplikacije.
Tvrtke prvenstveno koriste testiranje u sivoj kutiji kada ispituju način na koji je aplikacija integrirana s alatom treće strane. Oni mogu imati pristup izvornom kodu samo za jedan dio procesa, što ograničava njihovu sposobnost da dovrše temeljito testiranje bijele kutije. Umjesto toga, vide ulaze i izlaze integracije treće strane i izvorni kod odgovoran za integraciju.
Testeri to koriste kako bi procijenili pojavljuju li se problemi zbog softvera, aplikacije treće strane ili integracije između njih dvoje.
Koje su razlike između testiranja crne i sive kutije?
Glavna razlika između testiranja crne kutije i testiranja sive kutije ponovno je razina pristupa informacijama, pri čemu je vrsta softvera koji se testira jedan od glavnih čimbenika razlikovanja između vrsta testiranja.
Testiranje sive kutije obično uključuje alate trećih strana kao što su pohrana podataka u oblaku ili vanjski alati za obradu, dok su sustavi crne kutije obično jedna kohezivna jedinica. Mnoge testove crne kutije ne prekidaju treće strane, dok integrirane aplikacije nemaju mnogo izbora nego raditi u metodologiji testiranja sive kutije.
3. Zaključak: testiranje crne kutije nasuprot bijele kutije nasuprot sive kutije
U konačnici, postoje temeljne razlike između testiranja crne, sive i bijele kutije, a sve se temelje na tome jesu li timu za testiranje predstavljene informacije iza scene.
Testiranje crne kutije i bijele kutije ekstremi su ovog spektra, s testiranjem sive kutije koje obuhvaća sve što je besplatno i vidi sve osim izvornog koda treće strane do mogućnosti vidjeti samo kod iza određene funkcije.
Međutim, sve te metode testiranja imaju svoju ulogu u prostoru za testiranje softvera, pa je potrebno uložiti svoje vrijeme i pažnju u njihovo učenje i njihovu učinkovitu implementaciju.
Vrste testova crne kutije
Postoje tri glavne vrste testiranja crne kutije koje obuhvaćaju sva testiranja koja tvrtka provodi metodologijom crne kutije. Ovi su:
1. Funkcionalno ispitivanje
Funkcionalno testiranje obuhvaća sve što okružuje način na koji aplikacija radi mehanički. To uključuje osiguravanje da obrađuje podatke na ispravan način, omogućuje korisnicima da se prijave s pravim vjerodajnicama i obrađuje informacije i unose prema očekivanjima.
Testiranje funkcionalnosti jedan je od važnijih aspekata procesa i uključuje i lokalnu funkcionalnost aplikacije i način na koji ona komunicira s vanjskim alatima i programima kao što su usluge temeljene na oblaku ili alati za jedinstvenu prijavu.
2. Nefunkcionalno testiranje
Nefunkcionalno testiranje odnosi se na testiranje koje ispituje bilo koji aspekt softvera koji nije izričito povezan s funkcionalnošću aplikacije. To uključuje utvrđivanje je li aplikacija upotrebljiva i laka za razumijevanje za svoje korisnike, kompatibilna sa širokim rasponom uređaja i operativnih sustava te način na koji radi pod značajnim razinama opterećenja (iako to može povremeno skrenuti u funkcionalno testiranje).
To se prvenstveno događa pri kraju razvojnog procesa nakon što se kompletna aplikacija kompajlira.
3. Regresijsko testiranje
Nakon ažuriranja, testeri pregledavaju aplikaciju kako bi se uvjerili da je dovršila predviđenu funkciju i da nema neželjenih nuspojava koje uzrokuju nazadovanje aplikacije.
Ovo je poznato kao regresijsko testiranje i temeljni je dio provjere je li aplikacija spremna za izlazak na tržište.
Regresijsko testiranje koristi se nakon svakog pojedinog ažuriranja kako bi se osiguralo da su i funkcionalni i nefunkcionalni aspekti aplikacije u skladu sa standardom koji je prethodno postignut.
Tehnike testiranja crne kutije
Kada prolazite kroz proces testiranja crne kutije, postoji širok raspon tehnika koje možete primijeniti kako biste poboljšali standard svog rada. Neke od najznačajnijih tehnika testiranja crne kutije koje koristite u okruženju osiguranja kvalitete uključuju:
1. Testiranje u paru
Testiranje u parovima je oblik testiranja koji se fokusira na isprobavanje svake pojedine kombinacije unosa podataka koja je moguća u softveru.
Na primjer, ako su brojevi od jedan do deset svi valjani unosi u jednom stupcu sa svim znakovima abecede u drugom, testiranjem u paru testirat će se svaka moguća kombinacija od 1A do 10Z. Ovo je oblik testiranja koji korisniku može oduzeti puno vremena i truda da ga dovrši, što ga čini jednom od tehnika koje su najotvorenije potencijalnoj hiperautomatizaciji . Ovo je iznimno temeljito i pronalazi sve potencijalne probleme s unosom podataka.
2. Analiza rubnih vrijednosti
Mnogi dijelovi softvera oslanjaju se na unos podataka, pri čemu podaci imaju određene granice unutar kojih se očekuje da će klijent raditi.
Na primjer, sustav dizajniran za izračunavanje brojki od 1 do 100 mogao bi se boriti s vrijednostima 0 ili nižim ili višim od 100.
Analiza graničnih vrijednosti uključuje testiranje ovih granica, unos brojeva na i oko granica koje softver testira kako bi ispitao postoje li greške na rubu očekivanog radnog raspona softverskog paketa. Ovo je prvenstveno korisno u sustavima koji se temelje na izračunima i može pomoći programerima da prilagode granice ili pronađu uzrok problema.
3. Testiranje prijelaza stanja
Mnogi programi variraju između različitih “stanja” ili “načina” i zahtijevaju prijelaz iz jedne faze ovog procesa u drugu. Ti prijelazi koji rade ispravno znače da stranica funkcionira onako kako korisnik očekuje i da nema neočekivanih zastoja.
Testiranje prijelaza stanja je oblik testiranja koji ispituje sve prijelaze između stanja u dijelu softvera, osiguravajući njihovu funkcionalnost i pružajući sigurnost da korisnik prolazi kroz softver bez ikakvih neočekivanih prekida.
Testiranje crne kutije u životnom ciklusu softverskog inženjerstva
Testiranje crne kutije je disciplina koja se prvenstveno koristi na kraju životnog ciklusa softverskog inženjeringa. To uključuje sve, od testiranja načina na koji korisnici stupaju u interakciju sa softverom do pružanja punog beta pristupa, pri čemu testiranje crne kutije primarno dolazi nakon što sve funkcionalnosti rade kako se očekuje.
Štedi puno vremena i truda u usporedbi s testiranjem bijele kutije koje zahtijeva visoku razinu stručnosti, a najbolje ga je implementirati kada vam nije potreban razvojni tim koji bi izvršio trenutne promjene u načinu na koji sustav funkcionira.
Ručni ili automatski testovi crne kutije?
Testiranje softvera dolazi u dva različita formata, pri čemu je ručno testiranje tradicionalni oblik koji koristi testere softvera u svakoj fazi procesa. Ovo je čvrsta kontradikcija s automatiziranim testiranjem, koje koristi sve veću razinu umjetne inteligencije i strojnog učenja za dovršavanje zadataka bez ljudskog uplitanja.
Čitajte dalje kako biste saznali više o tome što su ručno i automatizirano testiranje, izazove svakog od njih i što je od njih dvoje idealno za tvrtku.
1. Ručno testiranje crne kutije – prednosti, izazovi, proces
Ručno testiranje crne kutije odnosi se na postupak samostalnog dovršavanja testiranja crne kutije, korištenjem članova osoblja za dovršavanje svih zadataka, umjesto korištenja platforme za automatizaciju kao dijela skupa alata tvrtke.
Neke od glavnih prednosti korištenja ručnog testiranja u razvoju softvera su način na koji imate veći stupanj fleksibilnosti u načinu na koji dovršavate testiranje i način na koji programeri mogu dobiti daleko temeljitije povratne informacije koje su kvalitativne prirode.
Međutim, postoji nekoliko urođenih prirodnih izazova u postupku ručnog testiranja. Prva od njih je činjenica da ručno testiranje može potrajati puno vremena, jer ljudi sporije od automatiziranih programa izvršavaju svoje zadatke.
Druga je viša razina potencijala za pogreške, s ljudima koji imaju sposobnost pogrešno kliknuti ili raditi stvari pogrešnim redoslijedom. To u konačnici može rezultirati netočnostima u podacima testiranja.
Ručno testiranje je proces koji počinje učenjem o očekivanjima tvrtke od aplikacije prije pisanja testnih slučajeva koji osporavaju ovaj zadatak, izvršavanja testnih slučajeva i izvještavanja o rezultatima razvojnom timu.
2. Automatizacija testiranja crne kutije – prednosti, izazovi, proces
Automatizirani testovi odnose se na testove koje tvrtka dovršava na softverskom paketu ispunjavanjem testnih slučajeva s automatiziranim sustavom. Oni koriste platforme trećih strana za automatizaciju softverskog paketa, sa svim automatiziranim koracima koji slijede posebno pripremljene testne slučajeve.
Glavna prednost automatizacije testiranja crne kutije je njezina brzina, pri čemu automatiziranim programima treba puno manje vremena za svako pokretanje testa. To doprinosi značajnom dobitku vremena u vašem testiranju koje možete potrošiti na razvoj aplikacije.
Još jedna prednost je točnost, budući da dobar alat za automatizaciju svaki put izvršava iste zadatke istim redoslijedom.
Nedostaci i dalje mogu uzrokovati probleme kod automatizacije testiranja crne kutije, a jedan od glavnih problema je fokus na kvantitativne podatke. Ovo je odlično za metriku, ali znači da se u testu prihvatljivosti korisnika može dobiti malo vrijednih informacija.
Također postoji relativan nedostatak fleksibilnosti u automatiziranom testiranju, pri čemu analitičari moraju kodirati potpuno nove testne slučajeve kad god žele napraviti promjenu.
Proces automatizacije testiranja započinje dizajnom niza testnih slučajeva koji se zatim kodiraju u sustav prije izvođenja testova, koji daju izvješće o završetku.
3. Zaključak: ručno ili automatizirano testiranje crne kutije?
U konačnici, izbor između ručnog i automatiziranog testiranja crne kutije je kompliciran i ovisi o tome što tražite u sustavu.
Ako tražite vrhunske kvalitativne informacije koje možete upotrijebiti za izmjene dizajna za krajnjeg korisnika, ručno testiranje je daleko bolja opcija, a automatsko testiranje idealno je za funkcionalne faze i faze izvedbe u procesu.
Razmislite o tome što tražite u svakoj fazi procesa testiranja i možete dobiti vođene podatke koji s lakoćom poboljšavaju vašu izvedbu.
Što vam je potrebno za početak testiranja crne kutije?
Postoje neki preduvjeti kojima morate imati pristup prije nego započnete testiranje crne kutije, a svaki od njih pomaže u stvaranju koherentnijeg procesa testiranja.
Neke od stvari koje morate imati prije nego počnete raditi na testiranju crne kutije uključuju:
1. Softverski zahtjevi
Softverski zahtjevi odnose se na specifične točke u dizajnu za koje je softver dizajniran. To može uključivati niz stvari od potrebe za dovršavanjem određenog skupa zadataka do određenog izgleda i osjećaja pri korištenju.
Posjedovanje ovih informacija daje vam nekoliko specifičnih ciljeva kojima možete težiti u svom testiranju, s testerima koji stvaraju raspored testiranja i plan koji rezultira koherentnijim skupom rezultata koji informiraju programere o problemima sa softverom.
U nekim tvrtkama, budući da se radi o testu crne kutije, programeri će ograničiti pristup testera briefu.
2. Sastavljeni softver
Prije testiranja softvera, tim za osiguranje kvalitete mora imati pristup softveru. To obično uključuje razvojne programere koji daju najnoviju verziju softvera, a tim ima koristi od potpuno svježe kompajlirane verzije softvera za testiranje.
Posjedovanje novije verzije znači da testovi uključuju neke od najnovijih popravaka, što znači da daje točan prikaz rada softvera.
3. Ciljevi testiranja
Testeri obično pristupaju razdoblju testiranja s određenim ciljevima na umu. Ovi ciljevi testiranja određuju točno ono za što se testira u narednom razdoblju, bilo da se radi o prihvatljivosti korisnika, end-to-end funkcionalnosti ili dovršetku penetracijskog testiranja.
QA menadžeri obično imaju te ciljeve, a sljedeća faza testiranja obično ovisi o tome na čemu je razvojni tim radio i dijelovima softvera na koje taj razvoj utječe.
Proces testiranja crne kutije
Proces testiranja crne kutije relativno je precizan, a tvrtke imaju koristi od što preciznijeg praćenja koraka procesa. Različite faze procesa testiranja crne kutije uključuju:
1. Planiranje testa
Započnite proces testiranja crne kutije zamršenim postupkom planiranja. To uključuje raspravu o svim pojedinačnim ciljevima koje imate za test, specifičnim aspektima softvera koji ispitujete i resursima koje posvećujete testiranju.
Temeljitije planiranje znači da svi znaju što bi trebali raditi i kada bi to trebali raditi, uključujući metode uključene u testove.
2. Pisanje testa
Pisanje testnog slučaja sljedeća je faza procesa. Testni slučaj odnosi se na niz koraka koji se trebaju dovršiti u testu, s detaljnijim testnim slučajevima koji pružaju veću razinu dosljednosti za korisnika.
U procesu automatiziranog testiranja, to također uključuje kodiranje testnog slučaja u bilo kojem alatu za automatizaciju koji planirate koristiti.
Još jednom provjerite sve svoje testne slučajeve kako biste bili sigurni da su temeljiti i jasni o koracima koje treba izvršiti.
3. Izvođenje testnog slučaja
Nakon što pripremite testne slučajeve, počnite ih izvršavati. Kada koristite automatizaciju, to može biti relativno lak zadatak koji uključuje postavljanje programa na njegov put i čekanje rezultata. Ručno testiranje oslanja se na zaposlenike koji više puta ispunjavaju testne slučajeve, s više ponavljanja što dovodi do dosljednijih podataka visoke kvalitete .
Izvršite svaki testni slučaj što je pažljivije moguće, jer što je izvođenje testnih slučajeva preciznije, veća je vjerojatnost da će podaci biti korisni razvojnom timu.
4. Završno izvješćivanje
Završna faza izvješćivanja odnosi se na dio procesa u kojem tim za testiranje izvještava razvojne programere.
Započnite uključivanjem jednostavnog sažetka prikupljenih informacija prije nego što ovome dodate sve metrike koje su prikupili testeri. Ovo razvojnim programerima daje početne smjernice o idealnom smjeru za sljedeći niz ažuriranja prije nego što im se pokažu potpuni podaci, što im omogućuje da steknu dublje razumijevanje problema.
Najbolji primjeri iz prakse za testiranje crne kutije
Bez obzira na vašu industriju, pridržavanje najboljih praksi je obavezno za svaku tvrtku. Najbolje prakse odnose se na niz ponašanja i tehnika koje tvrtka koristi u svom svakodnevnom radu, povećavajući učinkovitost tvrtke i poboljšavajući standard softvera koji tvrtka koristi.
Neki od ovih postupaka koji pomažu tvrtki poboljšati kvalitetu testiranja crne kutije uključuju:
1. Usredotočite se na razvoj vještina
Ako vodite tvrtku koja radi na nekoliko dijelova softvera u bilo kojem trenutku, razmislite o tome da se usredotočite na razvoj vještina testiranja i specijalizacija . Što više vremena potrošite na specijalizaciju i razvijanje odgovarajućih vještina, veće su vam šanse za iskorjenjivanje problema koji postoje u vašim proizvodima.
Ovo se slaže sa zapošljavanjem ljudi koji imaju odgovarajući skup vještina, ali je najprikladnije za tvrtke koje imaju gotovo stalno testiranje softvera jer uvijek postoji korist od primjene tih sposobnosti.
2. Uravnotežite radna opterećenja
Neki timovi za testiranje mogu biti vrlo veliki, s desecima, pa čak i stotinama članova osoblja, od kojih svi redovito ispunjavaju testne slučajeve.
Najbolja praksa za izvlačenje maksimuma iz ovih članova osoblja je uzeti si vremena i biti oprezan kada dodjeljujete ljude određenim zadacima. Burnout ima ozbiljnu povijest izazivanja problema u industriji razvoja softvera, ali to je nešto što se može izbjeći boljim upravljanjem radnim opterećenjem.
3. Stvorite dosljedne procese
Tvrtke su izgrađene na tome da imaju procese koje njihovi članovi osoblja dovršavaju svakodnevno, s procesima testiranja uključujući način na koji tvrtka piše svoje testne slučajeve, dovršava istraživanje i interno komunicira među odjelima.
Dosljednost je u ovim slučajevima ključna, jer to znači da ljudi brže uče kada dođu u tvrtku. To dovodi do brže prilagodbe i boljeg rezultata mnogo prije nego u tvrtki koja nema dosljednost u svojim zadacima.
Ako možete, kreirajte te procese na način da uključite osoblje u proces donošenja odluka, jer to osigurava njihovo slaganje sa strategijom.
7 pogrešaka i zamki u implementaciji testova crne kutije
Pogreške su prirodne u svakoj industriji, ali saznanje o pogreškama prije nego što imate priliku učiniti ih može vam uštedjeti puno vremena i truda.
Neke od najčešćih pogrešaka i zamki u koje upadaju testeri crne kutije uključuju:
1. Nedostatak definiranog opsega testiranja
Neke organizacije počnu testirati svoje proizvode bez pravilnog planiranja procesa, što je značajna pogreška.
Neuspješnim planiranjem tvrtke mogu izgubiti pojam o opsegu testiranja. Postojanje dogovorenog opsega pomaže testu da bude u pravoj mjeri i učinkovito postigne rezultate.
Ako se prije početka ne složite oko opsega testiranja, postoji ozbiljan rizik od preširokog testiranja i oduzimanja previše vremena za dobivanje rezultata koji su manje relevantni.
2. Užurbani procesi testiranja
Testiranje se može činiti kao proces koji traje jako dugo, posebno s razvučenim testnim slučajevima dizajniranim za ispitivanje cijele aplikacije. Neki ljudi mogu biti u iskušenju da požure s testovima, osobito pri ponavljanju ranijih testova. Ovo je ozbiljna greška. Požurivanje s testiranjem može dovesti do pogrešaka u izvođenju testnog slučaja, degradirajući vrijednost podataka i u konačnici znači da ionako morate ponoviti iste testove.
3. Automatizacija bez procesa verifikacije
Automatizacija testiranja primarno se usredotočuje na osiguravanje da će unos vrijednosti podataka dovesti do pravog rezultata na kraju procesa. Automatizacija ovih testova funkcionira tako da se rezultat automatiziranog procesa uspoređuje s rezultatima koji bi trebali biti.
Neki testeri čine značajnu pogrešku ako sami ne izračunaju vrijednost, što znači da nemaju načina provjeriti je li izlaz točan ili nije i potencijalno ne uspijevaju pronaći značajne greške u cijelom sustavu.
4. Neuspjeh u korištenju hibridnog testiranja
Hibridno testiranje odnosi se na balansiranje automatizacije s ručnim testiranjem, jer dvije metode rade na način da savršeno pokrivaju nedostatke jedne druge.
Neke se organizacije, međutim, radije usredotočuju na jednu od dvije metode. Na taj način svoje testiranje otvarate ozbiljnim problemima i netočnostima.
Dovršite hibridno testiranje kako biste postigli bolju razinu ravnoteže u svom testiranju i što je moguće značajnije smanjili broj pogrešaka.
5. Nedovršavanje regresijskog testiranja
Regresijsko testiranje trebalo bi biti stalan proces u svakom učinkovitom sustavu za testiranje softvera, pri čemu se ovim oblikom testiranja utvrđuje jesu li ažuriranja softvera uzrokovala probleme negdje drugdje u sustavu. Neuspjeh u dovršavanju regresijskog testiranja znači da bi funkcije koje ste testirali u ranoj fazi procesa mogle biti neuspješne, a da toga niste svjesni.
Dovršavanjem regresijskog testiranja osiguravate da isporučujete proizvod više kvalitete bez ulaganja previše dodatnog rada u proces osiguranja kvalitete.
6. Aktivan lov na kukce
Neki misle da je cilj testiranja crne kutije pronaći greške u softverskom paketu i prijaviti ih razvojnom timu, i iako je to jedan aspekt, nije jedini fokus. Testiranje postoji kako bi se općenito poboljšao standard softverskog paketa.
Ako se previše usredotočite na greške u softveru, počinjete se kolebati izvan standardnih radnih tijekova, posežući izvan opsega vašeg testiranja i ignorirajući neke od relevantnijih problema sa softverom u zamjenu za traženje potencijalno nevažnih nedostataka u kodu.
7. Zanemarivanje svoje intuicije
U ručnom testiranju, ispitivač ima ulogu jer ima postojeći osjećaj intuicije i znanje koda koji ih vodi prema potencijalnim problemima i obavještava ih o područjima koja trebaju ispitati dok rade.
Međutim, neki odlučuju potpuno zanemariti ovu intuiciju kada rade na testnim slučajevima. Bilježeći sve što želite testirati i provjeravajući to u novom slučaju testiranja, dobivate punu korist od svog tehničkog znanja dok još uvijek dovršavate pripremljene slučajeve testiranja.
Vrste izlaza iz testova crne kutije
Postoji nekoliko vrsta izlaza koje možete dobiti testiranjem crne kutije, od kojih svaka pruža jedinstvene uvide za tvrtku koja želi napraviti relevantna ažuriranja svojih proizvoda i poboljšati kvalitetu koju korisnici doživljavaju.
Neke od glavnih vrsta izlaza iz testova crne kutije uključuju:
1. Kvalitativni podaci
Prvi oblik rezultata koji možete dobiti iz testa crne kutije su kvalitativni podaci. To su informacije koje prvenstveno opisuju aplikaciju i proizlaze iz testova kao što su end-to-end testiranje i testovi upotrebljivosti.
Kvalitativni podaci obično opisuju standard aplikacije, govoreći o iskustvima ljudi s aplikacijom i objašnjavajući promjene koje bi ispitivač želio napraviti.
Prilikom stvaranja ovih podataka, ispitivač obično piše temeljito izvješće u kojem navodi sve dokaze za svoje točke, podupirući kvalitativna mišljenja s dodatnim značajkama kao što su snimke zaslona onoga na što se pozivaju.
2. Kvantitativni podaci
To se odnosi na jasne numeričke podatke u obliku metrike, pri čemu članovi osoblja za testiranje ili bilježe određene dijelove aplikacije ili primaju numeričke podatke iz protokola automatiziranog testiranja.
Kvantitativne informacije imaju tendenciju da budu korisnije za pružanje programerima različitih popravaka, ukazujući na dijelove aplikacije kao što je razina performansi, učinkovitost u smislu korištenih resursa i broj grešaka i problema koji su prisutni u aplikaciji.
Kvantitativne informacije jednostavnije je analizirati i procijeniti nego njihov deskriptivni ekvivalent jer nema potrebe za bilo kakvim tumačenjem.
3. Poruke o pogreškama
Poruke o pogrešci pojavljuju se kada funkcionalnost softvera ne radi prema očekivanjima. To se može svesti na probleme s hardverom ili softverom, koji obično dolaze s kratkim opisom problema uz kôd pogreške.
Razvojni programeri stvaraju sustav kodova pogrešaka koji im pomaže da suze točno gdje se problem pojavljuje u sustavu, s nekim idejama za implementaciju, uključujući korištenje prve znamenke za sužavanje funkcije koja ima problem, druge za opisivanje što konkretno nije uspio, a treći navesti uzrok problema.
Korištenje ovog sustava kodova pogrešaka znači da programeri odmah znaju u čemu je problem i mogu raditi na rješenju.
Primjeri testova crne kutije
Iako je teorija koja stoji iza testiranja crne kutije relativno jednostavna, praktična provedba može biti složen proces, posebno za osobe koje prvi put testiraju. Gledanje primjera testiranja crne kutije na djelu može vam pomoći u organiziranju vašeg testiranja.
Neki primjeri metoda testiranja crne kutije, uključujući više vrsta testiranja i različite stupnjeve uspjeha, uključuju:
1. Neučinkovito testiranje prihvaćanja korisnika
Tvrtka želi objaviti svoj proizvod u nadolazećim tjednima, a testiranje prihvaćanja od strane korisnika tek treba obaviti. Aplikacija je poduka za pletenje za stariju publiku.
Razvojni programeri žele ubrzati ovaj proces i brzo okupiti grupu testera, koristeći isključivo osobe iz srednjih tridesetih godina koje ne pletu za testiranje jer su oni bili pristupačnija grupa. Ova grupa ne vidi probleme s aplikacijom i daje joj zeleno svjetlo za javno objavljivanje.
Zbog sukobljenih razina tehničkog znanja između dviju skupina, ciljna publika je više zbunjena pri korištenju softvera i ne može pristupiti mnogim značajkama. Kao odgovor, tvrtka je prisiljena izvršiti hitna ažuriranja.
Neuspjesi u testiranju kao što je ovaj pokazuju važnost temeljite pripreme.
2. Uspješno testiranje od kraja do kraja
End-to-end testiranje odnosi se na testiranje koje se provodi nakon što se funkcionalnost aplikacije prvi put potpuno kompilira u jedan softverski paket.
Tvrtka je pažljivo isplanirala dovršetak procesa testiranja od početka do kraja, imajući niz članova osoblja angažiranih posebno za obavljanje zadataka testiranja s dva zaposlenika posvećena svakom slučaju testiranja.
Nakon pažljivog procesa, oni dovršavaju svoje testne slučajeve i bilježe sve podatke koje prikupe, a QA manager objedinjuje podatke u kohezivno izvješće na kraju testiranja.
Razvojni programeri koriste ovo izvješće za planiranje sljedeće serije ažuriranja i promjena aplikacije, značajno poboljšavajući proizvod.
3. Automatizirano regresijsko testiranje
Programer je dovršio niz ažuriranja svog softvera koji je, prije ažuriranja, radio kako se očekivalo. Nakon ažuriranja tim za testiranje prolazi kroz proces regresijskog testiranja, fokusirajući se na automatizaciju i dobivanje automatizirane platforme za dovršavanje svih osnovnih funkcija.
Tim piše kod za testni slučaj i izvršava testne slučajeve, čitajući sve rezultate testova i pronalazeći potencijalne probleme.
Ovo sprječava pojavu problema zbog toga što organizacija vrši ažuriranja i ne provjerava imaju li problem ili ne.
Vrste grešaka i grešaka otkrivenih testiranjem crne kutije
Iako pogreške i greške nisu sve u procesu testiranja crne kutije, one su značajan dio načina na koji tvrtke provode testiranje.
Poznavanje nekih od glavnih vrsta pogrešaka i grešaka u testiranju crne kutije može vam pomoći da kategorizirate sve probleme na koje naiđete i bolje shvatite zašto se pojavljuju.
Neke od glavnih vrsta pogrešaka i grešaka koje se mogu otkriti testiranjem crne kutije uključuju:
1. Pogreške upotrebljivosti
Pogreške upotrebljivosti odnose se na nedostatke u programu koji zapravo ne utječu na funkcionalnost, ali mogu uzrokovati probleme korisniku koji pokušava komunicirati sa softverom.
Na primjer, ako aplikacija ima ozbiljan grafički kvar, još uvijek tehnički radi, ali bez pravih ikona i teksta krajnji korisnik je ne može učinkovito koristiti. Ovi problemi obično okružuju dizajn aplikacije i način na koji se dizajn učitava za korisnika, pri čemu složenije aplikacije zahtijevaju više grafika koje su složenije od onih u jednostavnijim korisničkim sučeljima.
2. Funkcionalne greške
Funkcionalne pogreške odnose se na probleme koji se javljaju kada dio programa ne radi kako se očekuje.
Na primjer, ako koristite dio softvera baze podataka i pokušavate sortirati informacije prema određenoj kategoriji, samo da biste ustanovili da ne radi. To je slučaj i s funkcijama koje uopće ne rade i s onima za koje se čini da rade, ali rade na pogrešan način.
Ovo mogu biti neki od najznačajnijih problema za aplikaciju, koji korisnicima uzrokuju značajne neugodnosti i pogoršavaju reputaciju razvojnog programera jer proizvod ne radi kako se reklamira.
3. Padovi
Kada se dio softvera sruši, postoji temeljni problem sa softverom koji ga sprječava u radu. Postoji nekoliko različitih oblika rušenja koji se mogu dogoditi, uključujući kada se aplikacija u potpunosti zatvori ili se jednostavno zamrzne u jednom trenutku procesa.
Pad je jedan od najozbiljnijih problema koji se mogu dogoditi jer ne postoji način da se aplikacija vrati u funkcionalnost osim potpunog zatvaranja i ponovnog otvaranja. Dok neke aplikacije još uvijek imaju procese koji se odvijaju u pozadini, ne postoji način za interakciju sa softverom nakon ove točke.
Uobičajene metrike testiranja crne kutije
Ručno testiranje crne kutije izvrsno je u stvaranju kvalitativnih podataka, ali kada se fokusirate na kvantitativne podatke morate biti svjesni metrike koju provjeravate. Razumijevanje ovih mjernih podataka u potpunosti vam pomaže razumjeti nedostatke platforme i odrediti prioritete različitih područja na kojima treba raditi.
Neke od uobičajenih metrika testiranja crne kutije koje nalazite u svom radu uključuju:
1. Stopa pogreške
Stopa pogrešaka može se odnositi na nekoliko stvari, ili na čisti broj pogrešaka koje se pojavljuju u ciklusu testiranja softvera ili na pogreške koje se pojavljuju po satu testiranja. Mjerni podaci po satu su bolji jer predstavljaju gustoću pogrešaka u softveru umjesto da jednostavno navode broj, pri čemu bi veće aplikacije mogle biti pogrešno predstavljene.
Programeri nastoje ograničiti stopu pogrešaka u svojim aplikacijama, jer što je manje grešaka u softverskom paketu, to će korisnikovo iskustvo korištenja sustava biti bolje.
2. Vrijeme odziva
Kada tester želi saznati više o razini izvedbe koju korisnik doživljava, vrijeme odziva je jedan od glavnih aspekata koje treba uzeti u obzir. To se odnosi na količinu vremena koja je softveru potrebna da dovrši zadatak nakon što korisnik unese upit, s duljim vremenom odgovora koji pokazuje relativno neučinkovitu aplikaciju. Duža vremena odgovora razlog su za zabrinutost jer korisnici mogu izgubiti strpljenje s aplikacijom koja predugo traje.
3. Zadovoljstvo korisnika
Većina metrika usredotočuje se na čiste brojeve koje generira softverski paket i softver za testiranje u testu, ali neke metrike usredotočuju se na mišljenje.
Ako tvrtka dovrši beta test koji koristi 1000 testera, na primjer, može prikupiti podatke o broju ljudi koji su zadovoljni i pretvoriti to u postotak. Ovo je izuzetno korisna metrika koju treba imati na raspolaganju na kraju ciklusa, s višom stopom zadovoljstva korisnika koja pokazuje da više ljudi uživa u programu i ukazuje na to da je veća vjerojatnost da će u budućnosti biti uspješan.
Najbolji alati za testiranje crne kutije
Testiranje crne kutije oblik je testiranja koji se u velikoj mjeri može oslanjati na alate pri ruci, kako za automatizaciju testiranja crne kutije tako i za organiziranje informacija koje dobivate iz svojih testova.
Korištenje prave kombinacije alata može pomoći vama i vašem timu da radite daleko učinkovitije i izgradite učinkovitije procese u cijelom odjelu za osiguranje kvalitete.
U nastavku pogledajte neke od najboljih alata za testiranje crne kutije i saznajte kako vam svaki od njih može pomoći da napredujete:
5 najboljih besplatnih alata za testiranje crne kutije
Male tvrtke i tvrtke u nastajanju, kao što su neovisni programeri, nemaju velik proračun za rad pri izradi svog softvera. To može donijeti niz izazova, uključujući pronalaženje pravih alata za rad.
Sljedeći su neki od najboljih besplatnih alata dostupnih neovisnim razvojnim programerima koji žele poboljšati svoj tijek rada s ograničenim proračunom:
1. ZAPTEST BESPLATNO IZDANJE
Besplatno izdanje ZAPTEST- a savršen je uvod u automatizaciju testiranja softvera. Ovaj je alat posebno dizajniran za podršku automatizaciji bilo kojeg zadatka, pomažući vam da radite brže i učinkovitije bez obzira na zadatak koji obavljate.
ZAPTEST-ova besplatna inačica sadrži ogromnu količinu funkcionalnosti za podršku automatizaciji bilo koje aplikacije… 1SCRIPT implementacija na više preglednika, na više uređaja, na više aplikacija i paralelno izvođenje jedna su od dostupnih značajki.
2. JIRA
Besplatna izdanja JIRA-e idealni su alati za bilježenje grešaka, dodavanje pojedinosti o njima u ulaznicama i određivanje prioriteta kada komunicirate s razvojnim timom.
Međutim, umjesto da bude sveobuhvatna pomoć za automatizaciju, ovo je specijalizirano isključivo za stranu upravljanja projektom procesa testiranja.
3. Selenium IDE
Aplikacija otvorenog koda koja snima i reproducira automatizirani test, ovo je dobar alat za vidjeti što platforma za automatizaciju vidi kada dovrši test.
Jedna mana kod Seleniuma je relativni nedostatak naprednih značajki kao što je međuplatformska integracija automatiziranih zadataka.
4. AutoHotkey
AutoHotkey je potpuno besplatan skriptni jezik otvorenog koda dostupan za Windows , koji pomaže korisnicima u stvaranju skripti različitih veličina koje dovršavaju niz zadataka nakon unosa jednog pritiska tipke.
Iako je dobar za automatizaciju jednostavnih zadataka, AutoHotkey se može početi boriti s nekim većim skriptama i zahtjevima automatizacije.
5. Apijem
Alat koji se prvenstveno ističe u automatizaciji iOS aplikacija , ovo je idealan program za korištenje kada želite poboljšati kvalitetu svojih mobilnih aplikacija .
Najveći nedostatak Appiuma je činjenica da ste ograničeni na vrlo mali raspon proizvoda, što značajno smanjuje vaše dostupno tržište.
5 najboljih alata za testiranje crne kutije za poduzeća
Besplatni alati su dobri i dobri, ali poduzeća i velike tvrtke moraju imati više značajki kako bi temeljito testirale svoj softver. Srećom, neki od najboljih alata za testiranje crne kutije za poduzeća imaju sveobuhvatnu funkcionalnost i pomažu tvrtkama da ostvare značajan povrat ulaganja u svoje procese osiguranja kvalitete.
Neki idealni alati za testiranje crne kutije poduzeća u koje biste trebali razmisliti o ulaganju uključuju:
1. ZAPTEST PODUZEĆE IZDANJE
Enterprise izdanje ZAPTEST-a jedan je od najznačajnijih alata za automatizaciju na tržištu i može pružiti do 10 puta veći povrat ulaganja za vaš proizvod.
Značajke kao što su pristup ZAP stručnjaku s punim radnim vremenom kao udaljenom dijelu vašeg tima i neograničene licence osiguravaju da možete implementirati automatizaciju testiranja crne kutije bez potrebe za strmom krivuljom učenja i po fiksnoj cijeni bez obzira na to koliko brzo rastete .
2. TestRail
TestRail je platforma usmjerena na testiranje u stvarnom vremenu s ciljem povezivanja vaših testova s kohezivnom platformom za upravljanje projektima. Iako je ovo idealno za centraliziranje vašeg rada upravljanja timom, značajke automatizacije su daleko od savršenih za razvojni tim koji traži snažan naglasak na automatiziranim testovima.
3. Opkey
Opkey je platforma koja se fokusira na automatizaciju bez kodiranja, što znači da ljudi bez postojećeg tehničkog znanja mogu početi automatizirati svoje usluge testiranja.
Jedna od glavnih mana Opkeya je nedostatak aktivne zajednice oko softvera, zbog čega se možete osjećati relativno nasukanim kada pokušavate automatizirati na način koji vam je nov.
4. Savršeno
Perfecto je alat koji se fokusira na pomoć korisnicima da automatiziraju mobilne aplikacije bez ikakvih ozbiljnih problema, radeći na širokom rasponu uređaja i fokusirajući se na end-to-end testiranje.
Međutim, aplikacija radi na stvarnim uređajima, a ne na virtualnim strojevima, što dodaje još jedan veliki trošak onome što je već relativno skup alat za testiranje za ograničene platforme.
5. Poduzeće JIRA
Osim dovršetka automatizacije testiranja, upravljanje projektima ostaje važno, a tu JIRA nastupa. Enterprise JIRA ima više prostora za pohranu i omogućuje većem broju korisnika da pristupe platformi, ali može uzrokovati potencijalnu zabunu s potrebom za posebnim dopuštenjima i pristupom za svakog pojedinog korisnika. Za ovo je potrebno mnogo administrativnog vremena.
Kada biste trebali koristiti
Enterprise protiv Freemium Black Box alata?
Za početak, većina tvrtki koristit će freemium crne kutije. To ima smisla s ekonomske točke gledišta jer niti jedno inteligentno poduzeće ne želi ulagati u proizvod koji ne razumije u potpunosti, bilo da se radi o upravljanju projektima ili perspektivi automatizacije.
Freemium alati ne uključuju samo potpuno besplatne aplikacije, već mogu uključivati besplatne verzije poslovnih proizvoda koje tvrtka koristi kada uči kako implementirati alat u svoje procese.
Idealno vrijeme za organizaciju da ažurira svoj izbor alata na poslovno izdanje je kada tvrtka počne doživljavati trenja u svojim procesima testiranja zbog besplatnog alata. Bez obzira radi li se o besplatnom alatu koji nudi samo odabrani broj licenci ili količinu testiranja, u trenutku kada počnete doživljavati neučinkovitosti u svojim procesima kao rezultat vaših alata za testiranje, trebali biste prijeći na verziju za poduzeća koja odgovara svim vaše potrebe.
Kontrolni popis za testiranje crne kutije, savjeti i trikovi
Budući da je testiranje crne kutije vrlo složena metoda testiranja s mnogo mogućnosti za izgradnju vašeg znanja o softverskom paketu, postoji nekoliko stvari na koje morate obratiti pozornost.
Neki važni savjeti i trikovi koje treba uključiti u kontrolni popis za testiranje crne kutije uključuju:
· Razumijevanje sažetka
Prije nego počnete s bilo kakvim planovima za testiranje, provjerite razumijete li širi sažetak za razdoblje testiranja. To uključuje razumijevanje softvera onoliko koliko vam je dopušteno i učenje točno onoga što trebate testirati.
· Lektorirani testni slučaj
Pokušajte sve uključiti u testiranje kako biste procijenili testne slučajeve koje koristite u testiranju crne kutije. Što više očiju vidi testni slučaj prije implementacije, to su veće šanse da eliminirate sve pogreške.
· Napravite popis stvari koje treba obaviti
Netehnička strana pripreme za testiranje crne kutije može biti jednako važna kao i tehnička strana. Prilikom planiranja izradite koherentan popis stvari koje treba učiniti u kojem je određeno tko testira koji dio softvera u koje određeno vrijeme. To smanjuje i zbunjenost, potencijalno sagorijevanje i kašnjenja zbog preuzimanja drugih zadataka.
· Odmah zabilježite rezultate
Odmah zabilježite sve rezultate koje test generira. Čekajući predugo s ručnim testovima, možete pogrešno zapamtiti probleme, tako da trenutno vođenje bilješki značajno povećava točnost.
· Povežite se s programerima
Razgovarajte o vremenskom okviru i strategiji testiranja s programerima kako bi razumjeli što se događa i kada mogu očekivati rad na novim ažuriranjima. To uključuje postavljanje jasnih procesa pomoću kojih odjeli međusobno komuniciraju.
· Djelatni podaci
Kada pišete izvješće, provjerite jesu li svi podaci koje ste dali razvojnom programeru djelotvorni. To pomaže timu da razvije proizvod koji odgovara na probleme umjesto da programer ne razumije promjene koje treba napraviti.
· Shvatite svoje prioritete
Kao timu za testiranje, vaš prioritet je u konačnici osigurati da tvrtka svojim korisnicima isporučuje proizvod visoke kvalitete. Ako testiranje traje malo dulje od očekivanog, imajte na umu da je to isplativa zamjena za povećanje kvalitete koje korisnik doživljava.
· Poznavati hijerarhiju
U idealnoj razvojnoj tvrtki, programeri i testeri su na istoj razini hijerarhije, s jednako važnom riječju o načinu na koji softver raste. Shvatite kakva je hijerarhija u vašoj organizaciji i nastojte osigurati da svi razumiju vrijednost dobrog testiranja.
· Vodite dosljednu dokumentaciju
Čuvajte kopije svih podataka i izvješća koje ste izradili tijekom testiranja. Možete pratiti promjene aplikacije za koje je odgovoran tim za testiranje, uz osvrtanje na stare bugove kako biste vidjeli jesu li replicirani u budućim izdanjima.
Zaključak
Testiranje crne kutije u konačnici je jedan od najvažnijih dijelova procesa testiranja softvera. Pomaže tvrtkama da osiguraju da je ono što isporučuju na najvišem mogućem standardu i koristi promjenu perspektive kako bi ponudio jedinstvene uvide u način na koji aplikaciju percipira i implementira vanjski korisnik.
Svaka tvrtka koja ne uspije dodati testiranje crne kutije, automatizirano i ručno, u svoje procese propušta priliku da znatno poboljša kvalitetu svoje aplikacije. Inteligentno testirajte i dobit ćete nagrade kada vaši kupci dobiju pristup vašem proizvodu.
Često postavljana pitanja i resursi
Bez obzira na to koliko znate o testiranju crne kutije, možda ćete imati još pitanja i želite bolje razumjeti metodu. Pogledajte naša često postavljana pitanja u nastavku kako biste saznali više o testiranju crne kutije i pristupili nizu izvora koji vam mogu reći više o metodologiji.
1. Najbolji tečajevi o automatizaciji testiranja crne kutije
Postoji nekoliko tečajeva o automatizaciji testiranja crne kutije koje možete pratiti, a svaki od njih pomaže ljudima da postignu različite standarde testiranja.
Neki od najcjenjenijih dostupnih tečajeva testiranja crne kutije uključuju:
· Coursera “Testiranje crne i bijele kutije”.
· “The Black-Box Software Testing series” od BBST-a
· Udemy “Uvod u tehnike testiranja softvera crne kutije”.
· “Testiranje automatizacije softvera” London School of Emerging Technology
· “Tri ključne tehnike testiranja crne kutije” od Udemyja
2. Kojih je top 5 pitanja za intervju na testiranju crne kutije?
Testiranje softvera vrlo je konkurentno područje u kojem se puno kandidata prijavljuje za svako slobodno radno mjesto. Ako osigurate intervju za poziciju u testiranju crne kutije, ovo su neka od pitanja na koja biste se mogli pripremiti odgovoriti na intervjuu:
· Kakvo iskustvo imate u radu s testiranjem crne kutije?
· Koje su glavne razlike između testiranja crne i bijele kutije?
· Imate li iskustva u radu s automatizacijom softvera u svojim prethodnim ulogama?
· Možete li nam reći kada ste iskusili izazove na radnom mjestu i kako ste ih prevladali?
· Što mislite kakva je budućnost testiranja crne kutije i kako vaše vještine odgovaraju dugoročnoj karijeri u testiranju softvera?
3. Najbolji Youtube vodiči o testiranju crne kutije
YouTube je jedan od najvažnijih resursa za učenje koji su dostupni ljudima koji razvijaju svoje vještine testiranja softvera jer pruža besplatan izvor informacija koje možete koristiti za razvoj svoje tehnike.
Neki od najboljih vodiča koje možete pogledati kada učite testiranje crne kutije su:
· “Uvod u testiranje crno-bijele kutije – Georgia Tech – Proces razvoja softvera” od Udacityja
· “Testiranje crne kutije i staklene kutije” od MIT OpenCourseWare
· “7 tehnika testiranja crne kutije koje bi svaki QA trebao znati” Akademije za testiranje
· “Testiranje crne kutije | Što je testiranje crne kutije | Naučite testiranje crne kutije” Intellipaata
· “Što je testiranje bijele nasuprot sive nasuprot crnoj kutiji?” od ITProTV-a
4. Kako održavati testove crne kutije?
Održavanje testova crne kutije, bilo da se radi o ručnim ili automatiziranim testovima, podrazumijeva obraćanje pažnje na testove dok se odvijaju i stalno traženje primjene popravaka ako postoje problemi.
To uključuje osiguravanje da se svi testni slučajevi izvode onako kako očekujete svaki put i provjeru prolaze li automatizirani alati sve ispravne korake. Učinite to što je češće moguće kako biste spriječili da vam standardi ne posustaju, budući da je dobro održavan test crne kutije onaj koji daje najtočnije moguće rezultate.
5. Najbolje knjige o testiranju crne kutije
Dok je testiranje crne kutije i testiranje softvera u cjelini područje koje se stalno razvija, postoji nekoliko knjiga koje su i dalje relevantne i nude puno uvida u poboljšanje vašeg rada na testiranju.
Neke od najboljih knjiga o testiranju crne kutije uključuju:
· “Testiranje crne kutije: Tehnike za funkcionalno testiranje softvera i sustava” Boris Beizer
· “Testiranje softvera: principi i praksa” od Srinivasana Desikana, Gopalaswamyja Ramesha
· “Osnove testiranja softvera” Ralf Bierig, Stephen Brown, Edgar Galván
· “Uvod u testiranje softvera” Paul Ammann, Jeff Offutt