Testarea de fum este un proces utilizat pentru a testa software-ul pentru a determina dacă versiunea implementată este stabilă sau nu.
Atunci când testați un software, efectuați o serie de teste concepute pentru a evalua fiecare dintre funcționalitățile de bază ale software-ului.
Instrumentele de testare Smoke verifică dacă cele mai importante caracteristici ale software-ului funcționează. Există mai multe abordări diferite pentru testarea fumigenă, iar tehnologia modernă face ca testarea fumigenă automată să fie posibilă pentru majoritatea programelor software.
În acest articol, vom face o incursiune în testele de fum pentru a analiza tipurile, procesele și abordările pe care le folosesc testerii software. De asemenea, vom examina instrumentele moderne de testare a fumului, inclusiv automatizarea testării fumului.
Pe scurt, veți afla tot ceea ce trebuie să știți despre testarea fumului.
Ce este testul de fum în ingineria software?
Testul de fum este procesul de testare a software-ului pentru a se asigura că acesta îndeplinește cerințele de bază privind funcționalitatea și stabilitatea. În esență, este un tip de testare de regresie rapidă și în miniatură care implică testarea celor mai importante caracteristici ale software-ului pentru a se asigura că acestea funcționează la un nivel de bază.
Testarea de fum este un pas important în procesul de asigurare a calității, deoarece indică dacă echipa ar trebui să continue testarea sau să trimită imediat produsul înapoi la dezvoltatori.
În cazul în care produsul nu trece testul de fum, acest lucru indică faptul că versiunea inițială are defecte semnificative care trebuie rezolvate înainte de a se putea continua testarea.
Când trebuie să faceți testarea fumului?
Facem teste de fumare a software-ului ori de câte ori sunt dezvoltate și integrate noi funcționalități într-o versiune existentă și înainte ca noua versiune să fie implementată în cadrul procesului de asigurare a calității. Efectuarea testelor de fum în această etapă previne risipa de bani și de alte resurse pentru testele de asigurare a calității în cazul unui software cu probleme majore de fond.
Pentru a efectua un test de fum QA, echipa de dezvoltare implementează noul software în QA, iar un subset de cazuri de testare este preluat și rulat pe acesta. Echipa de asigurare a calității testează aplicația în raport cu cele mai importante funcționalități ale sale. Dacă testul de fum trece, echipa de asigurare a calității va continua cu testarea funcțională, iar dacă nu reușește, versiunea construită este transmisă înapoi echipei de dezvoltare pentru a fi dezvoltată.
Astfel de teste de fum se efectuează de fiecare dată când noi caracteristici sunt adăugate la un software.
Pot exista și alte momente în care echipele de asigurare a calității vor testa software-ul prin fumare, cum ar fi:
● Înainte de a trimite cod nou într-un depozit
● Înainte de o serie mare de teste, inclusiv teste de regresie și de acceptare
● După desfășurarea unei noi construcții de software
Dacă nu efectuați un test de fum în aceste puncte, ați putea sfârși prin a găsi defecte majore în etapele ulterioare ale testării funcționalității, ceea ce ar putea afecta data de lansare a noii versiuni sau ar putea cauza perturbări mai grave ale programului.
Când nu este nevoie să faceți teste de fum
Este important să efectuați teste de fum în cadrul testelor software ori de câte ori aduceți modificări la codul software sau adăugați noi caracteristici la un build.
Este, de asemenea, un pas pregătitor esențial pentru testarea funcționalității, deoarece împiedică echipele de asigurare a calității să își piardă timpul testând un software care nu este pregătit.
Dacă software-ul dvs. nu îndeplinește aceste criterii, este posibil să nu fie necesar să efectuați teste de fum în acest moment… deși instrumentele automate de testare a fumului facilitează și rentabilizează efectuarea de teste de fum periodice pentru a vă asigura că software-ul funcționează întotdeauna corespunzător.
Cine este implicat în testarea fumului
Testele de fum se efectuează de către inginerii de asigurare a calității sau de către responsabilul de asigurare a calității; este prima etapă a testelor de asigurare a calității și se efectuează într-un mediu de asigurare a calității.
Echipa de asigurare a calității este responsabilă de testarea software-ului și de evaluarea performanțelor acestuia în diverse condiții și solicitări. În timpul testului de fum, inginerii de asigurare a calității vor căuta “obstacolele”, sau erori care opresc dezvoltarea și care trebuie rezolvate înainte ca testarea să poată continua.
Atunci când se compară testele de fum vs. testele de sanitate vs. testele de regresie, este important să se ia în considerare nu doar ceea ce se testează, ci și cine efectuează testele.
Testele de verificare a fumului în testarea software sunt întotdeauna efectuate de profesioniștii din domeniul QA. Acest lucru diferențiază testele de fum de testele de sănătate, care sunt teste efectuate în mediul de dezvoltare și care, de obicei, nu implică echipa de asigurare a calității.
Ciclul de viață al testului de fum
Ciclul de viață al testului de fum ilustrează modul în care are loc testul de fum în timpul dezvoltării produsului și al testării de asigurare a calității. Înțelegerea fiecărei etape a acestui ciclu vă va ajuta să înțelegeți mai bine cum se potrivește testarea cu fum în procesul de testare și care sunt diferențele dintre testarea cu fum, testarea de sănătate și testarea de regresie.
1. Cod
Prima etapă a oricărui software este întotdeauna scrierea și crearea de cod. Codul reprezintă elementul de bază al oricărui software, iar echipa de dezvoltare trebuie să scrie codul înainte de a putea fi testat pentru stabilitate și funcționalitate.
2. Testarea unitară
Testarea unitară este de obicei efectuată de către dezvoltatori, deși uneori inginerii de control al calității pot efectua, de asemenea, unele teste unitare. Testarea unitară asigură faptul că diferitele unități sau elemente de cod funcționează conform așteptărilor înainte ca unitățile individuale să fie integrate împreună într-o singură construcție de software.
Testarea unitară are loc, de obicei, în paralel cu dezvoltarea, deoarece evidențiază erorile și erorile din cod, care pot fi remediate prompt.
3. Testarea integrării
Testarea integrării este procesul de testare a modului în care unitățile individuale funcționează împreună atunci când sunt integrate într-o singură bucată de software.
Chiar dacă fiecare unitate separată funcționează bine, pot apărea adesea probleme atunci când aceste unități sunt integrate una în cealaltă. Testarea integrării este de obicei efectuată de către dezvoltatori, deși diferite abordări ale acestui tip de testare înseamnă că aceasta poate fi efectuată în diferite etape ale procesului de construire a software-ului.
4. Testarea sănătății
Testarea de sănătate este un tip de testare de regresie și este, de obicei, ultimul tip de testare de regresie care are loc. Aceasta are loc în timpul etapei de dezvoltare a construcției, după ce toate erorile evidențiate de testele de regresie au fost reparate.
Testele de verificare a corectitudinii sunt de obicei foarte rapide și au doar rolul de a se asigura că software-ul rulează fără probleme și că orice erori găsite au fost corectate în mod corespunzător.
Uneori se confundă testele de verificare și testele de sănătate, dar este esențial să ne amintim că testele de sănătate au loc în mediul de dezvoltare, în timp ce testele de verificare au loc în mediul QA.
5. Testarea fumului
Testarea de fum este prima etapă a testării de asigurare a calității și primul tip de test care se efectuează într-un mediu de asigurare a calității.
Testele de fum se desfășoară de obicei înainte de testele de sănătate și de testele de regresie, în ciuda faptului că sunt efectuate de obicei de echipele de asigurare a calității. Este un proces de testare rapid și simplu – în prezent, majoritatea echipelor de asigurare a calității folosesc teste de fum automate în testarea software – care determină dacă versiunea construită este stabilă sau nu și dacă trebuie sau nu efectuate teste suplimentare.
Deoarece testul de fum este cel mai rapid și cel mai simplu test atunci când se compară testul de fum cu testul de sănătate și cu testul de regresie, este rezonabil să îl efectuați mai întâi înainte de a trece la alte teste mai complexe.
6. Testarea funcțională
Testarea funcțională este următoarea etapă a ciclului de viață al testării software-ului și se desfășoară în cadrul mediului QA.
Testarea funcțională testează fiecare funcție a unei aplicații software în raport cu cerințele acesteia și se concentrează asupra funcțiilor, a capacității de utilizare, a accesibilității și a condițiilor de eroare.
Testarea funcțională poate începe odată ce testul de fum a fost trecut.
Aplicații de testare a fumului la diferite niveluri
Testarea cu fum se aplică la trei niveluri diferite de testare: testarea cu fum la nivel de acceptare, testarea cu fum la nivel de sistem și testarea cu fum la nivel de integrare.
1. Nivelul de testare de acceptare
Testele de fum la nivelul de acceptare se efectuează de obicei atunci când o versiune de software este eliberată pentru QA. Acest tip de test de fum de asigurare a calității verifică pur și simplu funcționalitatea de bază a produsului și dacă aceasta corespunde funcționalității așteptate.
2. Nivelul de testare a sistemului
Testele de fum la nivel de sistem implică testarea celor mai importante fluxuri de lucru ale sistemului. Aceasta se efectuează după ce sistemul în sine a fost testat și înainte de a se efectua un test de regresie complet al sistemului.
La nivel de sistem, testarea automată a fumului este cea mai comună formă de testare a fumului.
3. Nivelul de testare a integrării
La nivelul testelor de integrare, testele de fum se asigură că toate funcționalitățile end-to-end ale software-ului funcționează conform așteptărilor și că integrarea de bază este funcțională.
Acest tip de test de fum apare, de obicei, atunci când sunt implementate module individuale sau când mai multe module sunt integrate într-o singură versiune de software.
Teste de fum manual vs. teste automate
Atunci când echipele de software încep să efectueze teste de fum, trebuie să decidă dacă vor efectua teste de fum manuale sau automate.
În timp ce testele automate de tip “fumigen” oferă de obicei rezultate mai rapide și mai eficiente din punct de vedere al costurilor, crearea și implementarea acestora poate necesita timp. Multe echipe încep prin a crea teste de fum manual înainte de a lua în considerare automatizarea mai departe.
1. Testarea manuală a fumului
Testele de fum manual sunt destul de ușor de proiectat și pot fi efectuate de obicei de profesioniști non-tehnici din afara echipelor de control al calității sau de dezvoltare. Acest lucru înseamnă că testele de fum manual sunt adesea preferate în cadrul companiilor mai mici, care nu au încă un responsabil dedicat pentru asigurarea calității.
Atunci când se efectuează teste de fum manual, este important să se testeze un număr de cazuri de utilizare care să acopere suficient de multe dintre funcțiile de bază ale software-ului, fără a acoperi atât de multe încât să fie nevoie de prea mult timp pentru efectuarea testului de fum. De obicei, se consideră că numărul ideal de cazuri de utilizare este cuprins între 20 și 50.
Avantajele efectuării manuale a testelor de fum
Există mai multe avantaje în efectuarea manuală a testelor de fum în cadrul controlului calității, în comparație cu testele automate de fum. Testele de fum manual oferă adesea o perspectivă mai detaliată asupra performanței și funcționalității software-ului în comparație cu testele automate.
Cei care nu sunt ingineri pot efectua teste manuale
În timp ce testarea automată a fumului necesită, de obicei, expertiza inginerilor de software și a dezvoltatorilor pentru a fi pusă la punct, testele manuale de fum pot fi efectuate de membrii echipei cu mai puțină experiență de specialitate.
Acest lucru este, de obicei, benefic pentru echipele mai mici, unde resursele pot fi deja limitate, iar timpul personalului specializat este extrem de prețios.
Puteți crea un test de fum personalizat pentru fiecare lucrare
Dacă doriți să vă asigurați că testul de fum acoperă cu exactitate cele mai importante funcții ale oricărei aplicații software și se concentrează asupra acelor funcții care sunt mai importante pentru fiecare construcție, crearea unui test de fum manual le permite testerilor să adapteze testul la fiecare proiect.
Testele de fum manual de acest tip pot oferi rezultate mai utile în comparație cu unele teste automatizate, dar înseamnă că sunt extrem de consumatoare de timp pentru a fi configurate și executate.
Testele manuale dezvăluie date calitative
Atunci când executați un test automat de fum, tot ceea ce vă puteți aștepta să primiți sunt date cantitative despre ce aspecte ale testului au trecut și care au eșuat.
Atunci când membrii echipei efectuează manual teste de verificare a fumului, aceștia își pot folosi intuiția și judecata pentru a evalua nu doar dacă construcția trece sau nu, ci și cum și/sau de ce.
Provocările testării manuale a fumului
Există, de asemenea, multe provocări legate de efectuarea manuală a testelor de fum, iar acestea explică de ce multe companii aleg să utilizeze testele automate de fum atunci când este posibil.
Testarea manuală a fumului este amănunțită, dar consumă și foarte mult timp.
Testele de fum manual necesită timp
Testele de fum manual durează considerabil mai mult decât testele automate și necesită mult mai multă atenție din partea echipei dumneavoastră.
În timp ce testele automate pot rula pur și simplu în fundal, echipa dumneavoastră va trebui să aloce timp dedicat pentru a efectua un test manual de fum.
Testele manuale nu pot fi rulate prea des
Din cauza cantității mari de timp și de resurse pe care o necesită testele de fum manual, acestea nu pot fi efectuate la fel de regulat ca testele automate.
Atunci când efectuează un test de fum manual, testerii de software trebuie să aloce ore, până la o jumătate de zi, în funcție de complexitatea testului.
Acest lucru elimină posibilitatea de a efectua zilnic teste de fum, care sunt considerate pe scară largă ca fiind cele mai bune practici din industrie.
Întotdeauna există loc de eroare
Deoarece testarea manuală este efectuată de oameni, există întotdeauna posibilitatea să se comită erori în timpul testelor de fum manual.
Din acest motiv, testarea manuală nu este, de obicei, la fel de cuprinzătoare ca și testarea automată, în special atunci când este vorba de detectarea unor erori subtile care sunt mai ușor de omis sau atunci când se efectuează teste extrem de repetitive care ar putea face ca testerii să își piardă concentrarea în timpul testării.
Când să utilizați testarea manuală a fumului
Testarea manuală a fumului este cel mai frecvent utilizată în echipele mai mici, care nu dispun de resursele necesare pentru a aloca ingineri pentru testarea automată a fumului sau în cazurile în care se dorește sau este necesară o perspectivă și o judecată umană suplimentară.
Din acest motiv, testarea manuală a fumului este adesea implementată în testele de fum la nivel integrațional.
2. Testarea automatizată a fumului
Testarea automată a testelor de fum poate fi implementată de către inginerii de software cu abilitățile de codare necesare pentru a crea și a rula o serie de cazuri de utilizare relevante pentru fiecare versiune de software.
Testarea automată a fumului este mult mai rapidă decât testarea manuală, de obicei nu durează mai mult de 30 până la 60 de minute, și poate fi efectuată în fundal, în timp ce toți membrii echipei de dezvoltare și de asigurare a calității își continuă sarcinile zilnice.
Din acest motiv, testarea automată a testelor de fum a devenit un lucru obișnuit în industria software, deoarece tot mai multe firme încearcă să îmbunătățească eficiența la locul de muncă.
Beneficiile automatizării testelor de fum
Automatizarea testelor Smoke oferă multe beneficii pentru acele companii care au timpul și resursele necesare pentru a le implementa. Este rapid și eficient și, datorită lipsei de stres pe care testele automate îl exercită asupra echipelor și resurselor, acestea pot fi efectuate în mod regulat chiar și în cadrul companiilor mici.
Testarea automatizată este rapidă
Testarea automată a fumului este mult mai rapidă decât testarea manuală, majoritatea testelor automate fiind finalizate în cel mult 30-60 de minute.
În comparație, testele manuale pot dura ore întregi.
Testele automate de fum necesită resurse minime și, odată implementate, sunt foarte ușor de executat.
Automatizarea face posibile testele zilnice de fum
Cele mai bune practici actuale din industrie dictează că testele zilnice de fum sunt ideale, în special atunci când se lucrează la un software care se află în mod constant într-o stare de schimbare.
Testele de fum manual consumă prea mult timp pentru a fi executate zilnic, dar testele automate sunt ușor de efectuat la începutul fiecărei zile de lucru.
Automatizarea elimină erorile umane
Testele automatizate se execută pe baza unor scripturi pregătite în prealabil și create conform unor standarde extrem de exigente. Acest lucru înseamnă că șansa ca un test automat să rateze o eroare majoră sau o problemă importantă este foarte mică.
Automatizarea poate imita testele de încărcare și de performanță
Testele de încărcare și de performanță evaluează cât de bine funcționează o aplicație atunci când o mulțime de utilizatori o folosesc în același timp. Testarea automată a fumului poate imita încărcarea suplimentară a mai multor utilizatori în moduri în care testarea manuală nu o poate face și poate oferi un nivel suplimentar de date privind performanța software-ului în anumite condiții.
Provocările legate de automatizarea testelor de fum
Automatizarea testelor Smoke nu este lipsită de provocări. Implementarea testelor automate de tip “smoke testing” poate necesita mai mult timp și resurse, în special în cazul echipelor mai mici, care au la dispoziție mai puțini ingineri.
Cerințe tehnice
Testele de fum automate necesită mai multe cunoștințe tehnice și abilități de codare decât testele de fum manuale. Inginerii de software trebuie să aibă timpul și cunoștințele necesare pentru a ști cum să creeze teste automate înainte ca acestea să poată fi implementate și nu toate echipele vor avea neapărat resursele disponibile pentru a face acest lucru.
Lipsa de înțelegere umană
Testarea automată oferă o imagine de ansamblu a funcționalității unei aplicații software, iar atunci când efectuează un test de fum automat, testerii software obțin o perspectivă asupra funcțiilor de bază ale software-ului, care este scopul final al unui test de fum.
Cu toate acestea, testele automate nu oferă nicio perspectivă asupra unor aspecte mai subiective ale performanței software, cum ar fi utilizabilitatea și accesibilitatea.
Când să implementați automatizarea testelor de fum
Automatizarea este frecvent utilizată în testele de fum deoarece scopul testelor de fum este pur și simplu de a verifica funcționalitatea de bază, lucru la care testele automate sunt relativ bune.
Echipele care dispun de suficiente competențe tehnice pentru a pune în aplicare testarea automată a fumului sunt cele mai susceptibile de a avea timpul și resursele necesare pentru a investi în acest proces, iar companiile mai mari și mai bine stabilite vor simți probabil o presiune mai mare pentru a respecta standardele de bune practici în ceea ce privește testarea zilnică a fumului.
Automatizarea testelor de fum vs testarea manuală a fumului
Nu există un mod corect sau greșit de a efectua testele de fum, iar ceea ce funcționează bine pentru o echipă poate să nu funcționeze bine pentru alta.
Înainte de a efectua un test de fum, echipele de software ar trebui să ia în considerare obiectivele, resursele și planurile pe termen lung ale proiectului. Procesul de testare manuală a software-ului poate fi educativ pentru tinerii profesioniști noi în domeniul QA, dar pentru echipele mai bine stabilite există rareori un beneficiu în a opta pentru testarea manuală în locul celei automate.
Teste de fum hibrid
A treia opțiune pentru echipele care nu se pot decide între testele manuale și automate de fum și testele de sanitate este să opteze pentru teste hibride.
Testarea hibridă combină aspecte atât ale testării manuale, cât și ale testării automate a fumului pentru a spori performanța și eficiența generală a testelor. Atunci când se utilizează metoda hibridă de testare a fumului, majoritatea testului poate fi automatizat, dar anumite aspecte pot fi efectuate manual. Acest lucru permite echipelor să se concentreze mai mult asupra acelor aspecte ale construcției care au nevoie de atenție, menținând în același timp cerințele generale de timp ale testului de fumare la un nivel scăzut.
Tipuri de testare a fumului
În linii mari, testarea fumului poate fi împărțită în două categorii: testarea formală și cea informală. Faptul că testele de verificare a fumului sunt formale sau informale depinde de faptul dacă sunt inițiate în mod oficial de către responsabilul cu asigurarea calității sau dacă sunt pur și simplu efectuate ca parte a dezvoltării.
1. Teste formale de fum
În cadrul unui test de fum formal, dezvoltatorii de software transmit proiectul de software inginerului de asigurare a calității sau responsabilului de asigurare a calității pentru testarea formală. Responsabilul cu asigurarea calității le atribuie tesatorilor sarcina de a efectua testele de fum și le cere să efectueze testele de fum, fie folosind instrumente de testare de fum, cum ar fi automatizarea, fie manual.
Atunci când se efectuează teste formale de fumigene, testerele de asigurare a calității compilează rezultatele testului într-un raport formal care poate fi analizat de către responsabilul cu asigurarea calității.
Testele formale de fum se efectuează în puncte importante în timpul procesului de construire a software-ului, de exemplu înainte de a efectua testele funcționale ale noilor caracteristici.
2. Teste informale de fum
Testele de fum neoficiale sunt teste de fum efectuate asupra unui software în timpul procesului de dezvoltare sau de asigurare a calității care nu sunt raportate în mod oficial sau solicitate de către responsabilul cu asigurarea calității.
Testele zilnice de fum, pe care multe echipe de software le efectuează ca o chestiune de protocol, sunt un exemplu de teste de fum informale.
Testele informale pot fi efectuate ad-hoc ori de câte ori inginerii de asigurare a calității consideră că ar putea fi utile.
De ce aveți nevoie pentru a începe testarea fumului
Înainte de a începe testarea cu fum în testarea software, este important să adunați toate lucrurile de care veți avea nevoie, inclusiv fișierele de date și competențele din cadrul organizației dumneavoastră.
Ceea ce aveți nevoie pentru a efectua testul de fum va depinde de faptul dacă intenționați să efectuați un test de fum automat sau manual și de instrumentele de testare pe care le utilizați pentru a facilita procesul.
1. O listă de cazuri de testare
Înainte de a începe un test de fum, veți avea nevoie de o listă completă a tuturor cazurilor de testare pe care doriți să le evaluați.
Cazurile de testare sunt seturi individuale de acțiuni pe care doriți să le testați pentru a judeca dacă rezultatul acestor acțiuni se aliniază cu rezultatele pe care le așteptați.
De exemplu, un caz de testare foarte simplu ar putea fi ca software-ul să încarce tabloul de bord principal atunci când deschideți aplicația.
2. Fișiere de testare
Înainte de a putea rula testul de fum, va trebui să adunați toate fișierele de test pe care urmează să le executați. Este posibil să puteți utiliza linia de comandă a programului de testare a fumului pe care îl utilizați pentru a aduna toate fișierele într-un singur loc.
Modul în care vă adunați fișierele și unde le stocați va depinde de modul în care funcționează organizația dumneavoastră.
3. Instrumente de testare a fumului
Puteți efectua un test de fum de bază fără a utiliza instrumente speciale, dar utilizarea instrumentelor de testare a fumului vă poate ajuta să îmbunătățiți acuratețea rezultatelor și să accelerați procesul de testare a fumului.
Cercetați mai întâi instrumentele de testare a fumului online și alegeți software-ul care vă automatizează sau optimizează testul de fum în funcție de nevoile și bugetul dumneavoastră.
Procesul de testare a fumului
Cel mai bun mod de a efectua un test de fum variază de la o organizație la alta, iar dacă sunteți nou în domeniul testelor de fum, este posibil să doriți să experimentați diferite abordări pentru a vedea ce funcționează cel mai bine pentru echipa dumneavoastră.
Mai jos este un exemplu de realizare a unui test de fum de bază pentru a evalua funcțiile de bază ale software-ului dumneavoastră.
Pasul 1: Alegeți cazurile de testare
Primul pas pentru a efectua un test de fum este alegerea cazurilor de testare pe care veți efectua testul de fum.
Atunci când proiectează un test de fum, inginerii de software și inginerii de asigurare a calității ar trebui să ia în considerare care sunt funcțiile software cele mai critice pentru software și care este cea mai bună modalitate de a testa aceste caracteristici. Nu vă pierdeți timpul testând caracteristici care nu sunt importante pentru funcționarea software-ului.
Pasul 2: Construiți teste de fum
După ce ați identificat cazurile de testare pe care le veți utiliza, puteți scrie scripturi de testare pentru a le testa. Utilizați un singur script pentru testele de fum pentru a crește flexibilitatea în timpul rulării testului.
Dacă alegeți să automatizați testarea fumigenă, nu va trebui să scrieți întotdeauna scripturi de testare manuale de fiecare dată când doriți să executați un test de fum. Puteți utiliza suitele de automatizare a testelor software pentru a automatiza astfel de scripturi.
Pasul 3: Executați teste de fum
După ce ați creat scripturile de test de fum, le puteți rula în cadrul construcției pentru a căuta erori și alte erori majore. Acest lucru nu ar trebui să dureze mai mult de 30 până la 60 de minute, iar după ce testele sunt terminate, puteți evalua rezultatele pentru a determina pașii următori.
Pasul 4: Remediați orice erori
Scopul testelor de fumigene în dezvoltarea de software este de a identifica orice erori majore sau probleme majore înainte de a începe testarea completă de asigurare a calității.
În cazul în care testele de fum dezvăluie probleme semnificative care perturbă funcțiile de bază ale software-ului, este important să trimiteți software-ul și analiza dvs. înapoi la echipa de dezvoltare pentru remedierea erorilor înainte de a continua cu QA.
Cele mai bune practici pentru testarea fumului
Testele de fumigene sunt o modalitate sigură de a identifica erori majore în compilările de software în toate etapele de dezvoltare. Respectarea celor mai bune practici din industrie este cea mai bună modalitate de a vă asigura că testele de fum sunt eficiente, precise și productive.
1. Efectuați deseori teste de fum
Nu este întotdeauna posibil să efectuați teste de fum în fiecare zi, mai ales dacă efectuați teste manuale în loc de teste de fum automate.
Executați teste de fum cât de des puteți și de fiecare dată când implementați modificări la software. Odată ce sunteți în măsură să o faceți, efectuarea zilnică a testelor de fum este considerată cea mai bună practică.
2. Nu săriți niciodată peste etapele de testare
Dacă vă grăbiți, ar putea fi tentant să săriți peste unele dintre etapele de testare pentru a progresa mai repede în procesul de dezvoltare, dar atât testele de fum cât și cele de regresie sunt esențiale pentru a vă menține dezvoltarea pe drumul cel bun.
Testați-vă întotdeauna construcțiile cu teste de fum și de sanitate înainte de a trece la etapa următoare.
3. Testați fiecare modificare
Nu există o singură aplicație pentru testarea fumului. Puteți și ar trebui să folosiți teste de fum pentru a testa fiecare modificare pe care o aduceți unui software și pentru a vă testa software-ul între diferite etape de dezvoltare.
Testele de fum ar trebui să fie precursoarele testelor de integrare, de performanță și funcționale.
4. Urmăriți rezultatele testelor
Este o practică standard să se testeze rezultatele unui test oficial de fum, dar chiar și atunci când se efectuează teste de fum informale, inginerii ar trebui să păstreze o evidență a rezultatelor.
Astfel, este mai ușor să transmiteți rezultatele către dezvoltatori și să țineți evidența caracteristicilor care nu trec testul.
5. Efectuați testul de fum de două ori
Rularea testului de fum de două ori poate părea exagerată, dar dacă doriți cu adevărat să identificați fiecare eroare în timpul testului, este mai bine să îl executați de două ori.
Acest lucru garantează că testul de fum are toate șansele de a detecta erori și probleme majore care ar putea cauza probleme suplimentare dacă nu sunt rezolvate imediat.
6. Alegeți tipul corect de test de fum
Dacă ar trebui să folosiți testarea manuală sau automată a fumului depinde de mărimea și nevoile echipei dumneavoastră. Asigurați-vă că alegeți cel mai bun tip de testare pentru proiectul dvs. pentru a optimiza eficiența fără a compromite acuratețea rezultatelor.
Tipuri de ieșiri de la un test de fum
Atunci când efectuați un test de fum, vă puteți aștepta ca testul de fum să aibă unul dintre cele două rezultate distincte pentru fiecare caz de testare pe care îl evaluați: succes sau eșec.
1. Treceți
Un rezultat posibil pentru fiecare caz de testare pe care îl executați este că testul de fum trece. Aceasta înseamnă că rezultatul real al testului se aliniază cu rezultatul așteptat al testului.
De exemplu, dacă executați un test privind ceea ce se întâmplă atunci când încărcați aplicația și aceasta se încarcă pe ecranul care ar trebui să se deschidă la încărcare, scriptul dvs. ar trebui să afișeze acest lucru ca o reușită.
2. Eșec
În cazul în care testul de tip “smoke test” eșuează pentru un anumit caz de testare, înseamnă, de obicei, că rezultatul real al testului nu s-a aliniat cu rezultatul așteptat al testului.
De exemplu, dacă testați o aplicație de cumpărături și unul dintre cazurile de testare pe care le executați testează funcționalitatea de adăugare a articolelor în coșul de cumpărături, testul este eșuat dacă articolele pe care le adăugați în coș nu apar în coș așa cum vă așteptați.
Exemple de cazuri de testare pentru testarea de fum
Atunci când încercați să vă gândiți la cazurile de testare pe care să le includeți în testul de fum, scrieți o listă cu funcționalitățile de bază ale software-ului dumneavoastră și luați în considerare care dintre ele sunt esențiale pentru a rula și utiliza software-ul.
Câteva exemple de cazuri de testare pentru testarea fumigenă vă pot ajuta să determinați ce cazuri de testare să utilizați în propriul test fumigen.
1. Validarea acreditărilor de conectare
Dacă aplicația dvs. necesită ca utilizatorii să se conecteze, este posibil să doriți să creați un caz de testare care să verifice dacă procesul de validare a acreditărilor de conectare funcționează așa cum trebuie.
Pentru a face acest lucru, creați un script care să automatizeze mișcările de conectare, de executare a testului și de verificare a rezultatelor. Dacă software-ul se conectează conform așteptărilor, acest caz de test de fum trece.
2. Crearea unui nou document
Ați putea crea un caz de testare pentru a evalua dacă software-ul dvs. permite utilizatorilor să creeze un document nou în mod corespunzător. Creați un script care să automatizeze crearea, denumirea și salvarea documentelor în programul dvs. și rulați-l.
Orice problemă majoră care apare și care împiedică acest proces ar însemna că testul de fum a eșuat.
3. Deconectarea
Dacă aplicația dumneavoastră are o funcționalitate de logare, ar trebui să aibă și o funcționalitate de deconectare. Rulați un script pentru a testa ce se întâmplă atunci când utilizatorii fac clic pe “deconectare”.
Dacă utilizatorul nu se poate deconecta cu succes atunci când face clic pe acest buton, testul de fum eșuează.
Tipuri de erori și bug-uri detectate prin teste de fum
Testele Smoke vă pot ajuta să identificați erorile și erorile care perturbă funcționalitatea de bază a software-ului dumneavoastră. În funcție de momentul în care efectuați testul de fum și de ceea ce doriți să verificați, puteți găsi diferite tipuri de erori și bug-uri prin intermediul testelor de fum.
1. Erori funcționale
Erorile funcționale sunt erori care apar atunci când software-ul nu se comportă așa cum v-ați aștepta sau când nu funcționează corect.
Cele mai multe dintre cazurile de testare pe care le veți folosi pentru a verifica testele de fum sunt teste funcționale și, prin urmare, este foarte probabil ca erorile funcționale să fie identificate prin teste de fum ca acesta.
2. Erori de logică
Erorile de logică reprezintă defecte în logica codului și pot, de asemenea, cauza unui comportament incorect al software-ului. Erorile de logică pot face ca acțiunile să producă ieșiri incorecte sau chiar să provoace blocarea software-ului.
O eroare logică frecventă este bucla infinită, care face ca software-ul să repete aceleași acțiuni din nou și din nou până când se blochează.
3. Erori de integrare
Dacă efectuați un test de fum la nivel de integrare, este posibil să găsiți erori de integrare în timpul testului. Acestea apar atunci când două seturi separate de coduri nu se integrează perfect unul cu celălalt. Acestea pot fi cauzate de o gamă largă de probleme de compatibilitate din cod și pot necesita soluții complexe pentru a fi reparate.
Măsurători comune de testare a fumului
Atunci când efectuează un test de fum, echipele de asigurare a calității pot utiliza indicatori pentru a evalua rezultatele unui test de fum și pentru a stabili dacă testul a trecut sau nu.
Pe lângă faptul că se analizează dacă software-ul este capabil să își îndeplinească corect funcțiile de bază, metricile testelor de fum pot evalua, printre altele, viteza și timpul de încărcare a software-ului.
1. Viteza software-ului
Testele de fum se pot utiliza pentru a verifica dacă viteza și timpii de încărcare a software-ului îndeplinesc anumite criterii descrise în cadrul cazurilor de testare individuale.
De exemplu, dacă testați modul în care se comportă software-ul atunci când încărcați aplicația și aceasta se încarcă conform așteptărilor, dar are nevoie de două minute pentru a porni, puteți marca acest lucru ca fiind un eșec, deoarece nu respectă timpul de încărcare așteptat.
2. Fiabilitatea
Efectuarea de două ori a testului de fiabilitate vă poate ajuta, de asemenea, să testați fiabilitatea software-ului dumneavoastră. Dacă anumite cazuri de testare trec o dată, dar eșuează o singură dată, acest lucru indică faptul că o anumită eroare din cod provoacă erori care pot să nu apară de fiecare dată când software-ul este utilizat, dar care pot cauza probleme grave pentru utilizatori.
Cele mai bune instrumente gratuite de testare a fumului
Instrumentele de testare a fumului vă pot ajuta să efectuați teste de fum mai eficient și mai rapid, pentru a obține cele mai bune rezultate din testele de fum.
Mai jos sunt prezentate unele dintre cele mai bune instrumente de testare a fumului disponibile în prezent fără costuri.
5 cele mai bune instrumente gratuite de testare a fumului
1. ZAPTEST FREE edition
ZAPTEST este un instrument gratuit care permite utilizatorilor să automatizeze testarea software și RPA fără a plăti niciun cent.
Puteți utiliza ZAPTEST ediția GRATUITĂ pentru a efectua teste simple de fum pe mai multe platforme, inclusiv platforme mobile, web, API și LOAD.
Dacă doriți să încercați testarea automată a testelor de fum, ediția gratuită ZAPTEST vă poate ajuta să vedeți beneficiile automatizării la prima mână. Este, de asemenea, ușor de utilizat chiar dacă nu aveți cunoștințe tehnice, deoarece are o interfață fără coduri și utilizează tehnologia de ultimă generație Computer Vision.
Cel mai important, ZAPTEST FREE este bine…. gratuit pentru totdeauna! În schimb, multe instrumente de testare a fumului și de automatizare generală a software-ului au o perioadă de testare inițială, după care sunteți atras în plata unor taxe de abonament.
2. Seleniu
Selenium este un instrument gratuit, cu sursă deschisă, pe care îl puteți utiliza pentru a rula diferite tipuri de teste pe software-ul dumneavoastră, inclusiv teste de fum și de regresie. Funcționează cu o mulțime de limbaje de programare diferite și este deosebit de bun pentru testarea aplicațiilor web.
3. Appium
Dacă doriți să efectuați teste de fum și de sanitate pentru aplicațiile mobile, Appium este o alegere mai bună decât Selenium. Appium este ușor de instalat și de utilizat și poate fi folosit pentru a efectua teste simple de fum pe aplicațiile dezvoltate atât pentru iOS, cât și pentru Android.
4. Testlink
Testlink este un instrument de gestionare gratuit, bazat pe web, care permite utilizatorilor să elaboreze planuri de testare și cazuri de testare într-un cadru structurat unic. Testlink vă poate ajuta să vă planificați testele de fum, precum și să vă descrieți așteptările și parametrii înainte de a începe testele de fum.
5. Lupul QA
QA Wolf este un instrument de testare gratuit, de la un capăt la altul, care permite utilizatorilor să creeze un test de fum automat de asigurare a calității alături de alte teste funcționale. QA Wolf poate fi folosit chiar și de persoane fără abilități tehnice sau de codare, ceea ce înseamnă că este o introducere excelentă în automatizarea testelor pentru majoritatea echipelor de control al calității.
Cele mai bune instrumente de testare a fumului pentru întreprinderi
Dacă sunteți pregătit să investiți ceva bani în instrumentele de testare a fumului, puteți cumpăra instrumente de întreprindere care au capacități de testare a fumului mai extinse și rezultate mai complete.
Mai jos este o listă cu cinci dintre cele mai bune instrumente de automatizare a testelor de fum de pe piață.
5 cele mai bune instrumente de automatizare a testelor de fum pentru întreprinderi
1. ZAPTEST ENTERPRISE edition
ZAPTEST ENTERPRISE edition este o suită de testare software și RPA care poate automatiza complet orice tip de test, inclusiv teste de fum.
Versiunea gratuită este potrivită pentru companiile mai mici care doresc să afle ce poate face ZAPTEST, dar dacă sunteți în căutarea unei soluții plătite, ușor de utilizat și potrivită pentru testarea oricărui software sau aplicație, pe orice platformă, browser sau dispozitiv, ȘI cu implementare 1SCRIPT în toate acestea, atunci ZAPTEST ENTERPRISE este un loc excelent pentru a începe.
2. SoapUI
SoapUI este un instrument de testare pentru întreprinderi care facilitează gestionarea și executarea testelor de asigurare a calității de la un capăt la altul a software-ului. Este un instrument relativ simplu de instalat, dar are limitările sale, ceea ce se reflectă în prețul lor.
3. Mărturie
Testim este un instrument de testare a fumului plătit care utilizează inteligența artificială pentru a crea teste fără cod care evaluează funcționalitatea software-ului dumneavoastră. API-ul Javascript de la Testim poate fi folosit pentru a refactoriza, personaliza și depana testele.
4. Robotul T-Plan
T-Plan Robot este un instrument de testare pentru întreprinderi pe care inginerii QA îl pot utiliza pentru a automatiza acțiunile scriptate ale utilizatorilor și automatizarea proceselor robotice (RPA) pe Windows, Mac, Linux și mobil. Puteți utiliza T-Plan Robot pentru a automatiza testele de fum pentru o gamă largă de aplicații și pentru a crea scripturi automate care pot fi rulate în puncte cheie în timpul dezvoltării.
5. Rainforest QA
Rainforest QA este un instrument de testare a fumului de asigurare a calității care permite utilizatorilor să gestioneze și să implementeze atât testele manuale, cât și cele automate, de la un singur tablou de bord. Acest lucru îl face ideal pentru organizațiile interesate să încerce abordarea hibridă și este potrivit pentru o gamă largă de platforme, inclusiv aplicații bazate pe cloud, Windows și Mac.
Când ar trebui să folosiți instrumente de testare a fumului pentru întreprinderi sau gratuite?
Instrumentele de testare a fumului pentru întreprinderi și cele gratuite pot îndeplini nevoi similare în moduri ușor diferite. De obicei, instrumentele gratuite servesc ca o poartă de acces excelentă pentru organizațiile care se simt bine cu testele manuale de fum, dar care doresc să exploreze testele automate de fum mai în detaliu.
De asemenea, acestea pot fi mai potrivite pentru start-up-urile foarte mici, unde nu există încă bani pentru instrumente plătite.
Instrumentele de testare pentru întreprinderi devin de obicei o opțiune mai viabilă pe măsură ce companiile se extind. Acestea oferă o serie de avantaje față de instrumentele gratuite, oferind de obicei mai multă flexibilitate, un suport mai bun și interfețe mai ușor de utilizat, care facilitează chiar și pentru profesioniștii non-tehnici efectuarea automată a testelor de fum.
Lista de verificare pentru testarea fumului
Înainte de a începe un test de fum, echipa de asigurare a calității software poate folosi această listă de verificare pentru a se asigura că acoperă fiecare etapă a procesului de testare de fum.
● Identificați instrumentele de testare a fumului pe care le veți folosi
● Alegeți dacă aveți de gând să creați un test manual sau automatizat
● Selectați cazurile de testare pe care doriți să le testați
● Creați scripturi de testare pentru fiecare caz
● Identificați cerințele de “trecere” pentru fiecare caz de testare
● Executați testele de fum
● Analizați rezultatele
● Feedback către dezvoltare și QA
Concluzie
Testarea de fum este un pas esențial în dezvoltarea de software și în asigurarea calității. Se asigură că un produs este funcțional înainte de a fi testat în continuare, ceea ce previne riscul ca echipele de asigurare a calității să piardă timp și resurse efectuând teste funcționale intensive pe versiuni care nu sunt încă stabile.
Testarea de fum este un proces relativ rapid și simplu care ar trebui să fie efectuat de echipele de software cât mai des posibil.
Pe măsură ce întreprinderile se străduiesc să obțină o eficiență optimă prin utilizarea unor instrumente avansate care susțin hiperautomatizarea, RPA și alte tehnologii conexe, testele automate de fum devin din ce în ce mai frecvente în organizațiile de toate dimensiunile.
Atât testarea manuală, cât și cea automată a fumului au încă un loc în mediile contemporane de asigurare a calității, dar, pe măsură ce testarea automată devine tot mai frecventă, nu există nicio îndoială că va deveni norma.
Întrebări frecvente și resurse
Care sunt cele mai bune cursuri despre automatizarea testelor de fum?
Dacă doriți să învățați mai multe despre automatizarea testelor de fum, câteva exemple de cursuri online pe care le puteți urma sunt:
● Cursuri de testare a fumului Coursera
● Cursuri de testare a fumului Udemy
● Cursuri de testare a fumului Skillshare
Unul dintre cele mai bune cursuri pentru începători este Certified Tester ISTQB Foundation Level (CTFL), disponibil la Udemy.
Fiecare dintre aceste resurse online oferă cursuri de testare a fumului pentru cursanți cu abilități diferite, iar pe aceste site-uri este posibil să urmați atât cursuri gratuite, cât și cursuri plătite.
Dacă doriți să obțineți o certificare, căutați cursuri care sunt acreditate de CAST.
Care sunt cele mai bune cărți despre testarea fumului?
Dacă doriți să aflați mai multe despre testarea cu fum, puteți citi cărți despre testarea software și testarea cu fum pentru a vă dezvolta înțelegerea abordărilor și avantajelor testării cu fum. Unele dintre cele mai bune cărți despre testarea fumului includ:
● Arta testării software, de Glenford J Myers, Tom Badgett și Corey Sandler
● Testarea software-ului, de Ron Patton
● Software Test Automation, de Mark Fewster și Dorothy Graham
Cu toate acestea, există o mulțime de cărți fantastice despre testarea software, care vă pot ajuta să înțelegeți mai multe despre cum, de ce și cum se face testarea.
Alegeți o carte care vă atrage și care explorează mai în detaliu subiectele care vă interesează cel mai mult.
Care sunt cele mai importante 5 întrebări de interviu privind testele de fum?
Dacă vă gândiți să dați un interviu pentru un post care ar putea implica testarea cu fum, pregătiți-vă pentru interviu pregătindu-vă răspunsurile la întrebările obișnuite, cum ar fi:
● Când este momentul potrivit pentru a efectua testarea fumului?
● Cum ați decide ce cazuri de testare să utilizați într-un test de fum?
● Prin ce diferă testarea fumigenă de alte tipuri de testare, cum ar fi testarea sănătății?
● Câte cunoștințe de codare sunt necesare pentru a efectua teste de fum?
● Ce ați face dacă un test de fum eșuează?
Care sunt cele mai bune tutoriale YouTube despre testarea fumului?
Dacă vă place să învățați vizual, puteți folosi aceste videoclipuri de pe YouTube pentru a afla mai multe despre testarea cu fum:
● Tutorial de testare a fumului Edureka
● Ce este testarea fumului?
● Testarea fumului vs. testarea sănătății
Cum se mențin testele de fum?
Întreținerea testelor de fum se referă la asigurarea faptului că testele de fum pe care le creați rămân sănătoase și relevante pe măsură ce proiectul de construire a software-ului dumneavoastră continuă.
Executați zilnic testele de fum și creați noi cazuri de testare în funcție de necesități.
De asemenea, puteți maximiza beneficiile testelor de fum prin colaborarea strânsă cu acei dezvoltatori ale căror contribuții nu reușesc să îmbunătățească calitatea codului lor.
Ce este testul de fum în ingineria software?
Testele de fum în ingineria software se mai numesc și teste de verificare a construcției și reprezintă un test simplu și rapid pentru a se asigura că o construcție software este stabilă.
Testele de fum se folosesc pentru a testa funcționalitățile de bază ale unei versiuni și servesc drept test preliminar înainte de a se efectua testele suplimentare de asigurare a calității.
Testarea fumigenă vs testarea sănătății
Testele de fum și testele de sănătate sunt ambele tipuri de teste care implică testarea rapidă a funcționalităților de bază ale unui produs sau ale unui software.
Cu toate acestea, în timp ce testele de testare a fumului testează dacă funcționalitățile de bază ale software-ului s-au comportat sau nu conform așteptărilor, testele de sănătate sunt de obicei folosite pentru a verifica dacă reparațiile de erori au rezolvat problemele identificate.
Testarea de fum este un proces mai formal și documentat, care se realizează de obicei înainte ca un build să fie verificat ca fiind stabil, în timp ce testarea de sănătate este un tip de test informal care poate fi efectuat ca parte a testării de regresie pe build-uri relativ stabile.
Testarea fumului vs testarea de regresie
Testele de fum și testele de regresie sunt ambele tipuri de teste care verifică dacă software-ul continuă să funcționeze corect după ce au fost efectuate noi modificări.
Cu toate acestea, testarea de tip “fumigen” este un tip de testare relativ rapidă și puțin aprofundată, care verifică pur și simplu funcțiile de bază și se asigură că software-ul este stabil.
Testarea de regresie este un test de nivel mai profund care durează mult mai mult și care evaluează mai în detaliu construcția.
Testarea fumigenă vs. testarea de sanitate vs. testarea de regresie
Atunci când comparați testele de verificare a fumului și a sanității cu testele de regresie, este important să înțelegeți că toate aceste trei tipuri de teste sunt necesare pentru o bună dezvoltare de software și pentru asigurarea calității.
Testele de fum și testele de sănătate oferă o modalitate rapidă de a verifica dacă software-ul funcționează în mod normal, în timp ce testele de regresie oferă o perspectivă mai profundă asupra modului de funcționare a produsului.
Echipele de asigurare a calității testează mai întâi software-ul, iar dacă software-ul trece de această verificare, pot avea loc testele de sănătate și, ulterior, testele de regresie.
Testarea automată a fumului cu ajutorul instrumentelor de testare a fumului devine din ce în ce mai frecventă, dar unele tipuri de testare, cum ar fi testarea de regresie, nu pot fi încă complet automatizate din cauza naturii complexe a testului.
În cele din urmă, dacă sunteți în căutarea unor instrumente pentru a efectua teste pe platforme Windows, iOS, Android, teste UI, Linux și multe altele, mergeți mai departe și descărcați ZAPTEST FREE!