Pentru ca tot timpul ne-am dorit sa impartasim comunitatii ce facem, am hotarat sa scriem despre cum lucram aici, la Caphyon.
In acest blog post va vom prezenta Echipa QA si ce face ea pentru unul din produsele noastre, Advanced Installer.
Aplicatia Advanced Installer are deja foarte multi utilizatori in intreaga lume, printre care si nume mari precum Apple, NASA, IBM, Dell sau Microsoft. Niciun client nu ar fi incantat sa intampine o eroare sau sa se lupte cu o aplicatie neintuitiva, iar unul din principalele obiective ale echipei de testare il reprezinta gasirea problemelor inaintea acestora, de la stabilirea si intelegerea cauzei problemei, pana la raportarea pasilor de urmat de catre developer pentru a putea reproduce si fixa problema.
Membrii echipei de QA realizeaza si executa scenarii de testare pentru noile functionalitati, investigand in acelasi timp problemele aparute. De multe ori specificatiile functionalitatii sunt discutate impreuna cu colegii programatori si uneori chiar cu echipa de suport, existand si cazuri in care se stabileste ce va fi testat pe baza unui document detaliat. De aici, fiecare isi creeaza propriile scenarii de test. De asemenea, atunci cand este implementata o noua functionalitate, echipa de QA trebuie sa verifice ca totul functioneaza fara a fi afectate alte module ale aplicatiei (binecunoscutul Regression testing).
Uneori investigarea problemelor aparute de la clienti este o adevarata provocare din cauza lipsei de informatii. Este ca un puzzle, utilizatorii aduc o parte din piese, iar echipa de QA trebuie sa gaseasca ce lipseste. Primul gand al unui utilizator este ca a gasit un bug, insa dupa o investigare amanuntita de multe ori se descopera ca a fost o alarma falsa, fiind o setare gresita sau intentionat implementat in acel fel. Sunt anumite cazuri in care este nevoie de un mediu izolat de lucru, unde anumite teste pot afecta buna functionare a unui calculator, dar si pentru a reproduce un anumit scenariu, cazuri in care ei folosesc masini virtuale de Hyper-V sau VMware.
Partea de automation a devenit in ultimul timp tema multor discutii in cadrul echipei de QA, iar parerile sunt impartite. Parerea unora este ca poti testa orice caz in acest fel, daca planifici bine si dai instructiuni clare instrumentului de testing, insa cealalta parte a echipei este mai sceptica. Principalul avantaj al automatizarii consta in eficientizarea timpului de testare al aplicatiei. La noi, cele mai folosite instrumente pentru testarea automata sunt Ant Scripting, PowerShell si mai nou, UiPath, iar pentru website, TestCafe.
Profilul echipei
Pentru a exista un produs ca Advanced Installer, este nevoie de o echipa de testare unita, cu personalitati puternice ce doresc sa evolueze constant. Este responsabilitatea QA-ului sa imbunatateasca in permanenta produsul, sa vina cu idei noi, pentru a le fi cat mai usor utilizatorilor sa foloseasca aplicatia, pentru a face un produs cat mai intuitiv si sa asigure calitatea produsului. Membrii echipei trebuie sa se implice cat mai mult in a intelege cerintele pentru a ajuta echipa de development. Dezvoltarea tehnologiei si impingerea de catre echipa de programatori a ultimelor tehnologii, precum recentul introdus MSIX face ca echipa de QA sa tina pasul ultimelor trenduri cand vine vorba de cunoasterea in profunzime a sistemul de operare Windows.
Se acorda multa atentie calitatii, nu cantitatii. Pentru un release nu se urmareste livrarea unui anumit numar de fixuri, ci ca acele fixuri sa fie bine testate; astfel, daca mai este nevoie de timp in plus pentru testare la un fix, chiar daca exista riscul ca acesta sa decaleze ziua unui release, se va acorda tester-ului acel timp.
Comunicarea in cadrul echipei Advanced Installer nu este doar preferata, ci si incurajata, avand toti membrii in acelasi birou. Sedinte ad-hoc au loc mereu, task-urile fiind foarte dinamice. Nu de putine ori echipa de QA a fost nevoita sa faca trecerea de la ce aveau in lucru, la diverse task-uri cu prioritate mai mare. Sedinta saptamanala, cu toata echipa, nu doar QA, este un alt mod util de comunicare deoarece ii ajuta sa inteleaga de la colegii programatori la ce lucreaza si sa-si prioritizeze testarea in functie de ce urmeaza sa fie inclus in viitorul release. Acest tip de status update, discutiile fata in fata si tool-urile Slack si Jira sunt de mare ajutor in organizarea din cadrul departamentului de QA, iar asta ii face mai responsabili si mai implicati.
Oportunitati
Daca esti interesat sa lucrezi in echipa noastra, gasesti aici detalii despre post si cum poti aplica: