Dimno testiranje je proces koji se koristi za testiranje softvera kako bi se utvrdilo je li implementirana verzija softvera stabilna ili nije.
Kada testirate softver za testiranje, pokrećete niz testova osmišljenih za procjenu svake od temeljnih funkcija softvera.
Alati za testiranje dima provjeravaju rade li najvažnije značajke softvera. Postoji više različitih pristupa testiranju dima, a moderna tehnologija omogućuje automatsko testiranje dima za većinu softverskih verzija.
U ovom ćemo se članku duboko pozabaviti testiranjem dima kako bismo pregledali vrste, procese i pristupe testiranju dimom koje koriste testeri softvera. Također ćemo razmotriti suvremene alate za ispitivanje dima uključujući automatizaciju ispitivanja dima.
Ukratko, naučit ćete sve što ćete ikada trebati znati o ispitivanju dima.
Što je dimno testiranje u programskom inženjerstvu?
Testiranje dima je proces testiranja softvera kako bi se osiguralo da zadovoljava osnovne zahtjeve funkcionalnosti i stabilnosti. To je u biti vrsta minijaturnog, brzog regresijskog testiranja koje uključuje testiranje najvažnijih značajki softvera kako bi se uvjerilo da rade na osnovnoj razini.
Testiranje dima važan je rani korak u procesu osiguranja kvalitete jer pokazuje treba li tim nastaviti s daljnjim testiranjem ili odmah poslati proizvod nazad razvojnim programerima.
Ako proizvod ne prođe test dima, to znači da početna konstrukcija ima značajne nedostatke koji se moraju riješiti prije daljnjeg testiranja.
Kada trebate napraviti testiranje na dim?
Provjeravamo softver kad god se nove funkcionalnosti razviju i integriraju u postojeću verziju i prije nego što se nova verzija postavi na QA. Provođenje dimnog testiranja u ovoj fazi sprječava rasipanje novca i drugih resursa na testiranje kvalitete za softver s velikim problemima u pozadini.
Kako bi proveo QA dimni test, razvojni tim postavlja novu verziju softvera u QA, a podskup testnih slučajeva uzima se i izvodi na verziji. QA tim testira aplikaciju u odnosu na njezine najvažnije funkcije. Ako dimni test prođe, QA tim će nastaviti s funkcionalnim testiranjem, a ako ne uspije, konstrukcija se vraća razvojnom timu na daljnji razvoj.
Ovakvo dimno testiranje događa se svaki put kada se u verziju softvera dodaju nove značajke.
Mogu postojati drugi slučajevi kada će QA timovi pušiti softver za testiranje, kao što su:
● Prije predaje novog koda u repozitorij
● Prije velike serije testova uključujući regresijsko i prihvatljivo testiranje
● Nakon postavljanja nove verzije softvera
Ako ne provedete test dima u tim točkama, mogli biste pronaći velike nedostatke u kasnijim fazama testiranja funkcionalnosti što bi moglo utjecati na datum izdavanja vaše nove verzije ili uzrokovati ozbiljnije poremećaje u vašem rasporedu.
Kada ne morate raditi ispitivanje dima
Važno je provesti testiranje dima u testiranju softvera svaki put kada napravite bilo kakve promjene u softverskom kodu ili dodate nove značajke u međugradnju.
To je također bitan pripremni korak za testiranje funkcionalnosti jer sprječava QA timove da gube vrijeme na testiranje softvera koji nije spreman.
Ako vaš softver ne ispunjava ove kriterije, možda nećete morati provoditi testiranje dima u ovom trenutku… iako automatizirani alati za testiranje dima olakšavaju i isplativo provođenje redovitih testova dima kako bi se osiguralo da softver uvijek ispravno radi .
Tko je uključen u ispitivanje dima
Ispitivanje dima provode QA inženjeri ili voditelj QA; to je prva faza QA testiranja i provodi se unutar QA okruženja.
QA tim odgovoran je za testiranje verzije softvera i procjenu njegove izvedbe u različitim uvjetima i stresovima. Tijekom dimnog testa, QA inženjeri će tražiti ‘showstoppers’, ili bugove koji zaustavljaju razvoj i moraju se popraviti prije nastavka testiranja.
Kada se uspoređuje ispitivanje dima s ispitivanjem uračunljivosti i regresijskim testiranjem , važno je uzeti u obzir ne samo što se testira, već i tko provodi testove.
Testiranje dima u testiranju softvera uvijek obavljaju stručnjaci za osiguranje kvalitete. To razlikuje testiranje dima od testiranja ispravnosti, koje se provodi u razvojnom okruženju i obično ne uključuje QA tim.
Životni ciklus ispitivanja dimom
Životni ciklus testa dima pokazuje gdje se testiranje dimom odvija tijekom razvoja proizvoda i QA testiranja. Razumijevanje svake faze ovog ciklusa pomoći će vam da shvatite više o tome kako se testiranje dima uklapa u put testiranja i razlike između testiranja dima naspram testiranja uračunljivosti i regresijskog testiranja.
1. Kod
Prva faza izrade bilo kojeg softvera uvijek je pisanje i stvaranje koda. Kod služi kao sastavni dio svakog softvera, a razvojni tim mora napisati kod prije nego što se može testirati na njegovu stabilnost i funkcionalnost.
2. Jedinično testiranje
Jedinično testiranje obično provode programeri, iako katkad QA inženjeri također mogu izvršiti određeno jedinično testiranje. Jedinično testiranje osigurava da različite jedinice ili elementi koda rade kako se očekuje prije nego što se pojedinačne jedinice integriraju zajedno u jednu verziju softvera.
Jedinično testiranje obično se odvija usporedo s razvojem jer naglašava pogreške i greške u kodu koje se mogu odmah popraviti.
3. Integracijsko testiranje
Integracijsko testiranje je proces testiranja kako pojedinačne jedinice rade zajedno kada su integrirane u jedan softver.
Čak i ako svaka zasebna jedinica dobro funkcionira, često se mogu pojaviti problemi kada se te jedinice međusobno integriraju. Testiranje integracije obično provode programeri, iako različiti pristupi ovoj vrsti testiranja znače da se ono može provesti u različitim fazama procesa izrade softvera.
4. Ispitivanje uračunljivosti
Testiranje uračunljivosti vrsta je regresijskog testiranja i obično je zadnja vrsta regresijskog testiranja koja se provodi. Događa se tijekom razvojne faze međugradnje, nakon što su popravljene sve pogreške istaknute regresijskim testiranjem.
Testiranje ispravnosti obično je vrlo brzo i jednostavno postoji kako bi se osiguralo da softver radi glatko i da su sve pronađene greške na odgovarajući način ispravljene.
Testiranje dima i ispravnosti ponekad se miješaju, ali ključno je zapamtiti da se testiranje ispravnosti odvija u razvojnom okruženju, dok se dimni testovi odvijaju u QA okruženju.
5. Ispitivanje dima
Testiranje dima prva je faza QA testiranja i prva vrsta testa koji se provodi unutar QA okruženja.
Testiranje dima obično se odvija prije testiranja uračunljivosti i regresijskog testiranja unatoč činjenici da ga obično provode QA timovi. To je brz i jednostavan postupak testiranja – a ovih dana većina QA timova koristi automatizirano testiranje dima u testiranju softvera – koji određuje je li konstrukcija stabilna i trebaju li se provoditi daljnji testovi.
Budući da je ispitivanje dima najbrži i najjednostavniji test kada se uspoređuje ispitivanje dima s testiranjem uračunljivosti i regresijskim testiranjem, razumno je prvo provesti ovo prije nego prijeđete na druge, složenije testove.
6. Funkcionalno ispitivanje
Funkcionalno testiranje sljedeća je faza životnog ciklusa testiranja softvera, a provodi se unutar QA okruženja.
Funkcionalno testiranje ispituje svaku funkciju softverske aplikacije u odnosu na njezine zahtjeve, a fokusira se na funkcije, upotrebljivost, pristupačnost i uvjete pogreške.
Funkcionalno ispitivanje može započeti nakon što se položi ispitivanje dima.
Primjene ispitivanja dima na različitim razinama
Ispitivanje dima primjenjivo je na tri različite razine testiranja: ispitivanje dima na razini prihvatljivosti, ispitivanje dima na razini sustava i ispitivanje dima na razini integracije.
1. Razina ispitivanja prihvatljivosti
Testiranje dima na razini prihvatljivosti obično se provodi kada se verzija softvera pusti u QA. Ova vrsta QA dimnog testa jednostavno provjerava osnovnu funkcionalnost međugradnje i je li ona usklađena s očekivanom funkcionalnošću.
2. Razina testiranja sustava
Testiranje dima na razini sustava uključuje testiranje najvažnijih tokova rada sustava. Ovo se provodi nakon što je sam sustav testiran, a prije nego što se provede kompletan regresijski test sustava.
Na razini sustava, automatizirano ispitivanje dima je najčešći oblik ispitivanja dima.
3. Razina testiranja integracije
Na razini testiranja integracije, dimni testovi osiguravaju da sve end-to-end funkcionalnosti softvera rade kako se očekuje i da je osnovna integracija funkcionalna.
Ova vrsta ispitivanja dima obično se događa kada se implementiraju pojedinačni moduli ili kada je više modula integrirano u jednu verziju softvera.
Ručni naspram automatiziranih testova dima
Kada softverski timovi prvi put počnu provoditi testove dima, moraju donijeti odluku hoće li provesti ručne testove dima ili automatizirane testove dima.
Iako automatizirani testovi dima obično nude brže i isplativije rezultate, za njihovu izradu i implementaciju također može trebati vremena. Mnogi timovi započinju s izradom ručnih testova dima prije nego što dalje razmotre automatizaciju.
1. Ručno ispitivanje dima
Ručne testove dima prilično je lako dizajnirati i obično ih mogu izvesti netehnički stručnjaci izvan QA ili razvojnih timova. To znači da se ručni dimni testovi često favoriziraju u manjim tvrtkama koje možda još nemaju namjenskog QA voditelja.
Prilikom provođenja ručnog testiranja dima, važno je testirati niz slučajeva upotrebe koji pokrivaju dovoljno temeljnih funkcija softvera, a da ne pokrivaju toliko mnogo da test dima traje predugo za izvođenje. Obično se smatra da je idealan broj slučajeva upotrebe između 20 i 50.
Prednosti ručnog izvođenja testova dima
Provođenje ručnih testova dima u QA-u ima višestruke prednosti u usporedbi s automatiziranim testovima dima. Ručni dimni testovi često nude detaljnije uvide u performanse i funkcionalnost softvera u usporedbi s automatiziranim testovima.
Ne-inženjeri mogu izvoditi ručno testiranje
Dok automatsko testiranje dima obično zahtijeva stručnost softverskih inženjera i programera za postavljanje, ručne testove dima mogu provesti članovi tima s manje stručnog znanja.
To je obično korisno u manjim timovima gdje su resursi možda već opterećeni, a vrijeme stručnog osoblja izuzetno dragocjeno.
Za svaki posao možete izraditi prilagođeni test dima
Ako želite biti sigurni da vaš dimni test točno pokriva najvažnije funkcije bilo koje softverske aplikacije i fokusira se na one funkcije koje su važnije za svaku verziju, izrada ručnog dimnog testa omogućuje ispitivačima da prilagode test svakom projektu.
Ovakvi ručni testovi dima mogu ponuditi korisnije rezultate u usporedbi s nekim automatiziranim testovima, ali to ne znači da njihovo postavljanje i izvođenje zahtijevaju dosta vremena.
Ručni testovi otkrivaju kvalitativne podatke
Kada pokrenete automatizirani test dima, sve što možete očekivati su kvantitativni podaci o tome koji su aspekti testa prošli, a koji nisu.
Kada članovi tima provode ručno testiranje dima, mogu upotrijebiti svoj uvid, intuiciju i prosudbu kako bi procijenili ne samo prolazi li konstrukcija ili ne, nego kako i/ili zašto.
Izazovi ručnog ispitivanja dima
Također postoje mnogi izazovi pri ručnom testiranju dima, a oni objašnjavaju zašto mnoge tvrtke odlučuju koristiti automatizirano testiranje dima gdje je to moguće.
Ručno ispitivanje dima je temeljito, ali također oduzima puno vremena.
Za ručne testove dima potrebno je vrijeme
Ručni testovi dima traju znatno duže od automatiziranih testova i zahtijevaju mnogo više pažnje vašeg tima.
Dok se automatizirani testovi mogu jednostavno pokrenuti sami u pozadini, vaš će tim morati odvojiti određeno vrijeme za provođenje ručnog testa dima.
Ručni testovi ne mogu se izvoditi prečesto
Zbog ogromne količine vremena i resursa koje ručni testovi dima zahtijevaju, ne mogu se provoditi tako redovito kao automatizirani testovi dima.
Prilikom izvođenja ručnog testa dima, testeri softvera moraju izdvojiti sate, do pola dana, ovisno o složenosti testa.
Time se uklanja mogućnost svakodnevnog testiranja dima, što se općenito smatra najboljom praksom u industriji.
Uvijek postoji prostor za pogreške
Budući da ljudi provode ručno testiranje, uvijek postoji mogućnost da se naprave pogreške tijekom ručnih ispitivanja dima.
Iz tog razloga, ručno testiranje dima obično nije tako sveobuhvatno kao automatizirano testiranje, posebno kada se radi o pronalaženju suptilnih grešaka koje je lakše propustiti ili kada se provodi izuzetno ponavljajuće testiranje koje bi moglo uzrokovati da ispitivači izgube fokus tijekom testiranja.
Kada koristiti ručno ispitivanje dima
Ručno testiranje dima najčešće se koristi u manjim timovima koji možda nemaju dovoljno resursa za inženjere za automatizirano testiranje dima ili u slučajevima kada su potrebni ili potrebni dodatni ljudski uvid i prosudba.
Iz tog razloga, ručno ispitivanje dima često se provodi u ispitivanju dima na integracijskoj razini.
2. Automatizirano ispitivanje dima
Automatizirano testiranje dima mogu implementirati softverski inženjeri s vještinama kodiranja potrebnim za stvaranje i pokretanje niza relevantnih slučajeva upotrebe za svaku verziju softvera.
Automatizirano testiranje dima mnogo je brže od ručnog testiranja, obično ne traje dulje od 30 do 60 minuta, a može se provoditi u pozadini dok svi članovi razvojnog i QA tima nastavljaju svoje dnevne zadatke.
Iz tog je razloga automatizirano testiranje dima postalo uobičajeno u softverskoj industriji jer sve više tvrtki nastoji poboljšati učinkovitost radnog mjesta.
Prednosti automatizacije ispitivanja dima
Automatizacija ispitivanja dima nudi mnoge prednosti za one tvrtke koje imaju vremena i resursa za njegovu implementaciju. Brz je i učinkovit, a zbog nedostatka automatiziranih testova stresa koji se stavljaju na timove i resurse, mogu se redovito provoditi čak i unutar malih tvrtki.
Automatizirano testiranje je brzo
Automatizirano testiranje dima puno je brže od ručnog testiranja, pri čemu većini automatiziranih testova nije potrebno dulje od 30 do 60 minuta.
Za usporedbu, ručni testovi mogu trajati satima.
Automatizirani testovi dima zahtijevaju minimalne resurse i kada se implementiraju, vrlo ih je lako pokrenuti.
Automatizacija omogućuje dnevne testove dima
Trenutačna najbolja praksa u industriji nalaže da su dnevni dimni testovi idealni, osobito kada radite na softveru koji je stalno u stanju promjene.
Ručni testovi dima oduzimaju previše vremena da bi se izvodili svakodnevno, ali automatizirane testove dima lako je provesti na početku svakog radnog dana.
Automatizacija eliminira ljudske pogreške
Automatizirani testovi pokreću se skriptama koje su unaprijed pripremljene i izrađene prema visoko strogim standardima. To znači da je vjerojatnost da će automatizirani test propustiti veliku pogrešku ili važan problem vrlo mala.
Automatizacija može imitirati testove opterećenja i performansi
Testovi opterećenja i performansi procjenjuju koliko dobro aplikacija radi kada je koristi puno korisnika odjednom. Automatizirano testiranje dima može oponašati dodatno opterećenje više korisnika na načine na koje ručno testiranje ne može i pružiti dodatni sloj podataka o performansama softvera u određenim uvjetima.
Izazovi automatizacije ispitivanja dima
Automatizacija ispitivanja dima nije bez izazova. Implementacija automatiziranog testiranja dima može zahtijevati više vremena i resursa, posebno u manjim timovima s manje inženjera na raspolaganju.
Tehnički zahtjevi
Automatizirani dimni testovi zahtijevaju više tehničkog znanja i vještina kodiranja nego ručni dimni testovi. Softverski inženjeri moraju imati vremena i znanja da znaju kako izraditi automatizirane testove prije nego što se oni mogu implementirati, a neće svi timovi nužno imati dostupne resurse za to.
Nedostatak ljudskog uvida
Automatizirano testiranje nudi cjelovit pregled funkcionalnosti softverske aplikacije, a prilikom provođenja automatiziranog dimnog testa, testeri softvera dobivaju uvid u osnovne funkcije softvera što je krajnja svrha dimnog testa.
Međutim, automatizirani testovi ne nude nikakav uvid u predmetnije aspekte performansi softvera, kao što su upotrebljivost i pristupačnost.
Kada implementirati automatizaciju ispitivanja dima
Automatizacija se često koristi u ispitivanju dima jer je svrha testiranja na dim jednostavno provjeriti osnovnu funkcionalnost, a to je nešto u čemu je automatizirano testiranje relativno dobro.
Timovi s dovoljno tehničkih vještina za provedbu automatiziranog testiranja dima najvjerojatnije će imati vremena i resursa za ulaganje u ovaj proces, a veće i etablirane tvrtke vjerojatno će osjećati veći pritisak da zadovolje standarde najbolje prakse svakodnevnog testiranja dima.
Automatizirano ispitivanje dima u odnosu na ručno ispitivanje dima
Ne postoji ispravan ili pogrešan način za provođenje ispitivanja dima, a ono što dobro funkcionira za jedan tim možda neće dobro funkcionirati za drugi.
Prije provođenja dimnog testa, softverski timovi trebaju razmotriti svoje ciljeve, resurse i dugoročne planove projekta. Proces ručnog testiranja softvera može biti edukativan za mlade stručnjake koji su tek upoznati s osiguranjem kvalitete, ali za etabliranije timove rijetko postoji prednost odlučivanja za ručno testiranje u odnosu na automatsko testiranje.
Testovi hibridnog dima
Treća opcija za timove koji se ne mogu odlučiti između ručnog i automatiziranog testiranja dima i testiranja uračunljivosti je da se odluče za hibridno testiranje.
Hibridno testiranje kombinira aspekte ručnog i automatiziranog testiranja dima kako bi se poboljšala ukupna izvedba i učinkovitost testova. Kada koristite hibridnu metodu ispitivanja dimom, većina testa može biti automatizirana, ali s određenim aspektima koji se izvode ručno. To omogućuje timovima da usmjere više pozornosti na one aspekte građevine kojima je to potrebno, dok sveukupni vremenski zahtjevi za dimni test budu niski.
Vrste ispitivanja dima
Ispitivanje dima može se općenito podijeliti u dvije kategorije, formalno i neformalno ispitivanje dima. Je li ispitivanje dima formalno ili neformalno ovisi o tome je li ga formalno pokrenuo QA voditelj ili se jednostavno provodi kao dio razvoja.
1. Formalna ispitivanja dima
U formalnom dimnom testu, programeri softvera prosljeđuju nadogradnju softvera QA inženjeru ili QA voditelju za formalno testiranje. Voditelj osiguranja kvalitete dodjeljuje ispitivačima zadatak testiranja dima i zahtijeva da izvedu test dima pomoću alata za testiranje dima kao što je automatizacija ili ručno.
Prilikom provođenja formalnih testova dima, QA ispitivači sastavljaju rezultate testa u formalno izvješće koje može analizirati QA voditelj.
Formalni dimni testovi provode se u važnim točkama tijekom procesa izrade softvera, na primjer prije izvođenja funkcionalnog testiranja novih značajki.
2. Neformalni testovi dima
Neformalni dimni testovi su dimni testovi koji se provode na softverskoj verziji tijekom razvoja ili QA procesa o kojima se službeno ne izvješćuje niti ih zahtijeva voditelj QA.
Dnevni testovi dima, koje mnogi softverski timovi provode kao stvar protokola, primjer su neformalnih testova dima.
Neslužbeni testovi mogu se provoditi na ad-hoc osnovi kad god QA inženjeri smatraju da bi to moglo biti korisno.
Što vam je potrebno za početak testiranja dima
Prije nego što počnete s testiranjem dima u testiranju softvera, važno je prikupiti sve stvari koje su vam potrebne, uključujući podatkovne datoteke i vještine unutar vaše organizacije.
Što ćete trebati za izvođenje testa dima ovisit će o tome planirate li provesti automatizirano ili ručno testiranje dima i koje alate za testiranje koristite kako biste olakšali postupak.
1. Popis testnih slučajeva
Prije nego započnete dimni test, trebat će vam opsežan popis svih testnih slučajeva koje želite da vaš dimni test ocijeni.
Testni slučajevi pojedinačni su skupovi radnji koje želite testirati kako biste procijenili je li rezultat poduzimanja tih radnji usklađen s ishodima koje očekujete.
Na primjer, vrlo jednostavan testni slučaj može biti da softver učitava glavnu nadzornu ploču kada otvorite aplikaciju.
2. Testne datoteke
Prije nego što možete pokrenuti dimni test, morat ćete prikupiti sve testne datoteke na kojima ćete izvoditi dimni test. Možda ćete moći upotrijebiti naredbeni redak softvera za testiranje dima koji koristite za skupljanje svih datoteka na jedno mjesto.
Kako prikupljate svoje datoteke i gdje ih pohranjujete, ovisit će o tome kako vaša organizacija radi.
3. Alati za ispitivanje dima
Možete izvesti osnovni test dima bez upotrebe posebnih alata, ali korištenje alata za testiranje dima može vam pomoći da poboljšate točnost svojih rezultata i ubrzate proces testiranja dima.
Najprije istražite online alate za testiranje dima i odaberite softver koji automatizira ili optimizira vaš test dima u odnosu na vaše posebne potrebe i proračun.
Postupak ispitivanja dima
Najbolji način za provođenje testa dima razlikuje se od organizacije do organizacije, a ako ste novi u testiranju dima, možda ćete htjeti eksperimentirati s različitim pristupima kako biste vidjeli što najbolje funkcionira za vaš tim.
Dolje je primjer kako provesti osnovni dimni test za procjenu temeljnih funkcija vašeg softvera.
Korak 1: Odaberite svoje testne slučajeve
Prvi korak u provođenju dimnog testa je odabir na kojim testnim slučajevima ćete provesti svoj dimni test.
Prilikom dizajniranja dimnog testa, softverski inženjeri i QA inženjeri trebali bi razmotriti koje su softverske funkcije najkritičnije za softver i kako najbolje testirati te značajke. Ne gubite vrijeme na testiranje značajki koje nisu važne za funkcioniranje softvera.
Korak 2: Izradite dimne testove
Nakon što ste identificirali testne slučajeve koje ćete koristiti, možete napisati testne skripte da ih testirate. Koristite jednu skriptu za dimne testove kako biste povećali fleksibilnost tijekom izvođenja testa.
Ako odlučite automatizirati testiranje dima, nećete uvijek morati pisati ručne testne skripte svaki put kada želite pokrenuti test dima. Možete koristiti pakete za automatizaciju testiranja softvera za automatizaciju ovakvih skripti.
Korak 3: Pokrenite testove dima
Nakon što izradite svoje skripte za testiranje dima, možete ih pokrenuti na svojoj verziji kako biste potražili greške i druge velike pogreške. To ne bi trebalo potrajati više od 30 do 60 minuta, a nakon završetka testova možete procijeniti rezultate kako biste odredili sljedeće korake.
Korak 4: Ispravite sve greške
Svrha dimnog testiranja u razvoju softvera je identificirati sve veće greške ili zapreke prije nego što krene potpuno QA testiranje.
Ako vaši dimni testovi otkriju bilo kakve značajne probleme koji ometaju temeljne funkcije vaše verzije softvera, važno je poslati softver i svoju analizu nazad razvojnom timu na ispravljanje pogrešaka prije nego nastavite s provjerom kvalitete.
Najbolje prakse za ispitivanje dima
Dimno testiranje pouzdan je način za prepoznavanje većih grešaka u verzijama softvera u svim fazama razvoja. Praćenje najboljih praksi u industriji najbolji je način da osigurate da su vaši testovi dima učinkoviti, točni i produktivni.
1. Često izvodite testove dima
Nije uvijek moguće izvoditi testove dima svaki dan, posebno ako izvodite ručne testove, a ne automatizirane testove dima.
Pokrećite dimne testove što je moguće češće i svaki put kada provodite promjene u svom softveru. Kada to budete mogli, provođenje svakodnevnih testova dima smatra se najboljom praksom.
2. Nikada ne preskačite faze testiranja
Ako ste u žurbi, moglo bi biti primamljivo preskočiti neke od faza testiranja kako biste brže napredovali u procesu razvoja, ali i dimno i regresijsko testiranje ključni su za održavanje vašeg razvoja na pravom putu.
Prije prelaska na sljedeću fazu uvijek testirajte svoje građevine testiranjem dima i zdravog razuma.
3. Testirajte svaku promjenu
Ne postoji jedinstvena aplikacija za ispitivanje dima. Možete i trebate koristiti dimne testove za testiranje svake promjene koju napravite u verziji softvera i za testiranje vašeg softvera između različitih faza razvoja.
Dimni testovi trebali bi biti preteča integracijskog testiranja, testiranja performansi i funkcionalnog testiranja.
4. Pratite svoje rezultate testa
Standardna je praksa testirati rezultate formalnog ispitivanja dima, ali čak i kada provode neformalna ispitivanja dima, inženjeri bi trebali voditi neku evidenciju o rezultatima.
To olakšava prosljeđivanje rezultata razvojnim programerima i praćenje koje značajke padaju na testu.
5. Dvaput pokrenite test dima
Pokretanje dimnog testa dvaput može se činiti pretjeranim, ali ako stvarno želite uhvatiti svaku grešku tijekom testa, najbolje je da ga pokrenete dvaput.
Ovo osigurava da vaš dimni test ima sve šanse za otkrivanje većih grešaka i problema koji bi mogli prouzročiti dodatne probleme ako se odmah ne poprave.
6. Odaberite pravu vrstu testa dima
Hoćete li koristiti ručno ili automatizirano testiranje dima ovisi o veličini i potrebama vašeg tima. Provjerite jeste li odabrali najbolju vrstu testiranja za svoj projekt kako biste optimizirali učinkovitost bez ugrožavanja točnosti svojih rezultata.
Vrste izlaza iz ispitivanja dimom
Kada provodite dimni test, možete očekivati da će vaš dimni test rezultirati jednim od dva različita rezultata za svaki testni slučaj koji procijenite: prolazan ili neuspješan.
1. Prolaz
Jedan od mogućih ishoda za svaki testni slučaj koji pokrenete je da dimni test prođe. To znači da je stvarni rezultat testa usklađen s očekivanim rezultatom testa.
Na primjer, ako pokrenete test o tome što se događa kada učitate aplikaciju i ona se učita na zaslon koji bi se trebao otvoriti pri učitavanju, vaša bi skripta to trebala prikazati kao prolaz.
2. Neuspjeh
Ako vaš dimni test ne uspije za određeni testni slučaj, to obično znači da stvarni ishod testa nije bio usklađen s očekivanim ishodom testa.
Na primjer, ako testirate aplikaciju za kupnju i jedan od testnih slučajeva koje izvodite testira funkcionalnost dodavanja artikala u vašu košaricu, test nije uspio ako se artikli koje dodate u svoju košaricu ne pojave u košaricu kako očekujete da hoće.
Primjeri testnih slučajeva za ispitivanje dima
Kada pokušavate smisliti koje testne slučajeve uključiti u svoj dimni test, napišite popis osnovnih funkcija vašeg softvera i razmislite koje su od njih ključne za rad i korištenje softvera.
Neki primjeri testnih slučajeva za testiranje dima mogu vam pomoći da odredite koje testne slučajeve koristiti u vlastitom dimnom testu.
1. Provjera vjerodajnica za prijavu
Ako vaša aplikacija zahtijeva da se korisnici prijave, možda ćete htjeti izraditi testni slučaj koji provjerava radi li postupak provjere vjerodajnica za prijavu kako treba.
Da biste to učinili, izradite skriptu koja automatizira postupke prijave, izvođenja testa i provjere rezultata. Ako se softver prijavljuje prema očekivanjima, ovaj slučaj ispitivanja dima prolazi.
2. Izrada novog dokumenta
Mogli biste izraditi testni slučaj kako biste procijenili omogućuje li vaš softver korisnicima da ispravno kreiraju novi dokument. Napravite skriptu koja automatizira stvaranje, imenovanje i spremanje dokumenta u vašem softveru i pokrenite je.
Svaki veći problem koji se pojavi i spriječi ovaj proces značio bi da ovaj dimni test nije uspio.
3. Odjava
Ako vaša aplikacija ima funkciju prijave, trebala bi imati i funkciju odjave. Pokrenite skriptu da testirate što se događa kada korisnici kliknu ‘odjava’.
Ako se korisnik ne može uspješno odjaviti kada klikne ovaj gumb, dimni test nije uspio.
Vrste grešaka i grešaka otkrivenih testiranjem dima
Dimni testovi mogu vam pomoći da identificirate pogreške i bugove koji ometaju temeljnu funkcionalnost vašeg softvera. Ovisno o tome kada izvodite dimni test i što želite provjeriti, pomoću dimnog testiranja možete pronaći različite vrste pogrešaka i grešaka.
1. Funkcionalne greške
Funkcionalne pogreške su greške koje nastaju kada se vaš softver ne ponaša onako kako biste očekivali ili kada ne radi ispravno.
Većina testnih slučajeva za koje ćete koristiti dimne testove za provjeru su funkcionalni testovi, pa će funkcionalne pogreške najvjerojatnije biti identificirane dimnim testovima poput ovog.
2. Logičke pogreške
Logičke pogreške predstavljaju nedostatke unutar logike koda i također mogu uzrokovati neispravno ponašanje softvera. Logičke pogreške mogu uzrokovati radnje koje proizvode netočne rezultate ili čak uzrokovati rušenje softvera.
Uobičajena logička pogreška je beskonačna petlja, koja uzrokuje da softver stalno ponavlja iste radnje sve dok se ne sruši.
3. Greške u integraciji
Ako izvodite dimni test na integracijskoj razini, tijekom testa možete pronaći integracijske greške. To se događa kada se dva odvojena skupa koda međusobno ne integriraju besprijekorno. Mogu biti uzrokovani širokim rasponom problema s kompatibilnošću u kodu i mogu zahtijevati složena rješenja za popravak.
Uobičajena metrika ispitivanja dima
Prilikom provođenja dimnog testa, QA timovi mogu koristiti metriku za procjenu rezultata dimnog testa i procijeniti je li test prošao ili nije.
Uz razmatranje može li softver ispravno obavljati svoje temeljne funkcije, metrika dimnog testa može između ostalog procijeniti brzinu i vrijeme učitavanja softvera.
1. Brzina softvera
Dimni testovi mogu se koristiti za provjeru zadovoljavaju li brzina softvera i vremena učitavanja određene kriterije navedene u pojedinačnim testnim slučajevima.
Na primjer, ako testirate kako se softver ponaša kada učitate aplikaciju i aplikacija se učitava prema očekivanjima, ali su potrebne dvije minute da se pokrene, to možete označiti kao Neuspjeh jer ne ispunjava vaše očekivano vrijeme učitavanja.
2. Pouzdanost
Dvaput izvođenje testa dima također vam može pomoći u testiranju pouzdanosti vašeg softvera. Ako određeni testni slučajevi prođu jednom, ali jednom padnu, to znači da neka pogreška u kodu uzrokuje pogreške koje se možda neće pojaviti svaki put kada se softver koristi, ali svejedno mogu uzrokovati ozbiljne probleme korisnicima.
Najbolji besplatni alati za testiranje dima
Alati za testiranje dima mogu vam pomoći da učinkovitije i brže provedete testove dima kako biste dobili najviše od svojih testova dima.
Ispod su neki od najboljih alata za testiranje dima koji su danas dostupni besplatno.
5 najboljih besplatnih alata za testiranje dima
1. ZAPTEST BESPLATNO izdanje
ZAPTEST je besplatni alat koji korisnicima omogućuje automatizaciju testiranja softvera i RPA bez plaćanja centa.
Možete koristiti BESPLATNO izdanje ZAPTEST-a za izvođenje jednostavnih testova dima na više platformi uključujući mobilne , web , API i LOAD platforme.
Ako želite isprobati automatizirano testiranje dima, ZAPTEST besplatno izdanje može vam pomoći da vidite prednosti automatizacije iz prve ruke. Također je jednostavan za korištenje čak i ako nemate tehničko iskustvo, budući da ima sučelje bez koda i koristi vrhunsku tehnologiju računalnog vida .
Ono što je najvažnije, ZAPTEST BESPLATAN je dobro…. besplatno zauvijek! Nasuprot tome, mnoga testiranja dima i opći alati za automatizaciju softvera imaju početno testno razdoblje, nakon kojeg ste prisiljeni plaćati pretplatu.
2. Selen
Selenium je besplatan alat otvorenog koda koji možete koristiti za izvođenje različitih vrsta testova na vašem softveru, uključujući dimno i regresijsko testiranje. Radi s puno različitih programskih jezika i posebno je dobar za testiranje web aplikacija.
3. Apijem
Ako želite provesti testiranje dima i zdravog razuma na mobilnim aplikacijama, Appium je bolji izbor od Seleniuma. Appium je jednostavan za instaliranje i korištenje i može se koristiti za izvođenje jednostavnih testova dima na aplikacijama razvijenim za iOS i Android.
4. Testna veza
Testlink je besplatni alat za upravljanje temeljen na webu koji korisnicima omogućuje izradu planova testiranja i testnih slučajeva unutar jednog strukturiranog okvira. Testlink vam može pomoći da isplanirate testove dima, kao i da ocrtate svoja očekivanja i metriku prije nego što počnete s testiranjem dima.
5. QA Vuk
QA Wolf je besplatni alat za testiranje od kraja do kraja koji korisnicima omogućuje stvaranje automatiziranog QA dimnog testa uz druge funkcionalne testove. QA Wolf mogu koristiti čak i ljudi bez tehničkih vještina ili vještina kodiranja, što znači da je odličan uvod u automatizaciju testiranja za većinu QA timova.
Najbolji alati za ispitivanje dima za poduzeća
Ako ste spremni uložiti malo novca u svoje alate za testiranje dima, možete kupiti poslovne alate koji imaju opsežnije mogućnosti testiranja dima i temeljitije rezultate.
Ispod je popis pet najboljih alata za automatizaciju testiranja dima za poduzeća na tržištu.
5 najboljih alata za automatizaciju testiranja dima u poduzećima
1. ZAPTEST ENTERPRISE izdanje
Izdanje ZAPTEST ENTERPRISE paket je za testiranje softvera i RPA koji može u potpunosti automatizirati bilo koju vrstu testa, uključujući testiranje dima.
Besplatna verzija je prikladna za manje tvrtke koje žele znati što ZAPTEST može, ali ako tražite plaćeno rješenje koje je jednostavno za korištenje i prikladno za testiranje bilo kojeg softvera ili aplikacije, na bilo kojoj platformi, pregledniku ili uređaju, I sa 1SCRIPT-om implementacija u sve to, onda je ZAPTEST ENTERPRISE odlično mjesto za početak.
2. SoapUI
SoapUI je poslovni alat za testiranje koji olakšava upravljanje i provođenje end-to-end QA testova na softveru. To je relativno jednostavan alat za instalaciju, ali ima svoja ograničenja, što se odražava u njihovoj cijeni.
3. Testim
Testim je plaćeni alat za testiranje dima koji koristi AI za izradu testova bez koda koji procjenjuju funkcionalnost vašeg softvera. Testimov Javascript API može se koristiti za refaktoriranje, prilagodbu i otklanjanje pogrešaka u testovima.
4. T-Plan Robot
T-Plan Robot je alat za testiranje poduzeća koji QA inženjeri mogu koristiti za automatizaciju skriptiranih korisničkih radnji i robotsku automatizaciju procesa (RPA) na Windows, Mac, Linux i Mobile. T-Plan Robot možete koristiti za automatiziranje dimnih testova na nizu aplikacija i stvaranje automatiziranih skripti koje se mogu pokrenuti u ključnim točkama tijekom razvoja.
5. QA prašume
Rainforest QA je QA alat za testiranje dima koji korisnicima omogućuje upravljanje i implementaciju i ručnog i automatiziranog testiranja dima s jedne nadzorne ploče. To ga čini idealnim za organizacije koje žele isprobati hibridni pristup i pogodan je za širok raspon platformi uključujući aplikacije temeljene na oblaku, Windows i Mac.
Kada biste trebali koristiti alate za ispitivanje dima u poduzećima, a ne u besplatnim?
Poslovni i besplatni alati za testiranje dima mogu ispuniti slične potrebe na malo drugačije načine. Obično besplatni alati služe kao izvrsna pristupnica organizacijama kojima je udobno ručno testiranje dima, ali žele detaljnije istražiti automatizirano testiranje dima.
Također bi mogli biti prikladniji za vrlo male novoosnovane tvrtke u kojima još nema novca za plaćene alate.
Alati za testiranje poduzeća obično postaju održivija opcija kako se tvrtke šire. Oni nude brojne prednosti u odnosu na besplatne alate, obično nude veću fleksibilnost, bolju podršku i sučelja prilagođenija korisniku koja čak i netehničkim profesionalcima olakšavaju provođenje automatiziranog testiranja dima.
Kontrolni popis za ispitivanje dima
Prije početka testiranja dima, softverski QA tim može upotrijebiti ovaj popis za provjeru kako bi provjerio pokriva li svaki korak procesa testiranja dima.
● Odredite alate za ispitivanje dima koje ćete koristiti
● Odaberite hoćete li izraditi ručni ili automatski test
● Odaberite slučajeve testiranja koje želite testirati
● Napravite testne skripte za svaki slučaj
● Odredite zahtjeve ‘prolaženja’ za svaki testni slučaj
● Pokrenite testove dima
● Analizirajte rezultate
● Povratne informacije za razvoj i osiguranje kvalitete
Zaključak
Testiranje dima bitan je korak u razvoju softvera i osiguranju kvalitete. Osigurava da je proizvod funkcionalan prije daljnjeg testiranja, što sprječava rizik od QA timova koji gube vrijeme i resurse provodeći intenzivna funkcionalna testiranja na verzijama koje još nisu stabilne.
Testiranje dima je relativno brz i jednostavan proces koji bi trebali provoditi softverski timovi što je češće moguće.
Dok poduzeća teže postizanju optimalne učinkovitosti upotrebom naprednih alata koji podržavaju hiperautomatizaciju , RPA i druge srodne tehnologije, automatizirano testiranje dima postaje sve češće u organizacijama svih veličina.
I ručno i automatizirano testiranje dima još uvijek imaju mjesto u suvremenim QA okruženjima, ali kako automatizirano testiranje postaje sve uobičajenije, nema sumnje da će postati norma.
Često postavljana pitanja i resursi
Koji su najbolji tečajevi o automatizaciji ispitivanja dima?
Ako želite naučiti više o automatizaciji testiranja dima, neki primjeri online tečajeva koje možete pohađati su:
● Coursera tečajevi testiranja dima
● Udemy tečajevi testiranja dima
● Skillshare tečajevi testiranja dima
Jedan od najboljih tečajeva za početnike je Certified Tester ISTQB Foundation Level (CTFL), dostupan na Udemyju.
Svaki od ovih mrežnih resursa nudi tečajeve za testiranje na dim za učenike različitih sposobnosti, a na tim je stranicama moguće pohađati i besplatne i plaćene tečajeve.
Ako želite postati certificirani, potražite tečajeve koje je akreditirao CAST.
Koje su najbolje knjige o ispitivanju dima?
Ako želite saznati više o dimnom testiranju, možete pročitati knjige o testiranju softvera i dimnom testiranju kako biste bolje razumjeli pristupe i prednosti dimnog testiranja. Neke od najboljih knjiga o ispitivanju dima uključuju:
● Umijeće testiranja softvera, Glenford J Myers, Tom Badgett i Corey Sandler
● Testiranje softvera, Ron Patton
● Automatizacija testiranja softvera, Mark Fewster i Dorothy Graham
Međutim, postoji mnogo fantastičnih knjiga o testiranju softvera koje vam mogu pomoći da shvatite više o tome kako, zašto i što je testiranje.
Odaberite knjigu koja vam se sviđa i detaljnije istražuje teme koje vas najviše zanimaju.
Kojih je 5 najčešćih pitanja za intervju o testiranju na dim?
Ako razmišljate o intervjuu za poziciju koja bi mogla uključivati testiranje na dim, pripremite se za intervju tako što ćete pripremiti odgovore na uobičajena pitanja za intervju, kao što su:
● Kada je pravo vrijeme za provođenje ispitivanja dima?
● Kako biste odlučili koje testne slučajeve koristiti u dimnom testu?
● Kako se ispitivanje dima razlikuje od drugih vrsta testiranja, poput ispitivanja uračunljivosti?
● Koliko znanja kodiranja je potrebno za provođenje dimnih testova?
● Što biste učinili ako test dima ne uspije?
Koji su najbolji YouTube vodiči o testiranju dima?
Ako ste vizualni učenik, možete koristiti ove YouTube videozapise da biste saznali više o ispitivanju dima:
● Edureka vodič za ispitivanje dima
● Što je ispitivanje dima?
● Testiranje dima nasuprot testiranju zdravog razuma
Kako održavati testove dima?
Održavanje dimnog testa znači osigurati da dimni testovi koje izradite ostanu zdravi i relevantni dok se vaš projekt izgradnje softvera nastavlja.
Svakodnevno provodite dimne testove i stvarajte nove testne slučajeve kada i kada su potrebni.
Također možete povećati prednosti svojih dimnih testova bliskom suradnjom s onim programerima čiji doprinosi ne uspijevaju poboljšati kvalitetu njihovog koda.
Što je dimno testiranje u programskom inženjerstvu?
Dimno testiranje u softverskom inženjerstvu također se naziva testiranje verifikacije međugradnje i to je jednostavan i brz test kojim se osigurava stabilnost međuverzije softvera.
Dimno testiranje koristi se za testiranje osnovnih funkcionalnosti građe i služi kao preliminarni test prije daljnjeg QA testiranja.
Testiranje dima nasuprot testiranju uračunljivosti
Testiranje dima i ispravnosti obje su vrste testiranja koje uključuju brzo testiranje temeljnih funkcionalnosti softverske verzije ili proizvoda.
Međutim, dok se dimnim testiranjem testira jesu li se osnovne funkcije softvera ponašale prema očekivanjima, testiranje zdravog razuma obično se koristi za provjeru jesu li popravci grešaka riješili identificirane probleme.
Testiranje dima formalniji je i dokumentirani proces koji se obično provodi prije nego što se gradnja potvrdi kao stabilna, dok je testiranje ispravnosti neformalna vrsta testa koji se može provesti kao dio regresijskog testiranja na relativno stabilnim gradnjama.
Ispitivanje dima vs regresijsko ispitivanje
Dimno i regresijsko testiranje obje su vrste testiranja kojima se provjerava radi li softver i dalje ispravno nakon što su napravljene nove promjene.
Međutim, dimno testiranje je relativno brza i niska vrsta testiranja koja jednostavno provjerava osnovne funkcije i osigurava da je softver stabilan.
Regresijsko testiranje je test dublje razine koji traje mnogo dulje i detaljnije procjenjuje izgradnju.
Ispitivanje dima nasuprot ispitivanju uračunljivosti nasuprot regresijskom testiranju
Kada uspoređujete testiranje dima i zdravog razuma s regresijskim testiranjem, važno je razumjeti da su sve tri vrste testova neophodne za dobar razvoj softvera i osiguranje kvalitete.
Testiranje dima i testiranje ispravnosti nudi brzi način da se provjeri funkcionira li softver normalno, dok regresijsko testiranje nudi dublji uvid u rad proizvoda.
QA timovi najprije testiraju softver, a zatim, ako softver prođe ovu provjeru, može se provesti testiranje ispravnosti, a kasnije i regresijsko testiranje.
Automatizirano ispitivanje dima pomoću alata za ispitivanje dima postaje sve češće, ali neke vrste testiranja, kao što je regresijsko testiranje, još nije moguće u potpunosti automatizirati zbog složene prirode testa.
Konačno, ako tražite alate za izvođenje testiranja na Windows platformama , iOS -u, Androidu, testovima korisničkog sučelja , Linuxu i mnogim drugima, slobodno preuzmite ZAPTEST BESPLATNO!