Smoke testing je proces, ktorý sa používa na testovanie softvéru s cieľom určiť, či je nasadené zostavenie softvéru stabilné.
Pri testovaní softvéru spustíte sériu testov určených na posúdenie každej z hlavných funkcií softvéru.
Nástroje na smoke testovanie overujú, či najdôležitejšie funkcie softvéru fungujú. Existuje viacero rôznych prístupov k testovaniu dymu a moderné technológie umožňujú automatizované testovanie dymu pre väčšinu softvérových zostáv.
V tomto článku sa ponoríme do problematiky smoke testovania a preskúmame typy, procesy a prístupy k smoke testovaniu, ktoré používajú testeri softvéru. Pozrieme sa aj na moderné nástroje na testovanie dymu vrátane automatizácie testovania dymu.
V krátkosti sa dozviete všetko, čo budete potrebovať vedieť o testovaní dymu.
Čo je to testovanie dymu v softvérovom inžinierstve?
Smoke testovanie je proces testovania softvéru s cieľom zabezpečiť, aby spĺňal základné požiadavky na funkčnosť a stabilitu. Ide v podstate o typ miniatúrneho, rýchleho regresného testovania, ktoré zahŕňa testovanie najdôležitejších funkcií softvéru s cieľom uistiť sa, že fungujú na základnej úrovni.
Smoke testovanie je dôležitým začiatočným krokom v procese QA, pretože naznačuje, či má tím pokračovať v ďalšom testovaní, alebo produkt okamžite poslať späť vývojárom.
Ak produkt neprejde dymovým testom, znamená to, že počiatočné zostavenie má významné nedostatky, ktoré je potrebné odstrániť pred ďalším testovaním.
Kedy je potrebné vykonať dymovú skúšku?
Softvér testujeme vždy, keď sa vyvíjajú nové funkcie a integrujú sa do existujúceho zostavenia, a pred nasadením nového zostavenia do QA. Vykonávanie testovania v tejto fáze zabraňuje plytvaniu peniazmi a inými zdrojmi na testovanie kvality softvéru, ktorý má závažné problémy.
Na vykonanie testov QA sa v rámci QA nasadí nové zostavenie softvéru a vyberie sa podmnožina testovacích prípadov, ktoré sa na tomto zostavení spustia. Tím QA testuje aplikáciu na základe jej najdôležitejších funkcií. Ak test prebehne úspešne, tím QA pokračuje vo funkčnom testovaní, a ak zlyhá, zostava sa odovzdá späť vývojovému tímu na ďalší vývoj.
K takémuto testovaniu dochádza vždy, keď sa do zostavy softvéru pridajú nové funkcie.
Tímy QA môžu softvér testovať aj v iných prípadoch, napríklad:
● Pred odovzdaním nového kódu do úložiska
● Pred veľkou sériou testov vrátane regresného a akceptačného testovania
● Po nasadení novej zostavy softvéru
Ak v týchto bodoch nevykonáte smoke test, môžete v neskorších fázach testovania funkčnosti nájsť závažné chyby, ktoré by mohli ovplyvniť dátum vydania nového zostavenia alebo spôsobiť vážnejšie narušenie vášho harmonogramu.
Keď nemusíte vykonávať dymové skúšky
Pri testovaní softvéru je dôležité vykonať testovanie v režime smoke vždy, keď vykonáte akékoľvek zmeny v softvérovom kóde alebo pridáte nové funkcie do zostavenia.
Je to tiež nevyhnutný prípravný krok k testovaniu funkčnosti, pretože zabraňuje tímom QA strácať čas testovaním softvéru, ktorý nie je pripravený.
Ak váš softvér nespĺňa tieto kritériá, nemusíte v súčasnosti vykonávať dymové testovanie… hoci automatizované nástroje na dymové testovanie umožňujú jednoducho a nákladovo efektívne vykonávať pravidelné dymové testy, aby ste zabezpečili, že softvér vždy funguje správne.
Kto sa podieľa na testovaní dymu
Smoke testovanie vykonávajú inžinieri QA alebo vedúci QA; je to prvá fáza testovania QA a vykonáva sa v prostredí QA.
Tím QA je zodpovedný za testovanie zostaveného softvéru a hodnotenie jeho výkonnosti v rôznych podmienkach a záťažových podmienkach. Počas testovania v skúšobnej prevádzke budú inžinieri QA hľadať tzv. „showstoppery“, teda chyby, ktoré zastavia vývoj a musia byť odstránené pred pokračovaním testovania.
Pri porovnávaní testovania dymu a testovania správnosti a regresného testovania je dôležité zvážiť nielen to, čo sa testuje, ale aj to, kto testy vykonáva.
Smoke testovanie pri testovaní softvéru vždy vykonávajú odborníci na zabezpečenie kvality. Týmto sa odlišuje testovanie „smoke testing“ od testovania správnosti, ktoré sa vykonáva vo vývojovom prostredí a zvyčajne nezahŕňa tím QA.
Životný cyklus dymovej skúšky
Životný cyklus testovania dymu znázorňuje, kde sa testovanie dymu vyskytuje počas vývoja produktu a testovania zabezpečenia kvality. Pochopenie jednotlivých fáz tohto cyklu vám pomôže lepšie porozumieť tomu, ako smoke testovanie zapadá do procesu testovania a aké sú rozdiely medzi smoke testovaním a testovaním správnosti a regresným testovaním.
1. Kód
Prvou fázou zostavovania akéhokoľvek softvéru je vždy písanie a vytváranie kódu. Kód slúži ako stavebný prvok každého softvéru a vývojový tím musí napísať kód predtým, ako sa môže otestovať jeho stabilita a funkčnosť.
2. Testovanie jednotiek
Testovanie jednotiek zvyčajne vykonávajú vývojári, hoci niekedy môžu testovanie jednotiek vykonávať aj inžinieri QA. Testovanie jednotiek zabezpečuje, že rôzne jednotky alebo prvky kódu fungujú podľa očakávaní predtým, ako sa jednotlivé jednotky integrujú do jedného softvérového zostavenia.
Testovanie jednotiek sa zvyčajne vykonáva súčasne s vývojom, pretože upozorňuje na chyby a nedostatky v kóde, ktoré sa dajú okamžite opraviť.
3. Integračné testovanie
Integračné testovanie je proces testovania, ako jednotlivé jednotky fungujú spoločne, keď sú integrované do jedného softvéru.
Aj keď každá samostatná jednotka funguje dobre, pri ich vzájomnej integrácii môžu často vzniknúť problémy. Integračné testovanie zvyčajne vykonávajú vývojári, hoci rôzne prístupy k tomuto typu testovania znamenajú, že sa môže vykonávať v rôznych fázach procesu tvorby softvéru.
4. Testovanie správnosti
Testovanie správnosti je typ regresného testovania a zvyčajne je to posledný typ regresného testovania. Vykonáva sa počas vývojovej fázy zostavenia po odstránení všetkých chýb, na ktoré upozornilo regresné testovanie.
Testovanie správnosti je zvyčajne veľmi rýchle a slúži len na zabezpečenie bezproblémového chodu softvéru a primeraného odstránenia prípadných chýb.
Niekedy sa zamieňa testovanie stavu a testovanie správnosti, ale je dôležité si uvedomiť, že testovanie správnosti prebieha vo vývojovom prostredí, zatiaľ čo testovanie stavu prebieha v prostredí QA.
5. Testovanie dymu
Smoke testing je prvou fázou testovania QA a prvým typom testu, ktorý sa vykonáva v prostredí QA.
Smoke testovanie zvyčajne prebieha pred testovaním správnosti a regresným testovaním napriek tomu, že ho zvyčajne vykonávajú tímy QA. Je to rýchly a jednoduchý proces testovania – v súčasnosti väčšina tímov QA používa pri testovaní softvéru automatizované testovanie – ktorý určuje, či je zostavenie stabilné a či je potrebné vykonať ďalšie testy.
Keďže testovanie dymu je najrýchlejším a najjednoduchším testom pri porovnaní testovania dymu a testovania správnosti a regresného testovania, je rozumné vykonať ho ako prvý a až potom prejsť na ďalšie, zložitejšie testy.
6. Funkčné testovanie
Funkčné testovanie je ďalšou fázou životného cyklu testovania softvéru a vykonáva sa v prostredí QA.
Funkčné testovanie testuje každú funkciu softvérovej aplikácie na základe jej požiadaviek a zameriava sa na funkcie, použiteľnosť, prístupnosť a chybové stavy.
Funkčné testovanie sa môže začať po úspešnom absolvovaní dymového testu.
Aplikácie na testovanie dymu na rôznych úrovniach
Dymové testovanie sa uplatňuje na troch rôznych úrovniach testovania: dymové testovanie na úrovni akceptácie, dymové testovanie na úrovni systému a dymové testovanie na úrovni integrácie.
1. Úroveň akceptačného testovania
Smoke testovanie na akceptačnej úrovni sa zvyčajne vykonáva, keď sa zostavenie softvéru uvoľní pre QA. Tento typ testov QA jednoducho overuje základnú funkčnosť zostavenia a to, či je v súlade s očakávanou funkčnosťou.
2. Úroveň testovania systému
Smoke testovanie na úrovni systému zahŕňa testovanie najdôležitejších pracovných postupov systému. Vykonáva sa po otestovaní samotného systému a pred vykonaním úplného regresného testu systému.
Na úrovni systému je najbežnejšou formou testovania dymu automatické testovanie dymu.
3. Úroveň integračného testovania
Na úrovni integračného testovania sa pomocou testov „smoke“ zabezpečuje, aby všetky funkcie softvéru fungovali podľa očakávania a aby základná integrácia bola funkčná.
Tento typ testovania sa zvyčajne vykonáva pri implementácii jednotlivých modulov alebo pri integrácii viacerých modulov do jedného softvérového zostavenia.
Manuálne vs. automatizované dymové testy
Keď softvérové tímy prvýkrát začnú vykonávať dymové testy, musia sa rozhodnúť, či budú vykonávať manuálne alebo automatizované dymové testy.
Automatizované dymové testy síce zvyčajne ponúkajú rýchlejšie a nákladovo efektívnejšie výsledky, ale ich vytvorenie a implementácia môže trvať dlhšie. Mnohé tímy začínajú vytváraním manuálnych smoke testov a až potom uvažujú o automatizácii.
1. Manuálne testovanie dymu
Manuálne smoke testy sa dajú pomerne ľahko navrhnúť a zvyčajne ich môžu vykonávať aj netechnickí odborníci mimo tímov QA alebo vývoja. To znamená, že v menších spoločnostiach, ktoré ešte nemusia mať špecializovaného vedúceho QA, sa často uprednostňujú manuálne dymové testy.
Pri manuálnom testovaní je dôležité otestovať niekoľko prípadov použitia, ktoré pokrývajú dostatočný počet základných funkcií softvéru a zároveň ich nie je toľko, aby testovanie trvalo príliš dlho. Za ideálny počet prípadov použitia sa zvyčajne považuje 20 až 50.
Výhody manuálneho vykonávania dymových skúšok
Vykonávanie manuálnych dymových testov v rámci zabezpečenia kvality má v porovnaní s automatizovanými dymovými testami viacero výhod. Manuálne smoke testy často ponúkajú podrobnejší pohľad na výkon a funkčnosť softvéru v porovnaní s automatizovanými testami.
Neinžinieri môžu vykonávať manuálne testovanie
Zatiaľ čo automatické testovanie si zvyčajne vyžaduje odborné znalosti softvérových inžinierov a vývojárov, manuálne testovanie môžu vykonávať členovia tímu s menšími odbornými znalosťami.
To je zvyčajne výhodné v menších tímoch, kde už môžu byť zdroje vyčerpané a čas odborných pracovníkov je mimoriadne cenný.
Pre každú úlohu môžete vytvoriť vlastný dymový test
Ak sa chcete uistiť, že váš dymový test presne pokrýva najdôležitejšie funkcie akejkoľvek softvérovej aplikácie a zameriava sa na tie funkcie, ktoré sú pre každé zostavenie dôležitejšie, vytvorenie manuálneho dymového testu umožňuje testerom prispôsobiť test každému projektu.
Takéto manuálne smoke testy môžu v porovnaní s niektorými automatizovanými testami ponúknuť užitočnejšie výsledky, ale ich nastavenie a spustenie je časovo veľmi náročné.
Manuálne testy odhaľujú kvalitatívne údaje
Keď spustíte automatizovaný test, môžete očakávať len kvantitatívne údaje o tom, ktoré aspekty testu prešli a ktoré nie.
Keď členovia tímu vykonávajú manuálne testovanie, môžu využiť svoj prehľad, intuíciu a úsudok, aby posúdili nielen to, či zostavenie prešlo alebo zlyhalo, ale aj ako a/alebo prečo.
Výzvy manuálneho testovania dymu
Manuálne testovanie dymu je spojené s mnohými problémami, ktoré sú dôvodom, prečo sa mnohé spoločnosti rozhodnú používať automatizované testovanie dymu, ak je to možné.
Manuálne testovanie je dôkladné, ale aj časovo veľmi náročné.
Manuálne dymové testy zaberú čas
Manuálne smoke testy trvajú podstatne dlhšie ako automatizované testy a vyžadujú si oveľa viac pozornosti vášho tímu.
Zatiaľ čo automatizované testy môžu jednoducho bežať na pozadí samé, váš tím si bude musieť vyhradiť čas na vykonanie manuálneho smoke testu.
Manuálne testy sa nemôžu vykonávať príliš často
Vzhľadom na množstvo času a zdrojov, ktoré si manuálne dymové testy vyžadujú, sa nemôžu vykonávať tak pravidelne ako automatizované dymové testy.
Pri manuálnom testovaní musia testeri softvéru vyčleniť hodiny až pol dňa v závislosti od zložitosti testu.
Tým sa odstráni možnosť každodenného testovania dymu, ktoré sa všeobecne považuje za najlepší postup v odvetví.
Vždy je priestor na chyby
Keďže manuálne testovanie vykonávajú ľudia, vždy existuje možnosť, že počas manuálneho testovania môže dôjsť k chybám.
Z tohto dôvodu nie je manuálne dymové testovanie zvyčajne také komplexné ako automatizované testovanie, najmä pokiaľ ide o zachytenie jemných chýb, ktoré je ľahšie prehliadnuť, alebo pri vykonávaní extrémne opakovaného testovania, ktoré by mohlo spôsobiť, že testeri by sa počas testovania prestali sústrediť.
Kedy použiť manuálne testovanie dymu
Manuálne smoke testovanie sa najčastejšie používa v menších tímoch, ktoré nemusia mať dostatok zdrojov na to, aby vyčlenili inžinierov na automatizované smoke testovanie, alebo v prípadoch, keď je potrebný dodatočný ľudský pohľad a úsudok.
Z tohto dôvodu sa manuálne dymové testovanie často realizuje v dymových testoch na integračnej úrovni.
2. Automatizované testovanie dymu
Automatizované testovanie môže byť implementované softvérovými inžiniermi s kódovacími zručnosťami potrebnými na vytvorenie a spustenie série relevantných prípadov použitia pre každé zostavenie softvéru.
Automatizované testovanie je oveľa rýchlejšie ako manuálne testovanie, zvyčajne netrvá dlhšie ako 30 až 60 minút a môže prebiehať na pozadí, zatiaľ čo všetci členovia vývojového tímu a tímu QA pokračujú vo svojich každodenných úlohách.
Z tohto dôvodu sa automatizované testovanie dymu stalo v softvérovom priemysle bežnou záležitosťou, pretože čoraz viac firiem sa snaží zlepšiť efektivitu pracoviska.
Výhody automatizácie testovania dymu
Automatizácia smoke testov ponúka mnoho výhod pre tie spoločnosti, ktoré majú čas a zdroje na jej implementáciu. Je rýchly a efektívny a vďaka tomu, že automatizované testy nezaťažujú tímy a zdroje, je možné ich pravidelne vykonávať aj v malých spoločnostiach.
Automatizované testovanie je rýchle
Automatizované testovanie je oveľa rýchlejšie ako manuálne testovanie, pričom väčšina automatizovaných testov netrvá dlhšie ako 30 až 60 minút.
Manuálne testy môžu v porovnaní s tým trvať hodiny.
Automatizované smoke testy si vyžadujú minimálne zdroje a po ich implementácii je ich spustenie veľmi jednoduché.
Automatizácia umožňuje každodenné dymové testy
Podľa súčasných osvedčených postupov v odvetví sú ideálne denné dymové testy, najmä pri práci na softvéri, ktorý sa neustále mení.
Manuálne dymové testy sú príliš časovo náročné na každodenné vykonávanie, ale automatizované dymové testy sa dajú ľahko vykonať na začiatku každého pracovného dňa.
Automatizácia eliminuje ľudské chyby
Automatizované testy sa spúšťajú zo skriptov, ktoré sú vopred pripravené a vytvorené podľa prísnych noriem. To znamená, že pravdepodobnosť, že automatizovaný test prehliadne závažnú chybu alebo dôležitý problém, je veľmi nízka.
Automatizácia môže napodobniť záťažové a výkonnostné testy
Testy zaťaženia a výkonu hodnotia, ako dobre aplikácia funguje, keď ju používa veľa používateľov naraz. Automatizované testovanie môže napodobniť dodatočné zaťaženie viacerými používateľmi spôsobom, ktorý manuálne testovanie nedokáže, a poskytnúť ďalšiu vrstvu údajov o výkonnosti softvéru za určitých podmienok.
Výzvy automatizácie testovania dymu
Automatizácia testovania dymu nie je bez problémov. Implementácia automatického testovania môže byť časovo a zdrojovo náročnejšia, najmä v menších tímoch s menším počtom inžinierov.
Technické požiadavky
Automatizované dymové testy vyžadujú viac technických znalostí a zručností v oblasti kódovania ako manuálne dymové testy. Softvéroví inžinieri musia mať čas a znalosti na to, aby vedeli vytvárať automatizované testy ešte pred ich implementáciou, a nie všetky tímy majú na to nevyhnutne k dispozícii zdroje.
Nedostatok ľudského vhľadu
Automatizované testovanie poskytuje celkový pohľad na funkčnosť softvérovej aplikácie a pri vykonávaní automatizovaného testu dymu získajú testeri softvéru prehľad o základných funkciách softvéru, čo je konečným cieľom testu dymu.
Automatizované testy však neposkytujú žiadny pohľad na subjektívnejšie aspekty výkonnosti softvéru, ako je napríklad použiteľnosť a prístupnosť.
Kedy implementovať automatizáciu testovania dymu
Automatizácia sa často používa pri testovaní smoke, pretože účelom testovania smoke je jednoducho skontrolovať základnú funkčnosť, čo je niečo, v čom je automatizované testovanie relatívne dobré.
Tímy s dostatočnými technickými zručnosťami na zavedenie automatizovaného dymového testovania majú s najväčšou pravdepodobnosťou čas a zdroje na investovanie do tohto procesu a väčšie a etablovanejšie spoločnosti budú pravdepodobne pociťovať väčší tlak na dodržiavanie štandardov osvedčených postupov denného dymového testovania.
Automatizácia testovania dymu vs. manuálne testovanie dymu
Neexistuje správny alebo nesprávny spôsob testovania dymu a to, čo funguje dobre pre jeden tím, nemusí fungovať dobre pre iný.
Pred vykonaním testovania by mali softvérové tímy zvážiť svoje ciele, zdroje a dlhodobé plány projektu. Proces manuálneho testovania softvéru môže byť pre mladých odborníkov, ktorí začínajú pracovať v oblasti zabezpečenia kvality, vzdelávací, ale pre zabehnuté tímy je zriedkakedy výhodnejšie zvoliť si manuálne testovanie ako automatizované testovanie.
Hybridné dymové skúšky
Treťou možnosťou pre tímy, ktoré sa nevedia rozhodnúť medzi manuálnym a automatizovaným testovaním a testovaním správnosti, je zvoliť hybridné testovanie.
Hybridné testovanie kombinuje aspekty manuálneho aj automatizovaného testovania s cieľom zvýšiť celkový výkon a účinnosť testov. Pri použití hybridnej metódy skúšky dymu môže byť väčšina skúšky automatizovaná, ale niektoré aspekty sa vykonávajú manuálne. To umožňuje tímom zamerať viac pozornosti na tie aspekty zostavenia, ktoré to potrebujú, a zároveň udržať celkové časové požiadavky na testovanie dymu na nízkej úrovni.
Typy testovania dymu
Dymové skúšky možno vo všeobecnosti rozdeliť do dvoch kategórií, na formálne a neformálne dymové skúšky. To, či je dymové testovanie formálne alebo neformálne, závisí od toho, či ho formálne iniciuje vedúci QA, alebo sa jednoducho vykonáva ako súčasť vývoja.
1. Formálne dymové skúšky
Pri formálnom testovaní softvéru vývojári softvéru odovzdajú zostavený softvér inžinierovi alebo vedúcemu QA na formálne testovanie. Vedúci QA pridelí testerom úlohu testovania dymu a požiada ich o vykonanie testovania dymu buď pomocou nástrojov na testovanie dymu, ako je automatizácia, alebo manuálne.
Pri vykonávaní formálnych dymových testov zostavujú testeri QA výsledky testu do formálnej správy, ktorú môže analyzovať vedúci QA.
Formálne testy „smoke“ sa vykonávajú v dôležitých bodoch procesu tvorby softvéru, napríklad pred funkčným testovaním nových funkcií.
2. Neformálne dymové skúšky
Neformálne dymové testy sú dymové testy vykonané na zostave softvéru počas vývoja alebo procesu QA, ktoré nie sú formálne nahlásené alebo vyžadované vedúcim QA.
Príkladom neformálneho testovania sú denné dymové testy, ktoré mnohé softvérové tímy vykonávajú ako súčasť protokolu.
Neformálne testy sa môžu vykonávať ad-hoc, kedykoľvek inžinieri QA usúdia, že by mohli byť užitočné.
Čo potrebujete na začatie testovania dymu
Predtým, ako začnete s dymovým testovaním v rámci testovania softvéru, je dôležité zhromaždiť všetky veci, ktoré budete potrebovať, vrátane dátových súborov a zručností vo vašej organizácii.
To, čo budete potrebovať na vykonanie dymového testu, závisí od toho, či plánujete vykonať automatizované alebo manuálne dymové testovanie a aké testovacie nástroje používate na uľahčenie tohto procesu.
1. Zoznam testovacích prípadov
Pred začatím dymového testu budete potrebovať komplexný zoznam všetkých testovacích prípadov, ktoré chcete v dymovom teste vyhodnotiť.
Testovacie prípady sú jednotlivé súbory akcií, ktoré chcete otestovať, aby ste posúdili, či výsledok vykonania týchto akcií zodpovedá výsledkom, ktoré očakávate.
Veľmi jednoduchým testovacím prípadom môže byť napríklad to, že softvér po otvorení aplikácie načíta hlavný panel.
2. Testovacie súbory
Pred spustením dymového testu je potrebné zhromaždiť všetky testovacie súbory, na ktorých sa bude dymový test vykonávať. Možno budete môcť použiť príkazový riadok softvéru na testovanie dymu, ktorý používate, na zhromaždenie všetkých súborov na jednom mieste.
Spôsob zhromažďovania súborov a miesto ich uloženia závisí od spôsobu fungovania vašej organizácie.
3. Nástroje na testovanie dymu
Základný dymový test môžete vykonať bez použitia konkrétnych nástrojov, ale použitie nástrojov na dymové testovanie vám môže pomôcť zlepšiť presnosť výsledkov a urýchliť proces dymového testovania.
Najskôr preskúmajte online nástroje na testovanie dymu a vyberte si softvér, ktorý automatizuje alebo optimalizuje váš dymový test vzhľadom na vaše konkrétne potreby a rozpočet.
Proces testovania dymu
Najlepší spôsob vykonania dymového testu sa v jednotlivých organizáciách líši a ak ste v oblasti dymového testovania nováčikom, možno budete chcieť experimentovať s rôznymi prístupmi, aby ste zistili, čo vášmu tímu vyhovuje najlepšie.
Nižšie je uvedený príklad, ako vykonať základný test na posúdenie základných funkcií softvéru.
Krok 1: Výber testovacích prípadov
Prvým krokom pri vykonávaní smoke testu je výber testovacích prípadov, na ktorých sa bude smoke test vykonávať.
Pri navrhovaní testovania by mali softvéroví inžinieri a inžinieri zabezpečenia kvality zvážiť, ktoré funkcie softvéru sú pre softvér najdôležitejšie a ako tieto funkcie najlepšie otestovať. Nestrácajte čas testovaním funkcií, ktoré nie sú pre funkciu softvéru dôležité.
Krok 2: Zostavte dymové testy
Po určení testovacích prípadov, ktoré budete používať, môžete napísať testovacie skripty na ich testovanie. Na zvýšenie flexibility pri vykonávaní testov použite jeden skript.
Ak sa rozhodnete automatizovať testovanie dymu, nebudete musieť vždy písať manuálne testovacie skripty, keď budete chcieť spustiť test dymu. Na automatizáciu takýchto skriptov môžete použiť balíky na automatizáciu testovania softvéru.
Krok 3: Vykonajte dymové testy
Po vytvorení testovacích skriptov môžete ich spustiť na zostave a hľadať chyby a iné závažné chyby. Nemalo by to trvať dlhšie ako 30 až 60 minút a po skončení testov môžete vyhodnotiť výsledky a určiť ďalšie kroky.
Krok 4: Oprava všetkých chýb
Účelom testovania vo fáze vývoja softvéru je identifikovať všetky závažné chyby alebo prekážky pred začatím úplného testovania QA.
Ak sa pri testoch „smoke“ odhalia závažné problémy, ktoré narušujú základné funkcie zostaveného softvéru, je dôležité, aby ste softvér a jeho analýzu poslali späť vývojovému tímu na odstránenie chýb ešte pred pokračovaním v testovaní kvality.
Osvedčené postupy na testovanie dymu
Smoke testovanie je spoľahlivý spôsob identifikácie hlavných chýb v zostavách softvéru vo všetkých fázach vývoja. Dodržiavanie osvedčených postupov v odvetví je najlepší spôsob, ako zabezpečiť, aby boli vaše dymové testy efektívne, presné a produktívne.
1. Často vykonávajte dymové testy
Nie vždy je možné vykonávať smoke testy každý deň, najmä ak používate manuálne testy namiesto automatizovaných smoke testov.
Vykonávajte smoke testy tak často, ako len môžete, a vždy, keď implementujete zmeny vo svojom softvéri. Keď to dokážete, za osvedčený postup sa považuje každodenné vykonávanie dymových testov.
2. Nikdy nevynechávajte fázy testovania
Ak sa ponáhľate, môže byť lákavé preskočiť niektoré fázy testovania, aby ste rýchlejšie pokročili v procese vývoja, ale pre udržanie vývoja na správnej ceste sú nevyhnutné dymové aj regresné testy.
Pred prechodom do ďalšej fázy vždy otestujte svoje zostavy pomocou testov rozptylu a správnosti.
3. Testujte každú zmenu
Neexistuje jediná aplikácia na testovanie dymu. Na testovanie každej zmeny, ktorú vykonáte v zostave softvéru, a na testovanie softvéru medzi rôznymi fázami vývoja môžete a mali by ste používať smoke testy.
Smoke testy by mali predchádzať integračným testom, testom výkonnosti a funkčným testom.
4. Sledovanie výsledkov testov
Štandardným postupom je testovanie výsledkov formálnej dymovej skúšky, ale aj pri vykonávaní neformálnych dymových skúšok by si mali technici viesť určitý záznam o výsledkoch.
To uľahčuje odovzdávanie výsledkov vývojárom a sledovanie, ktoré funkcie v teste zlyhali.
5. Vykonajte dymový test dvakrát
Spustenie dymového testu dvakrát sa môže zdať ako prehnané, ale ak chcete počas testu naozaj zachytiť každú chybu, je najlepšie spustiť ho dvakrát.
Tým sa zabezpečí, že váš dymový test bude mať všetky možnosti na zachytenie hlavných chýb a problémov, ktoré by mohli spôsobiť ďalšie problémy, ak by neboli okamžite odstránené.
6. Výber správneho typu dymovej skúšky
To, či by ste mali použiť manuálne alebo automatizované testovanie, závisí od veľkosti a potrieb vášho tímu. Uistite sa, že ste si vybrali najlepší typ testovania pre svoj projekt, aby ste optimalizovali efektivitu bez toho, aby ste ohrozili presnosť výsledkov.
Typy výstupov z dymovej skúšky
Pri vykonávaní dymového testu môžete očakávať, že výsledkom dymového testu bude jeden z dvoch rôznych výsledkov pre každý hodnotený testovací prípad: vyhovel alebo nevyhovel.
1. Prejsť
Jedným z možných výsledkov každého spusteného testovacieho prípadu je, že test prebehne úspešne. To znamená, že skutočný výsledok testu sa zhoduje s očakávaným výsledkom testu.
Ak napríklad spustíte test toho, čo sa stane, keď načítate aplikáciu a tá sa načíta na obrazovku, ktorá sa má otvoriť pri načítaní, váš skript by to mal zobraziť ako úspešný výsledok.
2. Zlyhanie
Ak váš smoke test v konkrétnom testovacom prípade zlyhá, zvyčajne to znamená, že skutočný výsledok testu sa nezhoduje s očakávaným výsledkom testu.
Ak napríklad testujete nákupnú aplikáciu a jeden zo spustených testovacích prípadov testuje funkčnosť pridávania položiek do nákupného košíka, test je neúspešný, ak sa položky pridané do košíka nezobrazia v košíku tak, ako sa očakáva.
Príklady testovacích prípadov pre testovanie dymu
Keď sa snažíte vymyslieť, ktoré testovacie prípady zahrnúť do svojho smoke testu, napíšte si zoznam základných funkcií svojho softvéru a zvážte, ktoré z nich sú nevyhnutné na spustenie a používanie softvéru.
Niektoré príklady testovacích prípadov pre smoke testovanie vám môžu pomôcť určiť, ktoré testovacie prípady použiť vo vašom vlastnom smoke teste.
1. Overenie prihlasovacích údajov
Ak vaša aplikácia vyžaduje, aby sa používatelia prihlasovali, možno budete chcieť vytvoriť testovací prípad, ktorý skontroluje, či proces overovania prihlasovacích údajov funguje tak, ako má.
Na tento účel vytvorte skript, ktorý automatizuje prihlásenie, spustenie testu a kontrolu výsledkov. Ak sa softvér prihlási podľa očakávania, tento prípad testovania vyhovuje.
2. Vytvorenie nového dokumentu
Mohli by ste vytvoriť testovací prípad na posúdenie toho, či váš softvér umožňuje používateľom správne vytvoriť nový dokument. Vytvorte skript, ktorý automatizuje vytváranie, pomenovanie a ukladanie dokumentov vo vašom softvéri, a spustite ho.
Akékoľvek závažné problémy, ktoré vzniknú a zabránia tomuto procesu, by znamenali, že tento dymový test zlyhal.
3. Odhlásenie
Ak má vaša aplikácia funkciu prihlásenia, mala by mať aj funkciu odhlásenia. Spustite skript na otestovanie toho, čo sa stane, keď používatelia kliknú na tlačidlo „odhlásenie“.
Ak sa používateľ po kliknutí na toto tlačidlo nemôže úspešne odhlásiť, dymový test zlyhá.
Typy chýb a nedostatkov zistených pri testovaní dymu
Smoke testy vám pomôžu identifikovať chyby a nedostatky, ktoré narúšajú základnú funkčnosť vášho softvéru. V závislosti od toho, kedy spustíte smoke test a čo chcete skontrolovať, môžete pomocou smoke testu nájsť rôzne typy chýb a nedostatkov.
1. Funkčné chyby
Funkčné chyby sú chyby, ktoré vznikajú, keď sa váš softvér nechová tak, ako by ste očakávali, alebo keď nefunguje správne.
Väčšina testovacích prípadov, ktoré budete kontrolovať pomocou smoke testov, sú funkčné testy, a preto je najpravdepodobnejšie, že sa pomocou takýchto smoke testov identifikujú funkčné chyby.
2. Logické chyby
Logické chyby predstavujú chyby v logike kódu a môžu tiež spôsobiť nesprávne správanie softvéru. Logické chyby môžu spôsobiť, že akcie budú produkovať nesprávne výstupy alebo dokonca spôsobia zlyhanie softvéru.
Bežnou logickou chybou je nekonečná slučka, ktorá spôsobuje, že softvér opakuje stále tie isté činnosti, až kým sa nezrúti.
3. Chyby integrácie
Ak vykonávate test na úrovni integrácie, môžete počas testu nájsť chyby integrácie. K tomu dochádza vtedy, keď sa dva samostatné súbory kódu navzájom bezchybne neintegrujú. Môžu byť spôsobené širokou škálou problémov s kompatibilitou v kóde a ich oprava si môže vyžadovať zložité riešenia.
Bežné metriky testovania dymu
Pri vykonávaní dymového testu môžu tímy QA používať metriky na vyhodnotenie výsledkov dymového testu a posúdenie, či test prebehol úspešne alebo nie.
Okrem toho, či je softvér schopný správne vykonávať svoje základné funkcie, môžu metriky dymových testov okrem iného hodnotiť rýchlosť a čas načítania softvéru.
1. Rýchlosť softvéru
Na kontrolu toho, či rýchlosť softvéru a čas načítania spĺňajú určité kritériá stanovené v rámci jednotlivých testovacích prípadov, možno použiť tzv. smoke testy.
Ak napríklad testujete, ako sa softvér správa pri načítaní aplikácie, a aplikácia sa načíta podľa očakávania, ale jej spustenie trvá dve minúty, môžete to označiť ako chybu, pretože nespĺňa očakávaný čas načítania.
2. Spoľahlivosť
Dvojnásobné vykonanie dymového testu vám tiež pomôže otestovať spoľahlivosť vášho softvéru. Ak niektoré testovacie prípady raz prejdú, ale raz zlyhajú, znamená to, že nejaká chyba v kóde spôsobuje chyby, ktoré sa nemusia vyskytnúť pri každom použití softvéru, ale napriek tomu môžu používateľom spôsobiť vážne problémy.
Najlepšie bezplatné nástroje na testovanie dymu
Nástroje na testovanie dymu vám pomôžu vykonávať testy dymu efektívnejšie a rýchlejšie, aby ste z testov dymu vyťažili čo najviac.
Nižšie sú uvedené niektoré z najlepších nástrojov na testovanie dymu, ktoré sú dnes k dispozícii bezplatne.
5 najlepších bezplatných nástrojov na testovanie dymu
1. ZAPTEST FREE edition
ZAPTEST je bezplatný nástroj, ktorý používateľom umožňuje automatizovať testovanie softvéru a RPA bez toho, aby zaplatili čo i len cent.
Pomocou edície ZAPTEST FREE môžete vykonávať jednoduché dymové testy na viacerých platformách vrátane mobilných, webových, API a LOAD platforiem.
Ak si chcete vyskúšať automatizované testovanie, bezplatná edícia ZAPTEST vám pomôže zistiť výhody automatizácie na vlastnej koži. Je tiež jednoduchý na používanie, aj keď nemáte technické vzdelanie, pretože má rozhranie bez kódu a využíva najmodernejšiu technológiu počítačového videnia.
Najdôležitejšie je, že ZAPTEST FREE je dobre…. navždy zadarmo! Naopak, mnohé nástroje na testovanie dymu a všeobecnú automatizáciu softvéru majú počiatočné testovacie obdobie, po ktorom ste nútení platiť predplatné.
2. Selén
Selenium je bezplatný nástroj s otvoreným zdrojovým kódom, ktorý môžete používať na spúšťanie rôznych druhov testov softvéru vrátane testovania na prítomnosť a regresného testovania. Funguje s mnohými rôznymi programovacími jazykmi a je obzvlášť vhodný na testovanie webových aplikácií.
3. Appium
Ak chcete vykonávať testovanie stavu a funkčnosti mobilných aplikácií, Appium je lepšia voľba ako Selenium. Appium sa ľahko inštaluje a používa a možno ho použiť na vykonávanie jednoduchých dymových testov aplikácií vyvinutých pre iOS aj Android.
4. Testlink
Testlink je bezplatný webový nástroj na správu, ktorý umožňuje používateľom navrhovať plány testov a testovacie prípady v rámci jedného štruktúrovaného rámca. Testlink vám pomôže naplánovať dymové testy, ako aj načrtnúť vaše očakávania a metriky pred začatím dymového testovania.
5. QA Wolf
QA Wolf je bezplatný nástroj na komplexné testovanie, ktorý používateľom umožňuje vytvoriť automatizovaný test QA smoke spolu s ostatnými funkčnými testami. QA Wolf môžu používať aj ľudia bez technických alebo kódovacích zručností, čo znamená, že je skvelým úvodom do automatizácie testovania pre väčšinu tímov QA.
Najlepšie nástroje na testovanie dymu v podniku
Ak ste ochotní investovať do nástrojov na testovanie dymu trochu peňazí, môžete si kúpiť podnikové nástroje, ktoré majú rozsiahlejšie možnosti testovania dymu a dôkladnejšie výsledky.
Nižšie uvádzame zoznam piatich najlepších nástrojov na automatizáciu testovania podnikového prostredia na trhu.
5 najlepších nástrojov na automatizáciu testovania podnikového dymu
1. ZAPTEST ENTERPRISE edition
ZAPTEST ENTERPRISE edition je balík na testovanie softvéru a RPA, ktorý dokáže plne automatizovať akýkoľvek typ testu vrátane testovania dymu.
Bezplatná verzia je vhodná pre menšie spoločnosti, ktoré chcú vedieť, čo ZAPTEST dokáže, ale ak hľadáte platené riešenie, ktoré sa ľahko používa a je vhodné na testovanie akéhokoľvek softvéru alebo aplikácie, na akejkoľvek platforme, prehliadači alebo zariadení, A s implementáciou 1SCRIPT na všetkých týchto platformách, potom je ZAPTEST ENTERPRISE skvelým začiatkom.
2. SoapUI
SoapUI je nástroj na podnikové testovanie, ktorý uľahčuje správu a vykonávanie komplexných testov QA softvéru. Je to pomerne jednoduchý nástroj na inštaláciu, ale má svoje obmedzenia, čo sa odráža v ich cene.
3. Testovanie
Testim je platený nástroj na smoke testovanie, ktorý využíva umelú inteligenciu na vytváranie testov bez kódu, ktoré hodnotia funkčnosť vášho softvéru. Na refaktorovanie, prispôsobenie a ladenie testov možno použiť rozhranie API jazyka Javascript od spoločnosti Testim.
4. Robot T-Plan
T-Plan Robot je podnikový testovací nástroj, ktorý môžu inžinieri QA používať na automatizáciu skriptovaných používateľských akcií a automatizáciu robotických procesov (RPA) v systémoch Windows, Mac, Linux a Mobile. Pomocou nástroja T-Plan Robot môžete automatizovať dymové testy rôznych aplikácií a vytvárať automatizované skripty, ktoré sa môžu spúšťať v kľúčových bodoch počas vývoja.
5. Kontrola kvality dažďových pralesov
Rainforest QA je nástroj na testovanie dymu QA, ktorý používateľom umožňuje spravovať a vykonávať manuálne aj automatizované testovanie dymu z jedného ovládacieho panela. Vďaka tomu je ideálny pre organizácie, ktoré chcú vyskúšať hybridný prístup, a je vhodný pre veľké množstvo platforiem vrátane cloudových aplikácií, systémov Windows a Mac.
Kedy by ste mali používať podnikové a kedy bezplatné nástroje na testovanie dymu?
Podnikové a bezplatné nástroje na testovanie dymu môžu spĺňať podobné potreby mierne odlišným spôsobom. Bezplatné nástroje zvyčajne slúžia ako vynikajúca vstupná brána pre organizácie, ktoré sa dobre vyrovnali s manuálnym smoke testovaním, ale chcú podrobnejšie preskúmať automatické smoke testovanie.
Môžu byť tiež vhodnejšie pre veľmi malé začínajúce podniky, kde zatiaľ nie sú peniaze na platené nástroje.
Podnikové testovacie nástroje sa zvyčajne stávajú životaschopnejšou možnosťou, keď sa spoločnosti rozširujú. V porovnaní s bezplatnými nástrojmi ponúkajú viacero výhod, zvyčajne väčšiu flexibilitu, lepšiu podporu a používateľsky prívetivejšie rozhrania, ktoré uľahčujú vykonávanie automatizovaného testovania dymu aj netechnickým profesionálom.
Kontrolný zoznam testovania dymu
Pred začatím dymového testu môže tím QA softvéru použiť tento kontrolný zoznam, aby sa uistil, že pokryje všetky kroky procesu dymového testu.
● Identifikujte nástroje na testovanie dymu, ktoré budete používať
● Vyberte si, či chcete vytvoriť manuálny alebo automatizovaný test
● Vyberte testovacie prípady, ktoré chcete testovať
● Vytvorenie testovacích skriptov pre každý prípad
● Identifikujte požiadavky na „vyhovenie“ pre každý testovací prípad
● Spustite dymové testy
● Analyzujte výsledky
● Spätná väzba pre vývoj a kontrolu kvality
Záver
Smoke testovanie je základným krokom pri vývoji softvéru a zabezpečovaní kvality. Zabezpečuje, že produkt je funkčný ešte pred ďalším testovaním, čím sa predchádza riziku, že tímy QA budú plytvať časom a zdrojmi na intenzívne testovanie funkčnosti zostavení, ktoré ešte nie sú stabilné.
Smoke testovanie je relatívne rýchly a jednoduchý proces, ktorý by mali softvérové tímy vykonávať čo najčastejšie.
Keďže sa podniky snažia dosiahnuť optimálnu efektivitu pomocou pokročilých nástrojov, ktoré podporujú hyperautomatizáciu, RPA a ďalšie súvisiace technológie, automatizované dymové testovanie sa stáva čoraz bežnejším v organizáciách všetkých veľkostí.
Manuálne aj automatizované testovanie má stále svoje miesto v súčasných prostrediach QA, ale keďže automatizované testovanie sa stáva bežnejším, niet pochýb, že sa stane normou.
Často kladené otázky a zdroje
Aké sú najlepšie kurzy o automatizácii testovania dymu?
Ak sa chcete dozvedieť viac o automatizácii testovania dymu, môžete využiť napríklad tieto online kurzy:
● Kurzy testovania dymu Coursera
● Kurzy testovania dymu Udemy
● Kurzy testovania dymu Skillshare
Jedným z najlepších kurzov pre začiatočníkov je Certified Tester ISTQB Foundation Level (CTFL), ktorý je k dispozícii na Udemy.
Každý z týchto online zdrojov ponúka kurzy testovania dymu pre študentov s rôznymi schopnosťami a na týchto stránkach je možné absolvovať bezplatné aj platené kurzy.
Ak chcete získať certifikát, vyhľadajte kurzy akreditované organizáciou CAST.
Aké sú najlepšie knihy o testovaní dymu?
Ak sa chcete dozvedieť viac o smoke testovaní, môžete si prečítať knihy o testovaní softvéru a smoke testovaní, aby ste lepšie pochopili prístupy a výhody smoke testovania. Medzi najlepšie knihy o testovaní dymu patria:
● Umenie testovania softvéru, autori Glenford J. Myers, Tom Badgett a Corey Sandler
● Testovanie softvéru, autor: Ron Patton
● Automatizácia testovania softvéru, autori Mark Fewster a Dorothy Graham
Existuje však veľa fantastických kníh o testovaní softvéru, ktoré vám pomôžu lepšie pochopiť, ako, čo a prečo sa testuje.
Vyberte si knihu, ktorá vás osloví a podrobnejšie rozoberie témy, ktoré vás najviac zaujímajú.
Akých je 5 najdôležitejších otázok na pohovore o testovaní dymu?
Ak uvažujete o pohovore na pozíciu, ktorá by mohla zahŕňať dymové testy, pripravte sa na pohovor tak, že si pripravíte odpovede na bežné otázky, ako napríklad:
● Kedy je správny čas na vykonanie dymovej skúšky?
● Ako by ste sa rozhodli, ktoré testovacie prípady použiť v teste dymu?
● Ako sa dymové testovanie líši od iných typov testovania, ako je testovanie správnosti?
● Aké znalosti kódovania sú potrebné na vykonávanie dymových testov?
● Čo by ste urobili, keby dymová skúška zlyhala?
Aké sú najlepšie návody na testovanie dymu na YouTube?
Ak sa radi učíte vizuálne, môžete použiť tieto videá na YouTube a dozvedieť sa viac o testovaní dymu:
● Učebnica testovania dymu Edureka
● Čo je testovanie dymu?
● Testovanie dymu vs. testovanie správnosti
Ako udržiavať dymové skúšky?
Údržba smoke testov spočíva v zabezpečení toho, aby vytvorené smoke testy zostali zdravé a relevantné aj v priebehu projektu zostavovania softvéru.
Denne vykonávajte smoke testy a vytvárajte nové testovacie prípady podľa potreby.
Prínos svojich smoke testov môžete maximalizovať aj úzkou spoluprácou s tými vývojármi, ktorých príspevky nedokážu zlepšiť kvalitu ich kódu.
Čo je to testovanie dymu v softvérovom inžinierstve?
Smoke testing sa v softvérovom inžinierstve nazýva aj testovanie overovania zostavenia a je to jednoduchý a rýchly test, ktorý zabezpečí, že zostavenie softvéru je stabilné.
Smoke testing sa používa na testovanie základných funkcií zostavenia a slúži ako predbežný test pred ďalším testovaním QA.
Testovanie dymu vs. testovanie správnosti
Smoke a sanity testovanie sú typy testovania, ktoré zahŕňajú rýchle testovanie základných funkcií softvéru alebo produktu.
Zatiaľ čo však testovanie „smoke“ testuje, či sa základné funkcie softvéru správajú podľa očakávaní, testovanie správnosti sa zvyčajne používa na kontrolu, či opravy chýb odstránili zistené problémy.
Smoke testing je formálnejší a zdokumentovaný proces, ktorý sa zvyčajne vykonáva pred overením stabilného zostavenia, zatiaľ čo sanity testing je neformálny typ testu, ktorý sa môže vykonávať ako súčasť regresného testovania relatívne stabilných zostáv.
Smoke testovanie vs. regresné testovanie
Smoke aj regresné testovanie sú typy testovania, ktoré overujú, či softvér funguje správne aj po vykonaní nových zmien.
Testovanie v režime smoke je však relatívne rýchly a málo hĺbkový typ testovania, ktorý jednoducho kontroluje základné funkcie a zabezpečuje stabilitu softvéru.
Regresné testovanie je test na hlbšej úrovni, ktorý trvá oveľa dlhšie a podrobnejšie hodnotí zostavenie.
Smoke testing vs. sanity testing vs. regresné testovanie
Pri porovnávaní testovania dymu a správnosti s regresným testovaním je dôležité pochopiť, že všetky tri typy testov sú potrebné pre dobrý vývoj softvéru a zabezpečenie kvality.
Smoke testing a sanity testing ponúkajú rýchly spôsob kontroly, či softvér funguje normálne, zatiaľ čo regresné testovanie ponúka hlbší pohľad do fungovania produktu.
Tímy QA najprv otestujú softvér, a ak softvér prejde touto kontrolou, môže sa uskutočniť testovanie správnosti a neskôr regresné testovanie.
Automatizované testovanie pomocou nástrojov na testovanie dymu je čoraz bežnejšie, ale niektoré typy testovania, ako napríklad regresné testovanie, zatiaľ nie je možné plne automatizovať vzhľadom na komplexnú povahu testu.
Ak hľadáte nástroje na testovanie platforiem Windows, iOS, Android, testov používateľského rozhrania, Linuxu a mnohých ďalších, stiahnite si ZAPTEST ZDARMA!