Preizkušanje v stanju “smoke” je postopek, ki se uporablja za preizkušanje programske opreme, da se ugotovi, ali je nameščena programska oprema stabilna ali ne.
Ko testirate programsko opremo, izvedete vrsto testov, ki so namenjeni ocenjevanju vseh ključnih funkcij programske opreme.
Orodja za testiranje “smoke” preverijo, ali najpomembnejše funkcije programske opreme delujejo. Obstaja več različnih pristopov k testiranju dima, sodobna tehnologija pa omogoča avtomatizirano testiranje dima za večino programskih zbirk.
V tem članku se bomo poglobili v dimno testiranje in pregledali vrste, postopke in pristope k dimnemu testiranju, ki jih uporabljajo preizkuševalci programske opreme. Ogledali si bomo tudi sodobna orodja za dimno testiranje, vključno z avtomatizacijo dimnega testiranja.
Na kratko, izvedeli boste vse, kar morate vedeti o testiranju dima.
Kaj je dimno testiranje v inženirstvu programske opreme?
Preizkušanje v stanju “smoke” je postopek preizkušanja programske opreme, s katerim zagotovimo, da izpolnjuje osnovne zahteve glede funkcionalnosti in stabilnosti. V bistvu gre za miniaturno, hitro regresijsko testiranje, ki vključuje testiranje najpomembnejših funkcij programske opreme, da bi se prepričali, da delujejo na osnovni ravni.
Testiranje “smoke” je pomemben zgodnji korak v postopku zagotavljanja kakovosti, saj pokaže, ali naj ekipa nadaljuje z nadaljnjim testiranjem ali pa izdelek takoj pošlje razvijalcem.
Če izdelek ne opravi preizkusa “smoke test”, to pomeni, da ima začetna sestava precejšnje pomanjkljivosti, ki jih je treba odpraviti, preden se lahko opravi nadaljnje testiranje.
Kdaj je treba opraviti testiranje dima?
Programsko opremo testiramo, kadarkoli razvijemo nove funkcionalnosti in jih vključimo v obstoječo sestavo ter preden novo sestavo pošljemo v preverjanje kakovosti. Izvajanje testiranja v tej fazi preprečuje, da bi zapravljali denar in druge vire za testiranje zagotavljanja kakovosti za programsko opremo z večjimi težavami.
Za izvedbo preizkusa QA “smoke test” razvojna ekipa razporedi novo sestavo programske opreme v QA, pri čemer se izbere podskupina testnih primerov, ki se izvedejo na tej sestavi. Ekipa za zagotavljanje kakovosti testira aplikacijo glede na njene najpomembnejše funkcije. Če je test “smoke test” uspešen, ekipa za zagotavljanje kakovosti nadaljuje s funkcionalnim testiranjem, če pa je test neuspešen, se sestava vrne razvojni ekipi v nadaljnji razvoj.
Tovrstno testiranje poteka vsakič, ko se v programsko opremo dodajo nove funkcije.
Ekipe za zagotavljanje kakovosti bodo programsko opremo testirale tudi v drugih primerih, na primer:
● Pred oddajo nove kode v skladišče
● Pred velikim številom testov, vključno z regresijskim in sprejemnim testiranjem
● Po namestitvi nove programske opreme
Če na teh točkah ne izvedete preizkusa funkcionalnosti, lahko v poznejših fazah testiranja funkcionalnosti odkrijete večje napake, ki lahko vplivajo na datum izdaje nove sestave ali povzročijo resnejše motnje v časovnem načrtu.
Kdaj vam ni treba opraviti testiranja dima
Pri testiranju programske opreme je pomembno, da se testiranje “smoke testing” izvede vedno, ko spremenite programsko kodo ali v sestavo dodate nove funkcije.
To je tudi pomemben pripravljalni korak za testiranje funkcionalnosti, saj preprečuje, da bi ekipe za zagotavljanje kakovosti zapravljale čas za testiranje programske opreme, ki ni pripravljena.
Če vaša programska oprema ne izpolnjuje teh meril, vam morda trenutno ni treba izvajati testiranja dimljenja, čeprav je z avtomatiziranimi orodji za testiranje dimljenja enostavno in stroškovno učinkovito izvajati redna testiranja dimljenja, da zagotovite, da programska oprema vedno deluje pravilno.
Kdo sodeluje pri testiranju dima
Preizkušanje z dimljenjem izvajajo inženirji za zagotavljanje kakovosti ali vodja zagotavljanja kakovosti; to je prva stopnja testiranja zagotavljanja kakovosti in se izvaja v okolju zagotavljanja kakovosti.
Ekipa za zagotavljanje kakovosti je odgovorna za testiranje programske opreme in ocenjevanje njenega delovanja v različnih pogojih in obremenitvah. Med testiranjem “smoke test” bodo inženirji za zagotavljanje kakovosti iskali napake, ki zaustavijo razvoj in jih je treba odpraviti, preden se testiranje lahko nadaljuje.
Pri primerjanju testiranja v zaprtem prostoru (smoke testing) in testiranja pravilnosti (sanity testing ) ter regresijskega testiranja je pomembno upoštevati ne le, kaj se testira, temveč tudi, kdo izvaja teste.
Testiranje dimnih plinov pri testiranju programske opreme vedno izvajajo strokovnjaki za zagotavljanje kakovosti. S tem se testiranje “smoke testing” razlikuje od testiranja pravilnosti, ki se izvaja v razvojnem okolju in običajno ne vključuje ekipe za zagotavljanje kakovosti.
Življenjski cikel dimnega preskusa
Življenjski cikel dimnega preskusa ponazarja, kje med razvojem izdelka in preskušanjem zagotavljanja kakovosti poteka dimni preskus. Razumevanje vsake faze tega cikla vam bo pomagalo bolje razumeti, kako se dimno testiranje vključuje v testiranje in kakšne so razlike med dimnim testiranjem, testiranjem pravilnosti in regresijskim testiranjem.
1. Koda
Prva faza izdelave programske opreme je vedno pisanje in ustvarjanje kode. Koda je gradnik vsake programske opreme, zato jo mora razvojna ekipa napisati, preden jo je mogoče preizkusiti glede stabilnosti in funkcionalnosti.
2. Testiranje enot
Testiranje enot običajno izvajajo razvijalci, čeprav lahko včasih nekaj testiranja enot opravijo tudi inženirji za zagotavljanje kakovosti. Testiranje enot zagotavlja, da različne enote ali elementi kode delujejo po pričakovanjih, preden se posamezne enote združijo v enotno programsko opremo.
Testiranje enot običajno poteka vzporedno z razvojem, saj opozarja na napake in pomanjkljivosti v kodi, ki jih je mogoče takoj odpraviti.
3. Integracijsko testiranje
Integracijsko testiranje je postopek testiranja delovanja posameznih enot, ko so integrirane v enotno programsko opremo.
Tudi če vsaka posamezna enota deluje dobro, se lahko pogosto pojavijo težave, ko se te enote povežejo med seboj. Integracijsko testiranje običajno izvajajo razvijalci, čeprav se lahko zaradi različnih pristopov k tej vrsti testiranja izvaja v različnih fazah postopka izdelave programske opreme.
4. Preizkušanje pravilnosti
Testiranje pravilnosti je vrsta regresijskega testiranja in je običajno zadnja vrsta regresijskega testiranja. To se zgodi v razvojni fazi sestavljanja, ko so odpravljene vse napake, na katere je opozorilo regresijsko testiranje.
Preizkušanje pravilnosti je običajno zelo hitro in je namenjeno zgolj zagotavljanju, da programska oprema deluje nemoteno in da so bile morebitne najdene napake ustrezno odpravljene.
Včasih se zamenjujeta testiranje “smoke” in “sanity”, vendar je ključno, da si zapomnite, da se testiranje “sanity” izvaja v razvojnem okolju, medtem ko se testiranje “smoke” izvaja v okolju za zagotavljanje kakovosti.
5. Preizkušanje dima
Preizkušanje “smoke testing” je prva faza testiranja QA in prva vrsta preizkusa, ki se izvaja v okolju QA.
Preizkušanje s testiranjem se običajno izvaja pred testiranjem pravilnosti in regresijskim testiranjem, kljub temu da ga običajno izvajajo ekipe za zagotavljanje kakovosti. To je hiter in preprost postopek testiranja – danes večina ekip za zagotavljanje kakovosti pri testiranju programske opreme uporablja avtomatizirano dimno testiranje -, ki določi, ali je sestava stabilna in ali je treba izvesti nadaljnje teste.
Ker je dimno testiranje najhitrejši in najpreprostejši test, če primerjamo dimno testiranje s testiranjem pravilnosti in regresijskim testiranjem, ga je smiselno najprej opraviti, preden se lotimo drugih, bolj zapletenih testov.
6. Funkcionalno testiranje
Funkcionalno testiranje je naslednja faza življenjskega cikla testiranja programske opreme in se izvaja v okolju QA.
Funkcionalno testiranje preverja vsako funkcijo programske aplikacije glede na njene zahteve in se osredotoča na funkcije, uporabnost, dostopnost in stanje napak.
Funkcionalno testiranje se lahko začne, ko je uspešno opravljen test dimljenja.
Aplikacije za testiranje dima na različnih ravneh
Preizkušanje dima se uporablja na treh različnih ravneh preskušanja: preizkušanje dima na sprejemni ravni, preizkušanje dima na ravni sistema in preizkušanje dima na ravni integracije.
1. Stopnja sprejemnega testiranja
Preizkušanje na sprejemni ravni se običajno izvede, ko je sestavljena programska oprema predana v preverjanje kakovosti. Ta vrsta testov QA “smoke test” preprosto preveri osnovno funkcionalnost sestavljene datoteke in ali je ta skladna s pričakovano funkcionalnostjo.
2. Raven testiranja sistema
Preizkušanje na ravni sistema vključuje preizkušanje najpomembnejših delovnih tokov sistema. To se opravi po testiranju samega sistema in pred izvedbo celotnega regresijskega testa sistema.
Na ravni sistema je najpogostejša oblika testiranja dima avtomatizirano testiranje dima.
3. Raven testiranja integracije
Na ravni testiranja integracije se s testi “smoke tests” zagotovi, da vse funkcionalnosti programske opreme od začetka do konca delujejo v skladu s pričakovanji in da je osnovna integracija funkcionalna.
Ta vrsta testiranja se običajno izvaja pri izvajanju posameznih modulov ali pri vključevanju več modulov v posamezno programsko opremo.
Ročni in avtomatizirani testi dimljenja
Ko ekipe, ki se ukvarjajo s programsko opremo, prvič začnejo izvajati teste dimljenja, se morajo odločiti, ali bodo izvajali ročne ali samodejne teste dimljenja.
Čeprav avtomatizirani testi “smoke” običajno zagotavljajo hitrejše in stroškovno učinkovitejše rezultate, lahko traja tudi nekaj časa, da jih ustvarite in izvedete. Mnoge ekipe začnejo z ročnim testiranjem, preden v nadaljevanju razmišljajo o avtomatizaciji.
1. Ročno preizkušanje dima
Ročni testi “smoke tests” so precej enostavni za načrtovanje in jih običajno lahko izvajajo strokovnjaki, ki niso iz tehnične stroke, zunaj skupin za zagotavljanje kakovosti ali razvoj. To pomeni, da imajo v manjših podjetjih, ki morda še nimajo posebnega vodje za zagotavljanje kakovosti, pogosto prednost ročni testi “smoke”.
Pri ročnem testiranju “smoke test” je pomembno, da se testira več primerov uporabe, ki zajemajo dovolj glavnih funkcij programske opreme, ne da bi jih bilo toliko, da bi testiranje “smoke test” trajalo predolgo. Idealno število primerov uporabe je običajno med 20 in 50.
Prednosti ročnega izvajanja testov dimljenja
Izvajanje ročnih testov dimljenja v QA ima v primerjavi z avtomatiziranimi testi dimljenja več prednosti. Ročni testi “smoke tests” v primerjavi z avtomatiziranimi testi pogosto ponujajo podrobnejši vpogled v delovanje in funkcionalnost programske opreme.
Neinženirji lahko izvajajo ročno testiranje
Medtem ko je za samodejno testiranje dimnih plinov običajno potrebno strokovno znanje inženirjev in razvijalcev programske opreme, lahko ročno testiranje dimnih plinov izvajajo člani ekipe z manj strokovnega znanja.
To je običajno koristno v manjših skupinah, kjer so viri morda že zelo omejeni in je čas strokovnega osebja zelo dragocen.
Za vsako opravilo lahko ustvarite test dimljenja po meri.
Če želite zagotoviti, da test dimljenja natančno zajema najpomembnejše funkcije katere koli programske aplikacije in se osredotoča na tiste funkcije, ki so pomembnejše za posamezno sestavo, lahko z ustvarjanjem ročnega testa dimljenja testerji test prilagodijo vsakemu projektu.
Takšni ročni testi lahko v primerjavi z nekaterimi avtomatiziranimi testi ponudijo uporabnejše rezultate, vendar je njihova priprava in izvajanje zelo zamudno.
Ročni testi razkrivajo kvalitativne podatke
Ko zaženete samodejni test, lahko pričakujete le kvantitativne podatke o tem, kateri vidiki testa so bili uspešni in kateri ne.
Ko člani ekipe izvajajo ročno testiranje, lahko s svojim vpogledom, intuicijo in presojo ocenijo ne le, ali je sestava uspešna ali ne, temveč tudi kako in/ali zakaj.
Izzivi ročnega testiranja dima
Pri ročnem testiranju dima je veliko izzivov, zato se mnoga podjetja odločajo za avtomatizirano testiranje dima, kadar je to mogoče.
Ročno dimno testiranje je temeljito, vendar tudi zelo zamudno.
Ročni testi dimljenja zahtevajo čas
Ročni testi “smoke” trajajo precej dlje kot avtomatizirani testi in zahtevajo veliko več pozornosti vaše ekipe.
Medtem ko se avtomatizirani testi lahko preprosto izvajajo sami v ozadju, bo morala vaša ekipa nameniti nekaj časa za izvedbo ročnega testiranja.
Ročnih testov ni mogoče izvajati prepogosto
Zaradi velike količine časa in virov, ki jih zahtevajo ročni testi dimljenja, jih ni mogoče izvajati tako redno kot avtomatizirane teste dimljenja.
Pri ročnem testiranju “smoke test” morajo testerji programske opreme za to nameniti več ur, odvisno od zahtevnosti testa, pa tudi do pol dneva.
To odpravlja možnost vsakodnevnega testiranja dima, ki na splošno velja za najboljšo prakso v panogi.
Vedno je dovolj prostora za napake
Ker ročno testiranje izvajajo ljudje, vedno obstaja možnost, da med ročnim testiranjem pride do napak.
Zato ročno testiranje običajno ni tako celovito kot avtomatizirano testiranje, zlasti kadar gre za odkrivanje subtilnih napak, ki jih je lažje spregledati, ali kadar gre za zelo ponavljajoče se testiranje, zaradi katerega lahko testerji med testiranjem izgubijo pozornost.
Kdaj uporabiti ročno testiranje dima
Ročno dimno testiranje se najpogosteje uporablja v manjših skupinah, ki morda nimajo dovolj sredstev, da bi inženirje namenile za avtomatizirano dimno testiranje, ali v primerih, ko sta potrebna dodaten človeški vpogled in presoja.
Zaradi tega se ročno testiranje dimljenja pogosto izvaja v testih dimljenja na integracijski ravni.
2. Avtomatizirano testiranje dima
Avtomatizirano testiranje “smoke testing ” lahko izvajajo inženirji programske opreme z znanjem kodiranja, ki je potrebno za ustvarjanje in izvajanje vrste ustreznih primerov uporabe za vsako sestavo programske opreme.
Avtomatizirano testiranje je veliko hitrejše od ročnega testiranja, saj običajno ne traja več kot 30 do 60 minut, izvaja pa se lahko v ozadju, medtem ko vsi člani razvojne ekipe in ekipe za zagotavljanje kakovosti opravljajo svoje vsakodnevne naloge.
Zato je avtomatizirano testiranje dimnih plinov postalo običajna praksa v industriji programske opreme, saj si vse več podjetij prizadeva izboljšati učinkovitost delovnega mesta.
Prednosti avtomatizacije testiranja dimnih plinov
Avtomatizacija testiranja dimnih plinov prinaša številne prednosti za podjetja, ki imajo čas in sredstva za njeno izvajanje. Je hiter in učinkovit, samodejni testi pa se lahko redno izvajajo tudi v majhnih podjetjih, saj ne obremenjujejo ekip in virov.
Avtomatizirano testiranje je hitro
Avtomatizirano testiranje je veliko hitrejše od ročnega testiranja, saj večina avtomatiziranih testov ne traja dlje kot 30 do 60 minut.
V primerjavi s tem lahko ročni testi trajajo več ur.
Avtomatizirani testi za preverjanje delovanja zahtevajo minimalne vire, po izvedbi pa jih je zelo enostavno izvajati.
Avtomatizacija omogoča vsakodnevno testiranje dima
Trenutne najboljše prakse v industriji narekujejo, da so idealni vsakodnevni testi, zlasti pri delu s programsko opremo, ki se nenehno spreminja.
Ročni testi dimljenja so preveč zamudni za vsakodnevno izvajanje, avtomatizirane teste dimljenja pa lahko enostavno izvedete na začetku vsakega delovnega dne.
Avtomatizacija odpravlja človeške napake
Avtomatizirani testi se izvajajo na podlagi vnaprej pripravljenih skript, ki so ustvarjene v skladu z zelo strogimi standardi. To pomeni, da je možnost, da bi avtomatizirani test spregledal večjo napako ali pomembno težavo, zelo majhna.
Avtomatizacija lahko posnema teste obremenitve in zmogljivosti
S testi obremenitve in zmogljivosti ocenite, kako dobro deluje aplikacija, ko jo hkrati uporablja veliko uporabnikov. Avtomatizirano dimno testiranje lahko posnema dodatno obremenitev več uporabnikov na načine, ki jih ročno testiranje ne more, in zagotavlja dodatno raven podatkov o delovanju programske opreme v določenih pogojih.
Izzivi avtomatizacije testiranja dimnih plinov
Avtomatizacija testiranja smoke ni brez izzivov. Izvajanje avtomatiziranega testiranja dimnih plinov je lahko bolj zamudno in zahteva več virov, zlasti v manjših skupinah z manjšim številom inženirjev na voljo.
Tehnične zahteve
Avtomatizirani testi dimljenja zahtevajo več tehničnega znanja in veščin kodiranja kot ročni testi dimljenja. Inženirji programske opreme morajo imeti čas in znanje za ustvarjanje avtomatiziranih testov, preden jih lahko izvajajo, pri čemer ni nujno, da imajo vse ekipe na voljo sredstva za to.
Pomanjkanje človeškega vpogleda
Avtomatsko testiranje omogoča celovit pogled na funkcionalnost programske aplikacije, pri izvajanju samodejnega preizkusa “smoke test” pa preizkuševalci programske opreme dobijo vpogled v osnovne funkcije programske opreme, kar je končni namen preizkusa “smoke test”.
Vendar avtomatizirani testi ne omogočajo vpogleda v pomembnejše vidike delovanja programske opreme, kot sta uporabnost in dostopnost.
Kdaj uvesti avtomatizacijo testiranja dimnih plinov
Avtomatizacija se pogosto uporablja pri dimnem testiranju, saj je namen dimnega testiranja preprosto preverjanje osnovne funkcionalnosti, kar je nekaj, pri čemer je avtomatizirano testiranje razmeroma dobro.
Ekipe z zadostnim tehničnim znanjem za izvajanje samodejnega testiranja dima bodo najverjetneje imele čas in sredstva za vlaganje v ta postopek, večja in bolj uveljavljena podjetja pa bodo verjetno čutila večji pritisk za izpolnjevanje standardov najboljše prakse dnevnega testiranja dima.
Avtomatizacija testiranja dima proti ročnemu testiranju dima
Ni pravilnega ali napačnega načina za izvajanje testiranja dima, in kar je dobro za eno ekipo, morda ne bo dobro za drugo.
Ekipe, ki se ukvarjajo s programsko opremo, morajo pred izvajanjem testiranja dimnih plinov upoštevati svoje cilje, vire in dolgoročne načrte projekta. Postopek ročnega testiranja programske opreme je lahko poučen za mlade strokovnjake, ki šele vstopajo v sistem zagotavljanja kakovosti, vendar je za bolj uveljavljene ekipe izbira ročnega testiranja namesto avtomatiziranega le redko koristna.
Hibridni dimni preskusi
Tretja možnost za ekipe, ki se ne morejo odločiti med ročnim in avtomatiziranim testiranjem in testiranjem brezhibnosti, je hibridno testiranje.
Hibridno testiranje združuje vidike ročnega in samodejnega testiranja, da bi povečalo splošno uspešnost in učinkovitost testov. Pri uporabi hibridne metode dimnega preskusa je lahko večina preskusa avtomatizirana, nekateri vidiki pa se izvajajo ročno. Tako lahko ekipe več pozornosti namenijo tistim vidikom sestavljanja, ki jo potrebujejo, hkrati pa ohranijo nizke skupne časovne zahteve za testiranje.
Vrste testiranja dima
Preizkušanje dima lahko na splošno razdelimo v dve kategoriji, formalno in neformalno preizkušanje dima. Ali je dimno testiranje formalno ali neformalno, je odvisno od tega, ali ga formalno sproži vodja za zagotavljanje kakovosti ali pa se izvaja kot del razvoja.
1. Formalni dimni preskusi
Pri formalnem preizkusu “smoke test” razvijalci programske opreme posredujejo programsko opremo inženirju za zagotavljanje kakovosti ali vodji zagotavljanja kakovosti v formalno testiranje. Vodja QA dodeli testerjem nalogo testiranja dimnih plinov in zahteva, da testiranje dimnih plinov izvedejo z orodji za testiranje dimnih plinov, kot je avtomatizacija, ali ročno.
Pri izvajanju formalnih testov dimljenja testerji za zagotavljanje kakovosti sestavijo rezultate testa v uradno poročilo, ki ga lahko analizira vodja za zagotavljanje kakovosti.
Formalni testi “smoke tests” se izvajajo na pomembnih točkah med postopkom izdelave programske opreme, na primer pred funkcionalnim testiranjem novih funkcij.
2. Neformalni dimni preskusi
Neformalni testi dimljenja so testi dimljenja, ki se izvajajo na programski opremi med razvojem ali postopkom zagotavljanja kakovosti, o katerih vodja zagotavljanja kakovosti uradno ne poroča ali jih ne zahteva.
Vsakodnevni testi dimljenja, ki jih številne ekipe za programsko opremo izvajajo po protokolu, so primer neformalnih testov dimljenja.
Neformalne teste lahko izvajate priložnostno, kadar inženirji za zagotavljanje kakovosti menijo, da bi lahko bili koristni.
Kaj potrebujete za začetek testiranja dima
Preden začnete s testiranjem dima pri testiranju programske opreme, je treba zbrati vse, kar boste potrebovali, vključno s podatkovnimi datotekami in znanji v organizaciji.
Kaj boste potrebovali za izvedbo testa dimljenja, je odvisno od tega, ali nameravate izvajati avtomatizirano ali ročno testiranje dimljenja in katera orodja za testiranje uporabljate, da bi olajšali postopek.
1. Seznam testnih primerov
Preden začnete izvajati test dimljenja, morate pripraviti izčrpen seznam vseh testnih primerov, ki jih želite oceniti s testom dimljenja.
Testni primeri so posamezni sklopi dejanj, ki jih želite preizkusiti in oceniti, ali se rezultati teh dejanj ujemajo z rezultati, ki jih pričakujete.
Zelo preprost preskusni primer je na primer ta, da program ob odprtju aplikacije naloži glavno nadzorno ploščo.
2. Testne datoteke
Preden lahko zaženete test “smoke”, morate zbrati vse testne datoteke, na katerih boste izvedli test “smoke”. Za zbiranje vseh datotek na enem mestu lahko uporabite ukazno vrstico programske opreme za testiranje dima, ki jo uporabljate.
Kako zbirate datoteke in kje jih hranite, je odvisno od načina delovanja vaše organizacije.
3. Orodja za testiranje dima
Osnovni preizkus dima lahko opravite brez uporabe posebnih orodij, vendar lahko z uporabo orodij za preizkušanje dima izboljšate natančnost rezultatov in pospešite postopek preizkušanja dima.
Najprej raziskujte spletna orodja za testiranje dima in izberite programsko opremo, ki avtomatizira ali optimizira vaš test dima glede na vaše posebne potrebe in proračun.
Postopek dimnega preskusa
Najboljši način izvedbe testiranja se med organizacijami razlikuje, in če ste novinec na področju testiranja, boste morda želeli poskusiti z različnimi pristopi, da ugotovite, kaj je najboljše za vašo ekipo.
V nadaljevanju je prikazan primer izvedbe osnovnega preizkusa, s katerim ocenite osnovne funkcije programske opreme.
Korak 1: Izberite testne primere
Prvi korak pri izvedbi preizkusa dimenzije je izbira testnih primerov, na katerih boste izvedli preizkus dimenzije.
Inženirji programske opreme in inženirji za zagotavljanje kakovosti morajo pri načrtovanju testa “smoke test” razmisliti, katere funkcije programske opreme so najbolj pomembne za programsko opremo in kako najbolje preizkusiti te funkcije. Ne zapravljajte časa za preizkušanje funkcij, ki niso pomembne za delovanje programske opreme.
Korak 2: Izdelajte teste dimnih plinov
Ko določite testne primere, ki jih boste uporabili, lahko napišete testne skripte za njihovo testiranje. Za teste za testiranje v živo uporabite eno samo skripto, da povečate prilagodljivost med izvajanjem testa.
Če se odločite za avtomatizacijo testiranja dimnih plinov, vam ne bo treba vedno pisati ročnih testnih skript, ko boste želeli izvesti test dimnih plinov. Za avtomatizacijo takšnih skript lahko uporabite komplete za avtomatizacijo testiranja programske opreme.
Korak 3: Izvedite teste dimljenja
Ko ste ustvarili skripte za testiranje dimenzije, jih lahko zaženete na svoji sestavi in tako poiščete napake in druge večje napake. To ne bi smelo trajati več kot 30 do 60 minut, po koncu testiranja pa lahko ocenite rezultate in določite nadaljnje korake.
Korak 4: Odpravite morebitne napake
Namen dimnega testiranja pri razvoju programske opreme je ugotoviti morebitne večje napake ali pomanjkljivosti, preden se začne popolno testiranje QA.
Če testi “smoke” razkrijejo pomembne težave, ki motijo ključne funkcije vaše programske opreme, je pomembno, da pred nadaljevanjem zagotavljanja kakovosti programsko opremo in analizo pošljete nazaj razvojni ekipi, da odpravi napake.
Najboljše prakse za testiranje dima
Preizkušanje “smoke” je zanesljiv način za odkrivanje večjih napak v programski opremi v vseh fazah razvoja. Z upoštevanjem najboljših industrijskih praks lahko zagotovite, da bodo vaši dimni testi učinkoviti, natančni in produktivni.
1. Pogosto izvajajte teste dimljenja
Testov dimnih plinov ni vedno mogoče izvajati vsak dan, zlasti če izvajate ročne teste in ne avtomatiziranih testov dimnih plinov.
Čim pogosteje izvajajte teste “smoke tests”, in sicer vsakič, ko izvajate spremembe v programski opremi. Ko to lahko storite, se za najboljšo prakso šteje vsakodnevno izvajanje testov dimljenja.
2. Nikoli ne preskočite faze testiranja
Če se vam mudi, je morda mamljivo preskočiti nekatere faze testiranja, da bi hitreje napredovali v procesu razvoja, vendar sta tako dimno kot regresijsko testiranje bistvenega pomena za ohranjanje razvoja na pravi poti.
Pred prehodom na naslednjo fazo vedno testirajte svoje gradnike s testiranjem “smoke” in “sanity”.
3. Preizkusite vsako spremembo
Za testiranje dima ni ene same uporabe. Teste “smoke tests” lahko in morate uporabljati za testiranje vsake spremembe, ki jo vnesete v programsko opremo, in za testiranje programske opreme med različnimi fazami razvoja.
Testi “smoke” morajo biti predhodnik integracijskega testiranja, testiranja zmogljivosti in funkcionalnega testiranja.
4. Spremljajte rezultate testov
Standardna praksa je, da se rezultati uradnega preskusa dima preverijo, vendar bi morali inženirji tudi pri izvajanju neuradnih preskusov dima voditi evidenco o rezultatih.
Tako lahko razvijalcem lažje posredujete rezultate in spremljate, pri katerih funkcijah test ni uspešen.
5. Dvakrat izvedite test dimljenja
Morda se zdi, da je dvakratno izvajanje testa dimljenja pretirano, vendar če želite med testiranjem res ujeti vse napake, je najbolje, da ga izvedete dvakrat.
S tem zagotovite, da ima testiranje “smoke test” vse možnosti, da ujame glavne napake in težave, ki bi lahko povzročile nadaljnje težave, če jih ne bi takoj odpravili.
6. Izberite pravo vrsto testa dima
Ali boste uporabili ročno ali avtomatizirano testiranje, je odvisno od velikosti in potreb vaše ekipe. Prepričajte se, da ste izbrali najboljšo vrsto testiranja za svoj projekt, da bi optimizirali učinkovitost, ne da bi pri tem ogrozili natančnost rezultatov.
Vrste rezultatov preskusa dimljenja
Ko izvajate test dimljenja, lahko pričakujete, da bo rezultat testa dimljenja za vsak ocenjeni primer testa eden od dveh različnih rezultatov: uspešno ali neuspešno.
1. Prehod
Eden od možnih izidov vsakega testnega primera, ki ga zaženete, je, da je test “smoke” uspešno opravljen. To pomeni, da se dejanski rezultat testa ujema s pričakovanim rezultatom testa.
Če na primer izvedete preskus, kaj se zgodi, ko naložite aplikacijo in se ta naloži na zaslon, ki naj bi se odprl ob nalaganju, mora vaša skripta to prikazati kot pozitiven rezultat.
2. Fail
Če je test “smoke” za določen testni primer neuspešen, to običajno pomeni, da se dejanski rezultat testa ni ujemal s pričakovanim rezultatom testa.
Če na primer testirate aplikacijo za nakupovanje in eden od testnih primerov, ki jih izvajate, testira funkcionalnost dodajanja predmetov v košarico, je test neuspešen, če se predmeti, ki jih dodate v košarico, ne pojavijo v košarici, kot ste pričakovali.
Primeri testnih primerov za testiranje “smoke
Ko razmišljate o tem, katere testne primere vključiti v test “smoke test”, napišite seznam ključnih funkcij programske opreme in razmislite, katere od njih so bistvene za delovanje in uporabo programske opreme.
Nekateri primeri testnih primerov za testiranje dimnih plinov vam lahko pomagajo pri določanju testnih primerov, ki jih boste uporabili pri lastnem testiranju dimnih plinov.
1. Potrjevanje poverilnic za prijavo
Če vaša aplikacija zahteva prijavo uporabnikov, boste morda želeli ustvariti testni primer, ki bo preveril, ali postopek potrjevanja prijavnih poverilnic deluje, kot bi moral.
To storite tako, da ustvarite skripto, ki avtomatizira postopke prijave, izvajanja testa in preverjanja rezultatov. Če se programska oprema prijavi, kot je bilo pričakovano, je ta primer preskusa uspešno opravljen.
2. Ustvarjanje novega dokumenta
Ustvarite lahko testni primer, s katerim ocenite, ali vaša programska oprema uporabnikom omogoča pravilno ustvarjanje novega dokumenta. Ustvarite skripto, ki avtomatizira ustvarjanje, poimenovanje in shranjevanje dokumentov v programski opremi, in jo zaženite.
Vse večje težave, ki bi preprečile ta postopek, bi pomenile, da test dimljenja ni uspešen.
3. Odjava
Če ima vaša aplikacija funkcijo prijave, mora imeti tudi funkcijo odjave. Zaženite skripto in preizkusite, kaj se zgodi, ko uporabniki kliknejo “odjavi se”.
Če se uporabnik ne more uspešno odjaviti, ko klikne ta gumb, je test dimljenja neuspešen.
Vrste napak in hroščev, odkritih s testiranjem dimnih plinov
S testi “smoke” lahko prepoznate napake in hrošče, ki motijo osnovno funkcionalnost programske opreme. Odvisno od tega, kdaj izvajate testiranje in kaj želite preveriti, lahko s testiranjem poiščete različne vrste napak in hroščev.
1. Funkcionalne napake
Funkcionalne napake so napake, ki se pojavijo, ko se programska oprema ne obnaša, kot bi pričakovali, ali ko ne deluje pravilno.
Večina testnih primerov, ki jih boste preverjali s testi dimenzije, so funkcionalni testi, zato bodo funkcionalne napake najverjetneje odkrite s takšnimi testi dimenzije.
2. Logične napake
Logične napake so pomanjkljivosti v logiki kode in lahko povzročijo tudi nepravilno obnašanje programske opreme. Logične napake lahko povzročijo, da ukrepi dajejo napačne rezultate ali celo povzročijo okvare programske opreme.
Pogosta logična napaka je neskončna zanka, zaradi katere programska oprema vedno znova ponavlja ista dejanja, dokler se ne sesuje.
3. Napake pri integraciji
Če izvajate testiranje na ravni integracije, lahko med testiranjem odkrijete napake integracije. To se zgodi, kadar dva ločena sklopa kode nista brezhibno integrirana drug v drugega. Povzročijo jih lahko različne težave z združljivostjo v kodi, za njihovo odpravo pa so lahko potrebne zapletene rešitve.
Pogoste metrike za testiranje dima
Ekipe za zagotavljanje kakovosti lahko pri izvajanju preizkusa dimljenja uporabijo metrike za ocenjevanje rezultatov preizkusa dimljenja in presojo, ali je bil preizkus uspešno ali neuspešno opravljen.
Poleg preverjanja, ali lahko programska oprema pravilno izvaja svoje osnovne funkcije, lahko metrike za testiranje dimljenja med drugim ocenjujejo hitrost in čas nalaganja programske opreme.
1. Hitrost programske opreme
S testi “smoke” je mogoče preveriti, ali hitrost programske opreme in čas nalaganja ustrezata določenim merilom, opisanim v posameznih testnih primerih.
Če na primer testirate, kako se programska oprema obnaša, ko naložite aplikacijo, in aplikacija se naloži po pričakovanjih, vendar za zagon potrebuje dve minuti, lahko to označite kot neuspeh, ker ne ustreza pričakovanemu času nalaganja.
2. Zanesljivost
Z dvakratnim izvajanjem testa smoke lahko preverite tudi zanesljivost svoje programske opreme. Če so nekateri testni primeri enkrat uspešni, enkrat pa ne, to pomeni, da neka napaka v kodi povzroča napake, ki se morda ne pojavijo vsakič, ko se programska oprema uporablja, vendar lahko uporabnikom kljub temu povzročijo resne težave.
Najboljša brezplačna orodja za testiranje dima
Orodja za testiranje dimnih plinov vam lahko pomagajo učinkoviteje in hitreje izvajati teste dimnih plinov, da boste lahko kar najbolje izkoristili svoje teste dimnih plinov.
Spodaj je predstavljenih nekaj najboljših orodij za testiranje dima, ki so danes na voljo brezplačno.
5 najboljših brezplačnih orodij za testiranje dima
1. ZAPTEST BREZPLAČNA izdaja
ZAPTEST je brezplačno orodje, ki uporabnikom omogoča avtomatizacijo testiranja programske opreme in RPA brez plačila centa.
S programom ZAPTEST FREE lahko izvajate preproste dimne teste na več platformah, vključno s platformami za mobilne naprave, splet, API in LOAD.
Če želite preizkusiti avtomatizirano dimno testiranje, vam lahko brezplačna izdaja programa ZAPTEST pomaga, da iz prve roke spoznate prednosti avtomatizacije. Prav tako ga je enostavno uporabljati, tudi če niste iz tehničnega okolja, saj ima vmesnik brez kode in uporablja najsodobnejšo tehnologijo računalniškega vida.
Najpomembneje je, da je ZAPTEST FREE dobro…. brezplačno za vedno! Nasprotno pa imajo številna orodja za dimno testiranje in splošno avtomatizacijo programske opreme začetno testno obdobje, po katerem ste prisiljeni plačevati naročnino.
2. Selen
Selenium je brezplačno odprtokodno orodje, ki ga lahko uporabite za izvajanje različnih vrst testov programske opreme, vključno s testiranjem dimnega in regresijskega testiranja. Deluje z veliko različnimi programskimi jeziki in je še posebej dober za testiranje spletnih aplikacij.
3. Appium
Če želite opraviti testiranje za preverjanje skladnosti in pravilnosti mobilnih aplikacij, je Appium boljša izbira kot Selenium. Aplikacijo Appium je enostavno namestiti in uporabljati, z njo pa lahko opravljate preproste teste “smoke” na aplikacijah, razvitih za iOS in Android.
4. Testna povezava
Testlink je brezplačno spletno orodje za upravljanje, ki uporabnikom omogoča pripravo načrtov testiranja in testnih primerov v enotnem strukturiranem okviru. Testlink vam lahko pomaga pri načrtovanju testov dimljenja ter pri opredelitvi pričakovanj in metrik, preden začnete s testiranjem dimljenja.
5. QA Wolf
QA Wolf je brezplačno orodje za testiranje od začetka do konca, ki uporabnikom omogoča, da poleg drugih funkcionalnih testov ustvarijo avtomatiziran test QA smoke. QA Wolf lahko uporabljajo tudi ljudje brez tehničnega znanja ali znanja kodiranja, kar pomeni, da je odličen uvod v avtomatizacijo testiranja za večino ekip QA.
Najboljša orodja za testiranje dima v podjetjih
Če ste pripravljeni vložiti nekaj denarja v orodja za preizkušanje dima, lahko kupite orodja za podjetja, ki imajo obsežnejše možnosti preizkušanja dima in temeljitejše rezultate.
Spodaj je seznam petih najboljših orodij za avtomatizacijo testiranja dimnih plinov v podjetjih na trgu.
5 najboljših orodij za avtomatizacijo testiranja dima v podjetjih
1. Izdaja ZAPTEST ENTERPRISE
ZAPTEST ENTERPRISE edition je paket za testiranje programske opreme in RPA, ki lahko popolnoma avtomatizira vse vrste testov, vključno s testiranjem “smoke”.
Brezplačna različica je primerna za manjša podjetja, ki želijo izvedeti, kaj ZAPTEST zmore, če pa iščete plačljivo rešitev, ki je enostavna za uporabo in primerna za testiranje katere koli programske opreme ali aplikacije na kateri koli platformi, brskalniku ali napravi ter z implementacijo 1SCRIPT na vseh teh platformah, potem je ZAPTEST ENTERPRISE odličen začetek.
2. SoapUI
SoapUI je orodje za testiranje v podjetju, ki omogoča enostavno upravljanje in izvajanje celovitih testov QA za programsko opremo. Gre za razmeroma preprosto orodje za namestitev, ki pa ima svoje omejitve, kar se odraža v njihovi ceni.
3. Testiranje
Testim je plačljivo orodje za testiranje smodnika, ki uporablja umetno inteligenco za ustvarjanje testov brez kode, ki ocenijo funkcionalnost vaše programske opreme. Za preoblikovanje, prilagajanje in odpravljanje napak pri testih lahko uporabite Testimov Javascript API.
4. Robot T-Plan
T-Plan Robot je orodje za testiranje v podjetju, ki ga lahko inženirji QA uporabljajo za avtomatizacijo skriptnih uporabniških dejanj in avtomatizacijo robotskih procesov (RPA) v operacijskih sistemih Windows, Mac, Linux in Mobile. S programom T-Plan Robot lahko avtomatizirate preizkuse za preverjanje stanja na različnih aplikacijah in ustvarite avtomatizirane skripte, ki jih lahko zaženete na ključnih točkah med razvojem.
5. Kontrola kakovosti deževnega gozda
Rainforest QA je orodje za preverjanje kakovosti QA, ki uporabnikom omogoča upravljanje in izvajanje ročnega in samodejnega testiranja z eno samo nadzorno ploščo. Zato je idealen za organizacije, ki želijo preizkusiti hibridni pristop, primeren pa je za veliko različnih platform, vključno z aplikacijami v oblaku, operacijskimi sistemi Windows in Mac.
Kdaj uporabiti orodja za testiranje dima v podjetjih in kdaj brezplačna orodja za testiranje dima?
Podjetniška in brezplačna orodja za preizkušanje dima lahko izpolnjujejo podobne potrebe na nekoliko drugačne načine. Običajno so brezplačna orodja odlična vstopna točka za organizacije, ki se dobro spoprijemajo z ročnim testiranjem dima, vendar želijo podrobneje raziskati avtomatizirano testiranje dima.
Morda so primernejši tudi za zelo majhna zagonska podjetja, kjer denarja za plačljiva orodja še ni.
Orodja za testiranje v podjetjih običajno postanejo bolj smiselna možnost, ko se podjetja širijo. V primerjavi z brezplačnimi orodji imajo številne prednosti, saj običajno ponujajo večjo prilagodljivost, boljšo podporo in uporabniku prijaznejše vmesnike, s katerimi lahko tudi strokovnjaki, ki niso tehnični strokovnjaki, zlahka izvajajo avtomatizirano testiranje dima.
Kontrolni seznam za testiranje dima
Ekipa za zagotavljanje kakovosti programske opreme lahko pred začetkom testiranja dimljenja s tem kontrolnim seznamom preveri, ali so zajeti vsi koraki postopka testiranja dimljenja.
● Določite orodja za testiranje dima, ki jih boste uporabili
● Izberite, ali boste ustvarili ročni ali samodejni test
● Izberite testne primere, ki jih želite testirati
● Ustvarite testne skripte za vsak primer
● Določite zahteve za uspešno opravljen preskus za vsak primer preskusa.
● Izvedite teste dimljenja
● Analizirajte rezultate
● povratne informacije za razvoj in zagotavljanje kakovosti
Zaključek
Preizkušanje s smokom je bistven korak pri razvoju programske opreme in zagotavljanju kakovosti. Zagotavlja, da je izdelek funkcionalen, preden se opravi nadaljnje testiranje, kar preprečuje tveganje, da bi ekipe za zagotavljanje kakovosti zapravljale čas in vire za intenzivno funkcionalno testiranje na sestavah, ki še niso stabilne.
Preizkušanje v obliki dimnih plinov je razmeroma hiter in preprost postopek, ki bi ga morale ekipe, ki se ukvarjajo s programsko opremo, izvajati čim pogosteje.
Ker si podjetja prizadevajo doseči optimalno učinkovitost z uporabo naprednih orodij, ki podpirajo hiperavtomatizacijo, RPA in druge sorodne tehnologije, je avtomatizirano dimno testiranje vse bolj pogosto v organizacijah vseh velikosti.
V sodobnih okoljih QA imata tako ročno kot avtomatizirano dimno testiranje še vedno svoje mesto, vendar bo z naraščanjem razširjenosti avtomatiziranega testiranja nedvomno postalo stalnica.
Pogosta vprašanja in viri
Kateri so najboljši tečaji o avtomatizaciji testiranja dima?
Če se želite naučiti več o avtomatizaciji testiranja dima, se lahko udeležite naslednjih spletnih tečajev:
● Tečaji za testiranje dima na Courseri
● Tečaji testiranja dima Udemy
● Tečaji testiranja dima Skillshare
Eden najboljših tečajev za začetnike je Certified Tester ISTQB Foundation Level (CTFL), ki je na voljo pri Udemyju.
Vsak od teh spletnih virov ponuja tečaje testiranja dima za učence različnih sposobnosti, na teh spletnih mestih pa je mogoče opraviti tako brezplačne kot plačljive tečaje.
Če želite pridobiti certifikat, poiščite tečaje, ki jih je akreditiral CAST.
Katere so najboljše knjige o testiranju dima?
Če želite izvedeti več o dimnem testiranju, lahko preberete knjige o testiranju programske opreme in dimnem testiranju, da boste bolje razumeli pristope in prednosti dimnega testiranja. Med najboljšimi knjigami o testiranju dima so:
● Umetnost preizkušanja programske opreme, avtorji Glenford J Myers, Tom Badgett in Corey Sandler
● Testiranje programske opreme, Ron Patton
● Avtomatizacija testiranja programske opreme, avtorja Mark Fewster in Dorothy Graham
Vendar obstaja veliko odličnih knjig o testiranju programske opreme, ki vam lahko pomagajo bolje razumeti, kako, kaj in zakaj se testira.
Izberite knjigo, ki vam je všeč in podrobneje obravnava teme, ki vas najbolj zanimajo.
Katerih je 5 najpomembnejših vprašanj za razgovor o dimnem testiranju?
Če nameravate opraviti razgovor za delovno mesto, ki bi lahko vključevalo testiranje dima, se na razgovor pripravite tako, da pripravite odgovore na pogosta vprašanja, kot so:
● Kdaj je pravi čas za izvedbo testiranja dima?
● Kako bi se odločili, katere testne primere boste uporabili pri preizkusu “smoke”?
● Kako se testiranje dima razlikuje od drugih vrst testiranja, kot je testiranje pravilnosti?
● Koliko znanja o kodiranju je potrebnega za izvajanje testov dimljenja?
● Kaj bi storili, če je preizkus dima neuspešen?
Katera so najboljša navodila za testiranje dima na YouTubu?
Če ste vizualni učenec, lahko s temi videoposnetki v YouTubu pridobite več informacij o dimnem testiranju:
● Učna ura za testiranje dima Edureka
● Kaj je testiranje dima?
● Testiranje dima proti testiranju pravilnosti
Kako vzdrževati teste dima?
Vzdrževanje testov dimnih plinov je zagotavljanje, da testi dimnih plinov, ki jih ustvarite, ostanejo zdravi in ustrezni, ko se projekt izgradnje programske opreme nadaljuje.
Dnevno izvajajte teste “smoke” in ustvarjajte nove testne primere po potrebi.
Koristi svojih testov lahko povečate tudi tako, da tesno sodelujete z razvijalci, katerih prispevki ne izboljšujejo kakovosti njihove kode.
Kaj je dimno testiranje v inženirstvu programske opreme?
Preizkušanje smoke v programskem inženirstvu se imenuje tudi testiranje preverjanja zgradbe in je preprost in hiter test, s katerim zagotovimo, da je zgradba programske opreme stabilna.
S testiranjem “smoke testing” se preizkušajo osnovne funkcionalnosti sestavljene različice in služi kot predhodni test pred nadaljnjim testiranjem QA.
Preizkušanje dima proti preizkušanju pravilnosti
Testiranje “smoke” in testiranje “sanity” sta obe vrsti testiranja, ki vključujeta hitro testiranje osnovnih funkcionalnosti programske opreme ali izdelka.
Medtem ko se s testiranjem “smoke testing” preverja, ali se osnovne funkcije programske opreme obnašajo po pričakovanjih, se testiranje pravilnosti običajno uporablja za preverjanje, ali so bile s popravki napak odpravljene ugotovljene težave.
Preizkušanje “smoke” je bolj formalen in dokumentiran postopek, ki se običajno izvede, preden se sestava preveri kot stabilna, medtem ko je testiranje pravilnosti neformalna vrsta testa, ki se lahko izvaja kot del regresijskega testiranja na relativno stabilnih sestavah.
Testiranje smoke proti regresijskemu testiranju
Testiranje po načelu “smoke” in regresijsko testiranje sta vrsti testiranja, s katerima preverjamo, ali programska oprema po novih spremembah še vedno deluje pravilno.
Vendar je testiranje “smoke testing” razmeroma hitra in nezahtevna vrsta testiranja, pri kateri se preprosto preverijo osnovne funkcije in zagotovi, da je programska oprema stabilna.
Regresijsko testiranje je test na globlji ravni, ki traja veliko dlje in podrobneje ocenjuje sestavo.
Testiranje dimnih plinov vs. testiranje pravilnosti vs. regresijsko testiranje
Ko primerjate testiranje dimljenja in pravilnosti z regresijskim testiranjem, morate razumeti, da so vse tri vrste testov potrebne za dober razvoj programske opreme in zagotavljanje kakovosti.
Preizkušanje “smoke testing” in testiranje “sanity testing” omogočata hiter način preverjanja normalnega delovanja programske opreme, regresijsko testiranje pa omogoča globlji vpogled v delovanje izdelka.
Ekipe za zagotavljanje kakovosti najprej testirajo programsko opremo, in če programska oprema uspešno opravi to preverjanje, se lahko izvede testiranje pravilnosti in pozneje regresijsko testiranje.
Avtomatizirano testiranje s pomočjo orodij za testiranje dimnih plinov postaja vse bolj pogosto, vendar nekaterih vrst testiranja, kot je regresijsko testiranje, zaradi kompleksne narave testiranja še ni mogoče popolnoma avtomatizirati.
Če iščete orodja za izvajanje testiranja na platformah Windows, iOS, Android, teste uporabniškega vmesnika, Linux in še veliko več, prenesite ZAPTEST BREZPLAČNO!