Portofoliul personal in testare software (QA)

In perioada de inceput a studierii oricarei arii din domeniul IT este important sa fixam cat mai bine notiunile teoretice, dar in paralel ele trebuie si exersate, pe cat posibil. Aria testarii software nu face exceptie, unde pentru exersarea cunostintelor acumulate putem dezvolta anumite proiecte personale si teme de lucru, organizate intr-un portofoliu personal.

Ce este un portofoliu personal?

Pentru a putea arata si pune in valoare cunostintele si abilitatile proaspat dobandite in IT in general, si in testare software in particular, este nevoie sa putem prezenta munca noastra practica intr-un portofoliu personal.

Acesta constituie practic colectia de proiecte, teme, teste si exercitii pe care le-am facut sau parcurs cu scopul de a invata si a demonstra ca avem un nivel solid de cunostinte care ne recomanda pentru un anumit loc de munca, in acest caz in IT, pe ramura testarii.

Mai ales la inceputurile carierei in IT si nu numai, portofoliul personal este principala modalitate de a acumula o prima experienta practica si de a ne pune in lumina aptitudinile, in lipsa altor atuuri care apar odata cu timpul, precum experienta de lucru. De aceea, este extrem de importanta prezenta unui portofoliu solid si bine definit, care sa fie ca o carte de vizita relevanta, impreuna cu CV-ul.

Portofoliul in testare software (QA)

Pe aproape orice ramura din domeniul IT se poate construi, cu putina dedicare si creativitate, un portofoliu care sa puna in valoare cunostintele persoanei respective. Inclusiv pe testare se poate construi si organiza un astfel de portofoliu, chiar daca la prima vedere poate nu este la fel de intuitiv comparativ cu alte arii ale IT-ului, precum programarea web unde poti dezvolta o colectie de site-uri de exemplu.

Cu toate acestea, si pe testare se poate dezvolta un portofoliu personal, iar in continuare voi prezenta cateva idei utile pentru inceput, dar care cu siguranta nu sunt singurele. Diversitatea ideilor este destul de mare, iar creativitatea trebuie sa fie un punct cheie pentru definirea unui portofoliu original. Pe masura ce invatam si acumulam experienta, ne putem da seama singuri de unele lucruri pe care le putem implementa practic si adauga la portofoliul nostru.

1. Cazuri de testare (testcases)

Un prim proiect pe care il putem dezvolta in cadrul unui portofoliu pe testare software se refera la cazuri de testare (testcases). Acestea reprezinta o lectie de baza pentru invatarea testarii software, si trebuie exersata in prealabil.

Astfel, putem sa ne alegem o aplicatie care ne este mai familiara sau o functionalitate specifica si sa scriem mai multe cazuri de test pe care le-am executa noi, intr-un mediu real. Esenta este sa fie gandite corect si scrise cat mai complet si unitar.

Un exemplu de testcase facut de mine pe GitHub

Acestea pot fi trecute foarte bine intr-un repository pe GitHub pentru a le arata usor oricui doreste, sau pot fi scrise si in alte aplicatii de project management, precum bine-cunoscuta Jira, ocazie cu care aratam ca stim sa lucram si cu aceasta.

2. Rapoarte pentru bug-uri descoperite (Bug reports)

Un al doilea proiect extrem de relevant pe care il putem dezvolta pentru portofoliul personal pe testare este legat de prezentare diverselor erori si defecte pe care le depistam noi in diferitele site-uri si aplicatii pe care le folosim.

Acest proiect este foarte important pentru ca reflecta una dintre principalele sarcini de lucru ale unui tester, si anume identificarea si raportarea bug-urilor. Si aici putem crea un repository dedicat pe GitHub in care sa trecem toate defectele din aplicatii descoperite de noi, din aplicatii dedicate exersatului testarii sau din cele reale pe care le folosim.

Exemplu de bug report

Important este ca rapoartele sa fie scrise detaliat, cu toate elementele specifice unui bug report, corecte si ingrijite. Si aici putem sa le trecem eventual in alte aplicatii specifice testarii, precum Jira sau Bugzilla.

