ABONAMENTE VIDEO REDACȚIA
RO
EN
×
▼ LISTĂ EDIȚII ▼
Numărul 46
Abonament PDF

Asigurarea calității, controlul calității, verificarea și testarea. Este vreo diferență?

Claudiu Draghia
Quality Manager @Capgemini
TESTARE

În lumea testării și dezvoltării de software, se pare că există o confuzie cu privire la asigurarea calității, controlul calității, verificare și testare. Vă voi arăta diferențele prin ochii și experiența mea.

Aristotel (384-322 a.Chr.) Calitatea nu este un act, este un obicei.

John Ruskin (1819-1900)Calitate nu este un accident; este întotdeauna rezultatul unui efort inteligent. 

Henry Ford (1863 -1947) Calitatea înseamnă să faci corect atunci când nimeni nu se uită. 

Joseph Juran (1904-2008) Rezistență culturală la schimbare a fost una dintre cele mai mari probleme în procesul de reformare a calității.

Edwards Deming (1900-1993) Calitatea este responsabilitatea fiecăruia și niciodată nu trebuie să se oprească din  îmbunătățire. 

Steve Jobs (1955-2011) Fii un etalon de calitate. Unii oameni nu sunt obişnuiți cu un mediu în care se așteaptă excelență. 

Este dificil de explicat și definit ce înseamnă calitate într-un mod generic. Dar o putem înţelege în relație cu două elemente cheie: perspectivă și timp. Calitatea este în ochii privitorului. Felul în care vezi și percepi calitatea joacă un rol important. Așteptările sunt de asemenea importante (mai ales că sunt greu de specificat). Calitatea este percepută și din perspectiva timpului. Ceea ce a fost un atribut al calității câțiva ani în urmă, ar putea fi atât de banal astăzi încât nici măcar nu-l iei în considerare. Gândiți-vă doar la diferența dintre un iPod și Walkman din anii '90; cine ar mai cumpăra un "player audio" care este de cel puțin de 10 ori mai mare, mai greu, cu mai puțină autonomie decât un iPod?.
Din moment ce calitatea joacă un rol important în vânzarea și cumpărarea de bunuri și servicii, au existat dintotdeauna încercări de a o cuantifica, de a-i determina componentele, proprietățile pentru a o reproduce indiferent de circumstanțe. Asta este unul din scopurile standard.

Standardele vă oferă o modalitate de a evalua dacă activitățile voastre respectă sau nu, un set standard de procese considerate bune practici.
În multe situații, atunci când este vorba de calitate, accentul se pune pe procese în detrimentul oamenilor care fac aceste activități. Există o percepție, conform căreia, un proces bun este ceva ce poate fi urmat de oricine. Ar putea fi adevărat în unele industrii, dar cred cu tărie că, datorită componentei creative, acest lucru nu se aplică pentru dezvoltarea de software.

Dar la ce se referă Asigurarea Calității? Asigurarea Calității constă într-un mijloc de monitorizare a proceselor și metodelor pentru a asigura calitatea.
Pentru a asigura un nivel dorit al calității este necesar un sistem. Acest sistem este de obicei numit Sistemul de Management al Calității (sună foarte ciudat și birocratic; în multe situații este foarte birocratic) . Un astfel de sistem este format din 3 părți principale:

Asigurarea Calității este definită plecând de la o Politică de Calitate, un document care poartă semnătura CEO. Da, ar trebui să fie întotdeauna executivul cel care definește în mod clar, care sunt procesele și standardele pe care angajații trebuie să le urmeze (acest lucru este prezent în standardele CMMI și ISO). Ar trebui să vedeți Asigurarea Calității precum "ceea ce compania se așteaptă de la tine să faci", cum va verifica folosirea proceselor și care sunt celelalte mecanisme necesare unei bune funcționări.

Planificarea Calității este un pas firesc atunci când apare un proiect nou sau se schimbă cerințele. Nu toate regulile se pot aplica indiferent de context. Totul este dependent de context și croirea proceselor şi standardelor trebuie să se facă la un nivel conștient. Poti să nu folosesti ceea ce nu se aplică, dar trebuie să fie transparent pentru toate părțile implicate în proiect.

