Ce este documentația QA și cum putem reduce costurile sale de creare și întreținere?

Publicat: 2023-08-01

Andrii Hilov, QA Team Lead la ITRex, a scris un alt articol care discută provocările și capcanele de asigurare a calității în proiectele software. De data aceasta, Andrii analizează documentația QA și rolul pe care îl joacă în dezvoltarea software-ului de înaltă performanță — la timp, la buget și în conformitate cu obiectivele dvs. de afaceri.

Iată ce are de spus despre asta.

În calitate de șef de echipă QA la o companie de dezvoltare software pentru întreprinderi ITRex, sunt perfect conștient de aspirațiile clientului nostru de a reduce costurile de dezvoltare a software-ului, lansând în același timp un produs complet funcțional la timp și la valoare maximă.

Deși aceste obiective sunt de înțeles, sfătuiesc să nu renunți la începutul proiectului echipei de QA, chiar dacă nu găsesc bug-uri zilnic, deși aceasta ar putea părea o opțiune ușoară pentru a reduce salariul și a accelera ciclurile de lansare a software-ului.

De asemenea, vă recomand să urmați cele mai bune practici de asigurare a calității pe tot parcursul proiectului pentru a valida că soluția dvs. și toate caracteristicile sale funcționează conform așteptărilor și nu vă compromit securitatea cibernetică.

Și o astfel de practică este crearea și menținerea unei documentații adecvate de QA.

Ce este mai exact documentația de asigurare a calității? Cum vă poate ajuta să obțineți cele mai multe beneficii din accesarea serviciilor de QA și testare? Și există o modalitate de a optimiza costurile și efortul asociate cu pregătirea documentației QA, minimizând în același timp riscul de a dezvolta o aplicație prost arhitecturată, plină de erori și de a trebui să reconstruiți totul de la zero?

Să aflăm!

Introducere în documentația QA

Documentația QA este o colecție de documente și artefacte create și întreținute de o echipă de asigurare a calității în timpul procesului de dezvoltare și testare a software-ului.

Poate include diverse documente care descriu strategia de testare, planuri de testare, cazuri de testare, scripturi de testare, date de testare, jurnalele de testare, rapoarte de erori și orice altă documentație legată de activitățile de QA. Aceste documente facilitează comunicarea între membrii echipei QA, oferă linii directoare pentru testare și ajută la identificarea și rezolvarea eficientă a problemelor.

Astfel, documentația QA joacă un rol vital în asigurarea calității și fiabilității produselor software - și acesta este obiectivul major pe care îl urmăresc clienții noștri.

Ce documente QA sunt folosite în proiectele software

În scopul acestui articol, vă vom oferi o scurtă prezentare generală a documentelor de asigurare a calității care formează coloana vertebrală a documentației de testare într-un proiect de dezvoltare software:

  • Un plan de testare este un document QA care conturează abordarea generală, obiectivele, domeniul de aplicare, resursele și programul activităților de testare a software-ului. Mai simplu spus, acoperă:
  1. Numele și descrierea unui proiect, inclusiv tipurile de aplicații testate și funcționalitatea de bază a acestora
  2. Metodele de testare preferate (manuale, automate, mixte) și tipurile de testare (funcții noi, integrări, compatibilitate, regresie etc.)
  3. Caracteristicile care trebuie testate, alături de un program aproximativ pentru fiecare activitate de testare
  4. Compoziția optimă a echipei
  5. O privire de ansamblu asupra riscurilor și problemelor care pot apărea în timpul procesului de testare
  6. O listă de documente de testare pe care echipa dvs. de QA le va folosi în timpul proiectului

O regulă generală este să scrieți un plan de testare la începutul unui proiect software atunci când echipa dvs. IT definește cerințe funcționale și nefuncționale pentru o soluție software, alege o stivă de tehnologie adecvată și o metodologie de management de proiect și creează o foaie de parcurs pentru proiect.

În mod normal, durează până la trei zile pentru a pune și revizui un plan de testare simplu fără cazuri de testare.

  • Cazurile de testare descriu scenarii de testare specifice, inclusiv datele de intrare, rezultatele așteptate și pașii de executat. Cazurile de testare sunt concepute pentru a verifica funcționalitatea, performanța sau alte aspecte ale unui produs software. Vă rugăm să rețineți că cazurile de testare sunt utilizate atât de serviciile de testare manuală, cât și de echipele de servicii de automatizare QA. În acest fel, veți asigura o acoperire maximă de testare, ceea ce înseamnă că nicio eroare nu se va manifesta în codul de producție.

Chiar dacă un inginer calificat QA ar putea scrie un caz de testare la nivel înalt în doar zece minute, numărul de cazuri de testare pentru un proiect de dimensiuni medii ar putea depăși cu ușurință 4.000 (și mai departe). Înmulțiți acest număr cu rata medie pe oră a inginerului QA (65 USD pe oră om pentru piața din America de Nord) și veți ajunge la o cifră impresionantă.

  • Listele de verificare sunt liste concise, detaliate de acțiuni sau sarcini care trebuie finalizate sau verificate în timpul procesului de testare. Astfel, o listă de verificare din documentația QA include de obicei o listă completă a modulelor funcționale, secțiunilor, paginilor și altor elemente ale unei aplicații sau ale unui sistem ciber-fizic care necesită atenția unei echipe de QA.