3. Testare de API (API testing)

O alta componenta esentiala pentru un tester incepator este testarea de API-uri. Acestea reprezinta o componenta fundamentala pentru orice aplicatie software care presupune livrarea unor informatii, si necesita deci a fi testata.

Exemplu de test de API, de pe GitHub-ul propriu

Testarea de API-uri se poate realiza cu niste tool-uri dedicate, precum Postman sau SoapUI, ceea ce ajuta la deprinderea acestora pentru eventualele locuri de munca. Aici pot fi dezvoltate diferite teste, cu mai multi parametri, iar rezultatele pot fi ilustrate fie in aceste instrumente de test, fie tot intr-un repository pe GitHub, cu screenshot-uri sau video-uri scurte de prezentare a modului de testare.

4. Testare automata (Automation testing)

Urmatoarea etapa dupa deprinderea testarii manuale este invatatul si exersatul testarii automate. Mai intai trebuie invatate bazele unui limbaj de programare (JavaScript, Java, Python etc.), si apoi exersata scrierea de teste automate cu ajutorul unui framework dedicat, precum Cypress, WebdriverIO sau Selenium.

Dupa ce intelegem bazele, putem dezvolta cate o colectie de teste automate care sa verifice unele functii de pe un site cunoscut, sa incarcam codul testelor pe GitHub si sa redactam o scurta descriere a acestora (ce fac aceste teste, obiective de testare etc.).

Pentru o si mai buna ilustrare a acestei munci de automatizare, este recomandat sa atasam un scurt video in care sa aratam cum se executa aceste teste automate pe pagina web respectiva, lucru ce poate ajuta recrutorii sa inteleaga si mai bine ce am construit si dezvoltat in acest proiect.

5. Testare de performanta (Performance testing)

O directie mai nisata in care putem sa ne dezvoltam competentele in testare si implicit si portofoliul personal este testarea de performanta. Aceasta vizeaza comportamentul unor aplicatii in timp ce sunt accesate de un anumit numar de useri, poate chiar peste limita suportabilitatii lor.

jMeter, instrument de performance testing

Aici se folosesc de asemenea unele instrumente specifice de performance testing, precum jMeter. Dupa ce deprindem lucrul cu acesta, putem organiza si aici un repository pe GitHub-ul propriu in care sa explicam ce teste am realizat si pe ce website-uri, ce parametri am setat si sa ilustram proiectul cu niste screenshot-uri.

6. Testarea de baze de date (DB testing)

Comparativ cu testarea de performanta, o alta directie mai nisata si poate nu chiar atat de intalnita este testarea bazelor de date. De la inceput trebuie spus ca acest tip de testare este mai putin intalnit in cadrul proiectelor de portofoliu, poate si pentru ca este ceva mai dificil de realizat.

Acest lucru se explica prin faptul ca bazele de date ale proiectelor reale nu sunt disponibile chiar oricui la liber. De aceea, daca vrem totusi sa exersam acest tip de testare, fie cautam niste baze de date cu acces liber pe internet, fie ne construim noi o mica baza de date dupa ce invatam in prealabil despre acestea, eventual cu SQL, MySQL si asa mai departe.

Tot pe GitHub putem incarca codul bazei noastre, ca sa demonstram ca avem cunostinte si in aceasta directie, insotite eventual de cateva cazuri de test pentru verificarea operatiilor CRUD pe care le putem executa in acea baza de date.

7. Testare in direct (Live testing)

O idee ceva mai ampla care se poate transforma intr-un proiect de testare bun de adaugat in portofoliul personal este aceea de a testa in direct un site sau o aplicatie familiara, sau pe care nu o cunoastem deloc.

