Ce face o echipă QA în dezvoltarea de software dacă nu găsesc erori zilnic?
Publicat: 2023-01-27Inginerii de asigurare a calității (QA) aud adesea asta:
„Echipa ta a detectat douăzeci de erori ieri, dar astăzi nu ai niciuna!”
Această poziție, oricât de validă ar părea, contrazice însuși scopul și obiectivele asigurării calității în dezvoltarea de software.
Ce face exact un QA în dezvoltarea de software?
În acest articol, Andrey Gilyov, șeful adjunct al unității de asigurare a calității la ITRex, explică de ce echipa dvs. de asigurare a calității nu funcționează, chiar dacă găsește mai puține erori. De asemenea, veți afla de ce ar trebui să angajați întotdeauna ingineri QA pentru a vă spori echipa IT internă sau externalizată, în loc să testați codul de către inginerii software.
Înțelegerea obiectivelor QA și de ce nu se limitează la urmărirea erorilor
În funcție de tipul și complexitatea unei soluții software pe care doriți să o construiți, s-ar putea să aveți nevoie de un specialist part-time QA sau de o echipă dedicată QA desemnată proiectului dumneavoastră. Și responsabilitățile lor se întind cu mult dincolo de identificarea erorilor și raportarea acestora către managerul de proiect și echipa de dezvoltare.
În special, obiectivele de asigurare a calității includ:
- Prevenirea erorilor. Sondajele recente indică faptul că inginerii de software petrec aproximativ 20% din timp reparând erori. Înmulțiți acest timp cu tariful orar mediu al inginerului de software și vă veți da seama cât de mult ar putea costa un cod defectuos pentru compania dvs. Prețul corectării erorilor crește, de asemenea, exponențial odată cu timpul în fluxul de lucru al dezvoltării software - și asta nu mai vorbim de implicațiile pe termen lung ale lansării în producție a software-ului plin de erori, cum ar fi vulnerabilitățile de securitate, scăderea experienței clienților și pierderile de reputație. Deci, scopul cheie al asigurării calității în dezvoltarea software-ului se învârte în jurul găsirii erorilor înainte ca acestea să provoace daune semnificative. Pentru a realiza această performanță, o echipă de QA se pregătește pentru testare cu mult înainte de a pune mâna pe o soluție software. Aceste activități de pregătire includ revizuirea documentației de testare, scrierea unui plan de testare și a cazurilor de testare, alegerea instrumentelor de testare adecvate și configurarea mediului de testare.
- Urmărirea și evaluarea stării software-ului. Pentru a lua decizii bine informate în cadrul proiectelor software, managerul de proiect și clientul au nevoie de informații actualizate despre produsul software la care lucrează. Obiectivele de asigurare a calității, printre altele, includ furnizarea acestor informații la orice perioadă dată de-a lungul cronologiei proiectului software. Merită menționat, totuși, că inginerii de asigurare a calității nu aleg cel mai bun moment pentru ca o soluție software să funcționeze. În schimb, clientul este cel care ia decizia finală. După ce a consultat echipa QA, un client poate decide chiar să lanseze o soluție software care conține erori și erori documentate! De exemplu, puteți lua o astfel de decizie atunci când intervalul de timp pentru lansarea produsului dvs. este relativ strâns și compromisul dintre recompensă - adică depășirea concurenței sau activarea unei funcții critice - este mai mare decât riscul de a-l lansa cu erori minore. Oricum ar fi, trebuie să detectați, să documentați și să prioritizați aceste erori, iar acesta este, de asemenea, unul dintre obiectivele echipei de QA.
- Validarea cerințelor. Rolul principal al QA în dezvoltarea software-ului este de a confirma că soluția dumneavoastră software funcționează conform așteptărilor și îndeplinește toate criteriile definite de documentul de specificație a cerințelor software (SRS). Când specialiștii în asigurarea calității efectuează teste manuale sau automate și identifică erori, ei creează un bilet într-un sistem software de urmărire a erorilor precum Jira sau ClickUp pentru echipa de dezvoltare. Odată ce echipa de dezvoltare remediază erorile, ciclul de testare se repetă. Astfel, găsirea erorilor nu este scopul asigurării calității; mai degrabă, este un produs secundar al activităților QA.
Echipele QA uneori nu reușesc să găsească erori. Și asta e ok
Acum că v-ați învăluit cu obiectivele și obiectivele QA, să revenim la întrebarea pe care am ridicat-o la începutul acestui articol.
Ce face o echipă de QA în dezvoltarea de software dacă rapoartele lor de erori conțin zero defecte zile în șir?
Există mai multe motive pentru care specialiștii QA nu pot găsi erori în software-ul dvs.:
- Software-ul a fost testat temeinic. Dacă soluția software a fost supusă unor teste amănunțite, este mai puțin probabil ca erorile să fie prezente atunci când ciclul QA se repetă sau produsul intră în producție.
- Software-ul are un design simplu. Aplicațiile cu un set limitat de caracteristici, integrări și interfețe simple de utilizator sunt mai puțin probabil să conțină erori decât software-ul cu arhitectură și cerințe de performanță mai complexe.
- Software-ul este construit folosind cele mai bune practici. Echipele de inginerie software care scriu cod curat și bine documentat, respectă standardele de codare și folosesc controlul versiunilor livrează adesea produse software cu puține erori. Aceste erori sunt detectate și corectate la începutul procesului de testare și nu se vor manifesta alte defecte în etapele ulterioare.
- Procesul de testare ar fi putut fi mai cuprinzător. Lipsa de timp, resurse sau abilități ar putea împiedica specialiștii QA să testeze soluția dvs. software în detaliu. Ca urmare, unele erori ar putea fi trecute cu vederea.
- Bug-urile nu sunt reproductibile. Uneori, specialiștii QA nu găsesc erori, deoarece erorile nu apar în mod constant. Diferiți factori, inclusiv complexitatea software-ului, utilizarea bibliotecilor terțe sau prezența dependențelor externe, pot duce la astfel de situații.
Indiferent de cauza, nu ar trebui să subestimezi importanța QA în dezvoltarea de software, cu atât mai puțin să te joci cu ideea de a permite dezvoltatorilor să testeze codul pentru tine.
Nu mă înțelege greșit: este bine ca dezvoltatorii să scrie și să execute teste automate în echipe Agile interfuncționale. Sau chiar testați software-ul manual.
Cu toate acestea, în astfel de echipe, unde rolurile de proiect sunt adesea împărțite, obiectivul principal este de a lansa software-ul sau funcțiile funcționale mai rapid, reducând timpul de valorificare și adunând feedback din timp. Aici s-ar putea să ne confruntăm cu problema riscului versus recompensă descrisă în secțiunea anterioară. Și proiectul dvs. ar putea acumula astfel datorii tehnice, ceea ce duce la probleme de performanță și costuri semnificative de depanare în viitor.
Alte motive pentru a angaja specialiști dedicați QA sunt următoarele:
- A ști cum să codificați nu înseamnă a ști cum să revizuiți codul pentru potențiale erori
- Dezvoltatorii se bucură rareori de testare, în timp ce experții QA o fac
- Tarifele orare ale inginerilor software sunt de obicei mai mari decât cele ale specialiștilor în asigurarea calității
- Dezvoltatorii și inginerii QA au în mod normal abilități soft diferite. Pentru QA, atenția la detalii, capacitatea de a analiza sisteme complexe și multi-tasking-ul sunt în centrul atenției. Pe de altă parte, inginerii software lucrează adesea în medii de colaborare și se concentrează pe o singură sarcină la un moment dat.
Așadar, chiar dacă echipa dvs. QA a găsit zero erori astăzi, nu fi tentat să concediați specialiști în asigurarea calității sau să încredințați sarcinile de testare echipei de dezvoltare primară. Chiar dacă această abordare vă poate reduce salariul pe termen scurt, costul pierderii clienților din cauza performanței slabe a software-ului sau a atacurilor cibernetice legate de erori poate fi de mai multe ori mai mare.
Și dacă aveți nevoie de ajutor pentru a valida că software-ul dumneavoastră funcționează bine, îndeplinește toate cerințele specificate în SRS sau viziunea dumneavoastră tehnică și vă ajută să vă atingeți obiectivele de afaceri, contactați experții ITRex QA!
Publicat inițial la https://itrexgroup.com pe 20 ianuarie 2023.