În proiectele mai mici, listele de verificare pot înlocui cu succes cazuri de testare detaliate (mai multe despre asta mai târziu.)

  • Scripturile de testare sunt bucăți de cod scrise folosind instrumente sau cadre de testare specifice, cum ar fi Selenium, Appium și Cucumber. Aceste scripturi automatizează execuția cazurilor de testare, făcând procesul de testare mai eficient - în special, în proiecte software mari și complexe, cum ar fi sistemele SaaS multi-chiriași și aplicațiile populare B2C, care sunt actualizate frecvent și unde chiar și cele mai mici erori pot avea un impact negativ asupra experienței utilizatorului. .
  • Datele de testare sunt datele utilizate de inginerii QA pentru a evalua performanța, funcționalitatea, fiabilitatea și securitatea unei soluții software în diferite condiții. Poate include valori de intrare eșantion, condiții la limită și diferite scenarii. De exemplu, echipa dvs. de asigurare a calității poate folosi date de testare pozitive și negative pentru a valida pentru a intra într-un sistem software doar acreditările corecte de conectare. În mod similar, datele de testare pot fi utilizate pentru implementarea restricțiilor de vârstă în anumite tipuri de aplicații sau pentru investigarea modului în care o aplicație gestionează sarcinile de lucru crescute.
  • Jurnalele de testare documentează procesul de execuție a testului, inclusiv data și ora performanței testului, rezumatul cazurilor de testare executate, rezultatele obținute de echipa de QA, capturi de ecran și orice probleme sau observații observate în timpul testării. Un jurnal de testare este o sursă vitală de informații pentru urmărirea progresului testării, identificarea tiparelor sau tendințelor rezultatelor testelor și furnizarea unei evidențe istorice a activităților de testare. Ajută la identificarea și rezolvarea problemelor în mod eficient și servește drept referință pentru eforturile viitoare de testare sau audituri.
  • Rapoartele de defecte sau erori sunt documente de testare care detaliază defectele și problemele găsite în timpul activităților de QA. Mai exact, ele descriu erorile detectate, severitatea și prioritatea acestora și condițiile în care apar defectele. Un manager QA folosește rapoarte de erori pentru a atribui sarcini specialiștilor în testarea software-ului și pentru a urmări starea acestora.
  • O matrice de trasabilitate mapează relația dintre cazurile de testare și cerințe sau alte artefacte. Ajută la asigurarea faptului că toate cerințele sunt acoperite în mod adecvat de cazurile de testare, permite urmărirea acoperirii testelor pe tot parcursul proiectului și elimină activitățile de testare redundante.
  • Un raport de finalizare a testului rezumă activitățile de testare efectuate într-un proiect, inclusiv starea de execuție a testului, numărul de cazuri de testare executate, defecte găsite și orice sarcini în așteptare.

De ce este importantă documentația QA?

Deținerea documentației de asigurare a calității ajută la obținerea rezultatelor exacte pe care clientul și echipa de inginerie software le așteaptă.

Acest lucru se realizează printr-o combinație de factori, inclusiv următorii:

  1. Documentația QA oferă instrucțiuni și linii directoare clare pe care specialiștii în testarea software-ului le pot urma pentru a îndeplini sarcinile în mod constant, reducând variațiile și îmbunătățind calitatea generală a produselor sau serviciilor.
  2. Documentația de asigurare a calității reduce probabilitatea detectării defectelor și erorilor critice în soluțiile software la sfârșitul procesului de dezvoltare, jucând astfel un rol esențial în controlul bugetului. Experții QA sugerează că costul remedierii erorilor crește exponențial cu fiecare etapă a proiectului, variind de la 3X pentru faza de proiectare/arhitectură la 30X și mai mult pentru faza de implementare.
  3. Documentația de asigurare a calității ajută la asigurarea conformității cu cerințele și standardele de reglementare pe care trebuie să le îndeplinească organizația dvs. prin simplificarea auditurilor și furnizarea de dovezi ale proceselor, procedurilor și controalelor de calitate stabilite.
  4. Prin documentarea procedurilor, controalelor și proceselor de evaluare a riscurilor, documentația de testare a software-ului ajută organizațiile să identifice riscurile potențiale și să ia măsuri preventive pentru a minimiza impactul acestora asupra afacerii și satisfacției clienților.
  5. Noii angajați se pot referi la documentația dvs. de asigurare a calității pentru a înțelege procesele și procedurile de calitate dintr-un proiect software, reducând curba de învățare și asigurând o pregătire consecventă în întreaga organizație.
  6. Prin documentarea neconformităților, acțiunilor corective și lecțiilor învățate, companiile pot identifica zone de îmbunătățire și pot implementa schimbări pentru a spori eficiența și calitatea.
  7. Având procese și proceduri de QA bine documentate, poate spori încrederea clienților în produsele sau serviciile companiei dumneavoastră. Documentația extinsă de testare a software-ului demonstrează angajamentul față de calitate și asigură că organizația are sisteme robuste pentru a oferi rezultate consistente și fiabile.
  8. În situațiile în care apar dispute legale sau retrageri de produse, documentația QA poate servi drept dovezi importante. Poate demonstra că organizația dumneavoastră a urmat procesele de calitate stabilite, și-a luat măsurile de precauție necesare și și-a îndeplinit obligațiile.

