TSM - Test planning-generalități

Răzvan Nicoară - Test Automation Engineer @ Flow Traders

Fie că am avut oportunitatea să facem sau doar am participat la implementarea unui test plan, cu toții contribuim la execuția acestuia.

Un test plan descrie scopul și împarte în faze efortul care urmează să fie depus în vederea testării unui produs. De asemenea, cuprinde informații legate de mediul de testare, priorități, planificări legate de durată și perioada de testare. Totodată, include strategia de testare, test case-uri dar și posibile riscuri, persoane implicate etc.

Cum construim un test plan?

Înțelegerea

Scrierea unui test plan necesită în primul rând, o înțelegere în detaliu a scopului și a produsului care urmează să fie implementat.

Participarea la ședințe și discuții este esențială încă din fazele incipiente ale produsului, ba chiar din fazele de idee sau concept. Astfel, viitorul produs poate fi analizat și discutat, atât în echipă de dezvoltare cât și în echipa de business.

"There is no such thing as stupid question." Este foarte important să avem în minte momentul în care facem un test plan. Întrebările pot da naștere unor situații și cazuri care până în momentul respectiv nu au fost analizate în detaliu, fie au fost considerate clare sau chiar omise. Totodată clarifică în echipă modul de funcționare al produsului, posibilele sale dependințe și integrări cu alte produse.

De asemenea, este necesar să înțelegem cum va fi folosit noul produs, ce criterii de performanță trebuie să îndeplinească, cine anume îl va folosi și mai ales ce problemă va rezolva.

Fiindcă o bună parte din aplicațiile din domeniul financiar se bazează pe comunicarea cu bursa, trebuie să luăm în considerare și acest aspect. Este prioritar să investigăm și să înțelegem modalitățile de comunicare, implicațiile pe care le au și de asemenea, limitările lor.

De aceea, se impune să studiem documentația oferită de către bursă, pentru a ne face o imagine de ansamblu privind modul de interacționare cu aceasta, însă e important de avut în vedere și posibilitatea de a implica persoane din partea bursei pentru clarificarea diferitelor scenarii.

Odată ce am parcurs toate cele menționate mai sus putem trece la pasul următor.

Planificarea

În faza de planificare se stabilește cine va face partea de testare dar și cine sunt persoanele care vor fi implicate în executarea planului de testare, precum: DevOps, Database Specialists, Server Administrators, Technical Writers, etc.

Vom lua în considerare experiența persoanelor implicate, cunoștințele lor tehnice și generale, privitoare la domeniu.

Trebuie ținut cont și de aspecte precum pregătirea persoanelor implicate, nevoia lor de ramp-up dar și/sau de training.

Deoarece în domeniul financiar performanța și disponibilitatea produsului sunt indispensabile, este obligatorie testarea produsului, pentru a ne asigura că îndeplinește toate criteriile din mediul de producție.

Alegerea toolurilor de testare este de asemenea un aspect important. Totodată trebuie luate în calcul lucruri precum integrarea testelor și planul după care testele vor fi rulate. La aceasta se poate adăuga și atenția acordată unei nevoi speciale pentru un anumit tip de hardware sau configurație.

Tot în această fază se stabilesc responsabilitățile fiecărui membru implicat, ce anume livrează fiecare și când; de asemenea, se fixează estimările legate de efortul întregii echipe.

Pentru a avea o estimare cât mai bună este recomandat ca tot în această fază să se dezvolte test case-urile. Este bine să avem în vedere pregătirea mediului de lucru, posibilele riscuri și modalitatea de implementare a planului; anumite taskuri vor putea fi executate în paralel, iar altele vor avea dependințe.

Un aspect important în ceea ce privește test case-urile, este validarea lor atât în echipa de dezvoltare cât și în echipa de business.

Tot acum este recomandat să stabilim și criteriile după care vom putea considera produsul pregătit de livrare.

Livrarea

În această parte, vom stabili ce anume vom oferi pe parcursul și la finalul procesului de testare, și anume: scenarii de test, teste automate, rezultate pentru testele manuale și automate, raport privind defectele și performanța produsului testat, release notes.

Ar trebui să construim un test plan?

În funcție de produsul pe care urmează să îl testăm, vom avea întrebări precum:

"Este nevoie de un Test plan dacă produsul este:

Avem un test plan

Odată ce avem un test plan creat pentru proiectul care urmează să fie testat, vom observa faptul că foarte multe lucruri din proces se simplifică.

Astfel, când începem proiectul, avem deja formată o imagine de ansamblu asupra sa. Persoanele implicate își cunosc responsabilitățile.

Deoarece procesul de dezvoltare este unul dinamic, în cazul în care nu putem avansa pe o anumită zonă, avem un plan după cere ne ghidăm și cu ușurință, putem găsi o zonă în care putem progresa.

Cunoscând responsabilitățile membrilor vom găsi cu ușurință persoana potrivită cu care să discutăm diferitele probleme apărute.

Unele situații pot deveni mult mai complexe sau mai simple decât au fost prevăzute. În acest fel este foarte ușor să ne pierdem targetul și să deviem de la cursul normal al procesului. Dar având un plan, vom reuși să păstrăm concentrarea asupra scopului stabilit.

Nu avem un test plan

În momentul în care nu avem un plan, concentrarea echipei nu este clară, nu se va ști unde începe și unde se va termina responsabilitatea sa.

Avansarea fără un plan pe un nou proiect este precum avansarea pe un teren minat, niciodată nu vei ști ce poate urma, dacă există un risc sau nu în ceea ce urmează să faci.

Se poate pierde timp valoros prin implicarea neprevăzută a altor membri în echipă.

Concluzii

Un test plan ne va da un extra confort pe tot parcursul dezvoltării produsului, oferindu-ne ghidaj și avertizări în ceea ce facem și urmează să facem indiferent de tipul de proiect sau de complexitatea sa.