Lucrez de mai bine de șapte ani în domeniul managementului calității produselor software, după o experiență de treisprezece ani ca programator, fiind implicată în ultimii patru ani și în recrutarea de specialiști. Datorită parcursului carierei mele, am auzit opinii variate despre meseria de tester, care îmi dau sentimentul că această meserie și potențialul ei de a dezvolta o carieră, este încă greșit înțeleasă. De asemenea, termenii de tester și QA engineer sunt adesea interschimbați folosindu-se impropriu.
Există încă mulți candidați la o poziție de tester care privesc această oportunitate, ca pe o potecă de acces spre ceea ce consideră ei a fi triumful carierei în IT și anume programarea, fără a-și da șansa de a înțelege posibilitatea de dezvoltare profesională în domeniul managementului calității.
O parte din cei care practică meseria de tester la un nivel de începător, se grăbesc să folosească impropriu denumirea de QA engineer, al cărei înțeles adesea le scapă. Și atunci, mă întreb în mod firesc: cât de încrezător poți fi în cariera pe care ai putea să o dezvolți, atâta timp cât îți este rușine să pronunți numele meseriei pe care o practici?
Pe de altă parte, în mediul nostru sunt încă manageri de proiecte implicați în recrutarea de testeri, care minimizează rolul pe care un tester trebuie să și-l asume pentru asigurarea calității produsului software, ajungând astfel să omită a cere cunoștințe tehnice candidaților la această poziție.
În consecință, dezvoltarea oamenilor profesioniști în asigurarea și controlul calității are de suferit.
Ținând cont de faptul că între multitudinea de produse software care pot fi găsite pe piață calitatea este cea mai importantă, creșterea și dezvoltarea profesioniștilor în domeniu are o importanță majoră. Ca urmare, atunci când căutăm oameni care să exercite meseria de tester sau căutăm un loc de muncă în domeniu, trebuie să privim dincolo de nevoile imediate ale proiectului. Cerințele pe care le avem la angajarea unui tester, trebuie să fie de așa natură încât să sprijine dezvoltarea carierei.
Cu riscul de a vorbi despre lucruri bine știute, să începem prin a reaminti faptul că Managementul Calității produsului software este realizat prin corelarea și conlucrarea a două ramuri mari, care interferă, rămânând diferite în esența lor:
Asigurarea Calității care are ca scop câștigarea încrederii că cerințele de calitate vor fi îndeplinite, având orientare spre proces și folosind ca pârghii:
Controlul Calității care are ca scop verificarea faptului că cerințele de calitate ale produsului sunt îndeplinite folosind:
În timp ce Asigurarea Calității produsului software este în responsabilitatea factorilor decizionali, Controlul Calității este responsabilitatea testerilor.
Ținând cont de aceste aspecte, să identificăm modul de implementare pentru a sprijini dezvoltarea unei cariere în Managementul Calității.
În general, primul pas în carieră este acela de junior tester, care adesea primește sarcini de verificare a defectelor și rulare a testelor (manual sau automat). Această etapă, ținând cont de curba de învățare, trebuie să fie de scurtă durată. De aceea, pretențiile pe care le avem la angajare e bine să aibă în vedere, pe lângă nevoia imediată de a avea un junior tester, perspectiva profesională pe care o avem de oferit.
La acest nivel de experiență, în general, nu putem vorbi despre QA engineering, lucru care presupune optimizare de procese și planificare.
Apoi, în calitate de testeri, ne dezvoltăm abilitatea de control al calității unei cerințe funcționale, în concordanță cu cerințele generale de calitate ale produsului, prin acoperirea cu un volum necesar si suficient de teste. Pentru a parcurge această etapă, este nevoie de o bună cunoaștere a aspectelor tehnice și funcționale ale unei componente precum și de cunoașterea tehnicilor de testare. Privind etapa menționată anterior ca un prim pas în evoluția carierei, dacă este ușor de parcurs, satisfacția și implicit motivarea noastră se reflectă într-o atitudine pozitivă. Timpul în care realizăm acest progres este, în general, strict corelat cu bagajul de cunoștințe tehnice pe care îl avem în diferite domenii cum ar fi:
Buna cunoaștere a procesului și atenția acordată respectării acestuia, personal și de către ceilalți membri ai echipei, precum și o atenta estimare și o corectă măsurare a calității funcționalității testate, contribuie la procesul de asigurare a calității produsului.
Cunoașterea produsului din punct de vedere al utilității, al arhitecturii funcționale și tehnice precum și învățarea tipurilor și tehnicilor de testare funcțională și non-funcțională este un pas important pe care trebuie să îl parcurgem în procesul de creștere profesională. Pentru facilitarea acestuia, trebuie să avem o preocupare continuă în:
Dacă privim lucrurile din perspectiva asigurării calității, acum putem vorbi despre o contribuție adusă acesteia prin planificarea tipurilor de testare, vegherea procesului având opinii pertinente legate de eventualele derapaje apărute, precum și idei de îmbunătățire sau adaptare a acestuia.
În continuare, ne putem implica în elaborarea planului de testare, având în vedere toate caracteristicile funcționale și non-funcționale ale produsului precum și caracteristicile businessului căruia acesta îi este dedicat. Cunoașterea uneltelor de testare, măsurare și raportare a caracteristicilor de calitate specifice rolului produsului software, ne vor ajuta în elaborarea unei strategii care să asigure o calitate competitivă a acestuia. Succesul strategiei de testare este în strânsă interdependență cu implementarea corectă a procesului de dezvoltare, fapt pentru care, implicarea noastră ca testeri în buna desfășurare a procesului, devine iminentă.
Ajunși în acest punct, după ce am parcurs drumul cu răbdare și dedicație, putem vedea perspectiva cu claritatea și siguranța pe care o dobândesc profesioniștii. Dezvoltarea poate continua în zona managementului, cea de arhitectură funcțională sau analiză de business la fel de bine cum poate continua în zona de programare sau consultanță. Totul depinde de abilitați, de dedicare și scop.
Dezvoltarea unei cariere în testare până la a ajunge un factor decizional responsabil pentru asigurarea calității, se poate face doar folosind aceleași cunoscute ingrediente:
Un avantaj important pe care îl putem avea este șansa de a face parte dintr-o echipă care să ne susțină și să ne ajute prin:
Să revenim asupra ideii că printre multitudinea de produse software existente pe piață, ceea ce contează este calitatea. Experiența a dovedit că pentru a ocupa un loc de top în această competiție este nevoie de un proces bine implementat și mulți profesioniști atât în managementul de proiect, în arhitectură și programare cât și în managementul calității. Produsul este un întreg al cărui rotunjime este dată de toate acestea la un loc.
Maturizarea managementului care începe să se facă simțită și în comunitatea noastră, vine în sprijinul rolului pe care Managementului Calității îl are în succesul produselor software și în consecință, a dezvoltării de specialiști în domeniu, așa încât povestea pe care am spus-o are tot mai multe exemple concrete.
Pentru a crește și a ne dezvolta ca profesioniști QA, trebuie să ne dăm șansa de a înțelege meseria de tester cu nevoile și potențialul ei. Să încetăm a o privi ca o alternativă pe care o alegem pentru că nu suntem încă destul de buni să facem altceva sau ca pe un rol de "ajutor de developer", pentru că, dincolo de aceste înțelesuri izvorâte din superficialitate și necunoaștere, se află o carieră frumoasă pe care o putem dezvolta foarte departe, cu efort și dedicare.
de Cristian Pup
de Alin Luncan
de Corina Pip