Mai exact, in timp ce inregistrezi ecranul audio-video, deschizi un site/ aplicatie si poti incepe sa verifici diferite aspecte, sa vezi daca merg functionalitatile principale, sa dai click pe butoane, sa verifici informatiile din consola, sa vezi daca partea de experienta si interactiune (UX/ UI) sunt bine construite, exact ca un user care acceseaza prima data acel produs. In paralel, poti si explica verbal actiunile de testare, pentru a arata cum ai gandit procesul respectiv.

Ulterior, acest video poate fi o demonstratie vizuala si explicativa buna pentru a prezenta skill-urile de testare, si poate fi incarcat pe YouTube, pe GitHub sau in alta parte, de unde sa fie accesat usor.

8. Strategii de testare

Un proiect mai complex decat precedentele pentru portofoliul personal pe testare ar fi acela de a realiza o strategie de testare. Mai concret, putem face acest exercitiu prin a ne alege o aplicatie pe care o folosim recurent si sa elaboram in scris un document care sa contina etapele si elementele procesului de testare pe care l-am executa, presupunand ca ar fi aplicatia pe care trebuie sa o verificam inainte de lansare.

Documentul poate sa contina scop, obiective, tipuri de testari pe care vrem sa le facem, scenarii de test, eventual cazuri de test, ce tehnologii vrem sa folosim pentru testare (tool-uri, framework-uri etc.) si asa mai departe.

Acest proiect este mai complex pentru ca necesita cunostinte ceva mai detaliate despre testare si mai mult exercitiu practic anterior, dar e o modalitate mai aparte de a prezenta modul de gandire specific unui QA.

9. Certificari

Alte lucruri care pot fi adaugate in portofoliul personal in testare software sunt certificarile. Desi acestea in esenta raman niste diplome care atesta cel mult un anumit nivel de cunostinte teoretice, ele pot fi adaugate in portofoliu si in CV la inceput cand trebuie maximizat orice avantaj care poate ilustra interesul pentru ramura testarii.

Probabil cea mai cunoscuta certificare pe testare software este cea oferita de ISTQB, despre care am scris aici pe blog in trecut. Idea ar fi insa sa nu ne limitam la acestea si sa continuam ulterior studiul si practica.

Concluzii

In incheiere, trebuie reamintit faptul ca este extrem de important sa avem un portofoliu personal atunci cand suntem la inceputul carierei in IT, inclusiv in testare software. Prezenta acestui portofoliu poate constitui o dovada a aptitudinilor noastre tehnice si cum le-am pus in aplicare dupa ce am invatat teoria, fiind si o proba pentru un viitor angajator.

Modurile de a construi un portofoliu sunt diverse, ideile sunt multiple pe testare sau pe oricare alta ramura. Important este sa ne placa sa lucram la acesta, sa facem apel la creativitate pentru a ne diferentia si prezenta acest portofoliu intr-o lumina cat mai sugestiva pentru cei interesati.

Resurse despre portofoliu

De ce e bine sa ai un portofoliu in testare

10 idei mai generale de portofoliu

10 idei pentru un portofoliu de Automation QA

O alta viziune, usor diferita, despre portofoliul unui tester.

Unde poti exersa testarea.

Mircea-Gabriel Macarie

https://www.linkedin.com/in/mirceamacarie/

Tech enthusiast și QA engineer, membru al comunității Vlog De IT. Interesat de testare software (QA) în general, de User Experience și Web Development.

Related post

6 Comments

  • Foarte interesant si clar articolul! Multumesc!

  • Foarte util articolul! Multumim 😇

  • Salut. Si noi unde specificam ca avem un portofoliu? In CV?

    • Salut, Ioana! Da, portofoliul trebuie mentionat atat in CV, ca sa vada recrutorii ce ai facut practic pana acuma si ce competente ai cand aplici, dar si in profilul de LinkedIn, care e la fel de important precum CV-ul. Acolo pe LinkedIn ai o sectiune de Featured, unde poti pune link(uri) la proiectele din portofoliu (GitHub, Jira etc.). Daca mai ai intrebari, scrie-mi aici sau in privat.

Leave a Reply

Your email address will not be published. Required fields are marked *