Controlul de Calitate. Doar pentru că este un proces definit, nu înseamnă că este utilizat sau respectat. Oamenii nu iau în considerare de multe ori procesele (cu motive întemeiate). Trebuie să existe campioni care verifică dacă procesele sunt utilizate și atunci când acestea sunt ineficiente să împingă schimbarea sau adaptarea lor. Scopul Controlului Calității ar trebui să vizeze prevenirea: dacă ai făcut ceva într-un mod "de nedorit", este deja făcut. Tot ce poți face este să înveți din greșeli sau să atenuezi efectele. Controlul Calității nu ar trebui să creeze un sistem de verificare, ci un sistem de prevenire și alarmă.

În afară de verificarea folosirii proceselor (dacă sunt înțelese și/sau utilizate în mod corespunzător), Controlul Calității este de asemenea responsabil pentru verificarea standardelor legate de produs. Verificarea faptului că produsul respectă anumite standarde este unul dintre motivele pentru care, uneori, testarea este considerată sinonimă cu Controlul Calității. Controlul Calității se realizează prin utilizarea unor verificări.
Verificarea poate fi privită precum "procesul de evaluare prin folosirea de algoritmi decizionali, bazat pe observațiile specifice ale produsului". Nu știu cum sună pentru tine, dar pentru mine nu sună "a testare". Nu este tot ceea ce eu fac când testez. Testarea este mult mai mult. Este "explorare, descoperire, investigare și învățare." (Michael Bolton).

Este adevărat că aproape oricine poate urma o listă de verificări punctuale. Poți lua toate cerințele și poţi construi verificări pentru fiecare afirmație în parte. Dar Testarea este mult mai mult. Testarea este un meșteșug.

Sunt sigur că nu este ușor să privești testarea ca pe un meșteșug. Un meșteșug nu poate fi dobândit doar prin aplicarea unor procese. Un meșteșug poate fi învățat, în timp, cu răbdare. Testarea vine cu o mare provocare: practica. Cum poți să te pregătești practic pentru următorul build? Există o cale? Testarea se bazează și pe experiență, pe euristică. Experiența te face să găsesți ceea ce este de negăsit, te va ghida spre acel scenariu sau situație la care nimeni nu s-a gândit încă.

Cred că este dificil de înțeles testarea ca un meșteșug, un meșteșugar nu poate fi "produs" repede. Este nevoie de pasiune, angajament, cunoștințe și răbdare pentru a deveni un tester bun.

Definiția testării care îmi place cel mai mult vine de la James Bach : "Testarea este procesul de evaluare a unui produs prin învățarea despre el prin explorare și experimentare, care include într-o oarecare măsură: interogare, studiu, modelare, observația, deducție, etc."

Am ajuns și la întrebarea: cum recunoști un tester bun? Îl vei găsi la conferințe despre testare și întâlniri locale ale testărilor. Când ai o pasiune vei încerca întotdeauna să găsești alți oameni care simt asemenea ție. Îl vei vedea cum nu renunță niciodată la a-și imagina ceea ce este de neconceput. Te vei putea baza întotdeauna pe angajamentul lui. Îi vei vedea citind cărți, reviste sau articole despre testare. Dar mai ales, dacă nu au auzit despre Michael Bolton (testărul nu cântărețul) sau despre James Bach, când termină de citit acest articol îi va căuta și va savura blogurile lor.

Sper că rândurile de mai sus v-au edificat în mare cu privire la diferențele dntre Asigurarea Calității, Controlul Calității, Verificare și Testare.

Testării sunt uneori cea din urmă verigă în "lanțul de producție". Noi vedem produsul final. Noi vedem tot ce ar fi putut fi mai bine. Primim uneori titlul de inginer de asigurare a calității pentru că odată ce vedem ce nu a mers bine, luptăm pentru ca niciodată să nu se mai întâmple. Dar aceasta este doar o parte din ceea ce este Asigurarea Calității.

Deci, ce este testarea în cele din urmă? Este un meșteșug. Este un meșteșug care ia părți din Asigurarea Calității, Controlul Calității, Verificare, le combină cu observație , explorare, descoperire, investigare, studiu, învățare, modelare și inferență.

În aceeaşi ediţie ... (46)

▼ TOATE ARTICOLELE ▼

Conferință

Sponsori

  • ntt data
  • 3PillarGlobal
  • Betfair
  • Telenav
  • Accenture
  • Siemens
  • Bosch
  • FlowTraders
  • MHP
  • Connatix
  • UIPatj
  • MetroSystems
  • Globant
  • Colors in projects