Cât durează crearea documentației QA?

Un răspuns sincer la această întrebare va fi „Depinde”.

Mai exact, intervalul de timp și costurile asociate depind de mai mulți factori, cum ar fi dimensiunea organizației dvs. și complexitatea proceselor sale, industria în care vă aflați și tipul de software pe care îl construiți.

Dacă v-ați angajat anterior în proiecte de dezvoltare software și aveți o echipă internă de QA, este posibil să puteți reutiliza documentația QA existentă pentru proiecte noi. Utilizarea șabloanelor și a instrumentelor specializate pentru crearea și întreținerea documentației de testare a software-ului, cum ar fi managementul proiectelor și software-ul wiki, este de asemenea utilă.

Aveți întotdeauna nevoie de documentație QA - și este posibil să reduceți costurile de creare și întreținere a acesteia?

Oricât de utilă, documentația de asigurare a calității poate crește costurile proiectului software datorită efortului suplimentar și personalului necesar pentru crearea și întreținerea acestuia.

Aceasta ar putea fi o problemă pentru start-up-urile care operează pe scară largă sau pentru întreprinderile care trec prin transformare digitală în perioade de recesiune.

Orice tip de proiect software are nevoie de o documentație super-detaliată de QA - și este posibil să se reducă costurile asociate cu aceasta?

Pentru a determina cea mai bună abordare a creării documentelor QA, luați în considerare următorii factori:

  • Dimensiunea și bugetul proiectului . În cazul proiectelor cu buget mic și pe termen scurt (cu excepția cazului în care vorbim despre proiecte extrem de inovatoare și tehnice executate de echipe IT mari), nu este nevoie să complici prea mult procesul de documentare, astfel încât echipa ta de QA poate opta pentru liste de verificare în loc de liste detaliate. cazuri de testare. În ceea ce privește documentul planului de testare, care determină strategia generală de testare, putem renunța la redactarea acestuia și în cazurile în care nu există buget pentru acesta sau dacă proiectul este pe termen scurt și nu implică tehnologii de vârf.
  • Dimensiunea și experiența echipei QA . Cu cât sunt mai mulți ingineri QA pe proiect și cu cât au mai puțină experiență în asigurarea calității, cu atât este mai dificil să controlezi procesul de testare. Prin urmare, aveți nevoie de documentație extinsă de asigurare a calității pentru a menține membrii echipei pe aceeași pagină. În astfel de cazuri, este recomandabil să se încline spre cazurile de testare, mai degrabă decât către liste de verificare, pentru a distribui mai eficient sarcinile între ingineri pe baza experienței și cunoștințelor lor și pentru a implica specialiști mai experimentați QA, care în mod normal au tarife orare mai mari, în crearea cazurilor de testare.
  • Abordare agilă vs. cascadă a managementului proiectelor . În timp ce echipa ITRex a rezumat diferențele cheie dintre metodologiile Agile și Waterfall în această postare pe blog, merită menționat ceea ce diferențiază cele două abordări în ceea ce privește asigurarea calității. În Waterfall, testarea software-ului este salvată pentru final, ceea ce înseamnă că echipa dvs. de QA va efectua teste numai atunci când partea de codificare este 100% completă. Din motive evidente, nu o pot face fără documentația adecvată de asigurare a calității, care ar trebui pregătită în timpul fazei de elicitare a cerințelor. În Agile, unde echipele IT tind să construiască piese mai mici de software în mod iterativ și să testeze codul la sfârșitul fiecărui ciclu, documentația creativă cuprinzătoare QA în prealabil nu este preferată. Totuși, vă recomand să scrieți un plan de testare pentru a alinia mai bine situația actuală cu așteptările clienților și ale inginerilor software.

În general, deținerea documentației QA ar putea aduce beneficii oricărui proiect de dezvoltare software, indiferent de complexitate și dimensiune.

Cu toate acestea, în calitate de companie orientată către client, suntem întotdeauna gata să vă sugerăm soluții alternative ținând cont de obiectivele și bugetul dumneavoastră.

Dacă nu sunteți sigur dacă trebuie să pregătiți documentație extinsă de asigurare a calității pentru proiectul dvs. și căutați ingineri calificați QA cărora să le încredințați sarcina, contactați ITRex! Ne vom asigura că lansați o soluție software de înaltă performanță, fără erori la timp, la buget și în conformitate cu specificațiile!


Publicat inițial la https://itrexgroup.com la 30 iunie 2023.