Ce reprezinta Testopsy?
In munca de zi cu zi a unui inginer QA, sunt folosite diverse abordari, metode si tehnici pentru a testa un produs software, care fac parte din gama obisnuita pentru a descoperi defecte si pentru a incerca sa imbunatatim calitatea acelui produs pentru utilizatorii finali.
De multe ori poate intram intr-un soi de repetitie in care aplicam mereu aceleasi metode, iar uneori e bine sa ne gandim daca nu putem incerca si alte perspective ale modului in care verificam si validam o aplicatie. Iar una dintre abordarile aparute in ultimii ani in legatura cu modul in care trebuie privita si analizata testarea unui produs este Testopsy.
Ce este Testopsy?
Termenul “testopsy” este unul derivat de la “autopsy” (= autopsie), si ar desemna intr-un sens aplicat “autopsia unei sesiuni de testare”. Tehnica numita Testopsy se incadreaza in mai larga metodologie de testare Rapid Software Testing, ce a fost patentata de James Bach si Michael Bolton la finalul anilor ’90 si inceputul anilor 2000.
Intr-un mod extrem de succint, aceasta metodologie nu se focuseaza pe vreun tool sau tehnologie de testare anume, ci pe competentele si mindset-ul testerului, si a modului in care el incearca sa se transpuna in locul userului astfel incat sa priveasca cu aceeasi ochi experienta de utilizare a produsului respectiv.
In acest context a aparut si abordarea Testopsy, ca un subset al metodologiei contextuale Rapid Software Testing (RST), care sa ajute echipele de QA sa analizeze critic procesul de testare si sa vada ce actiuni suplimentare se impun in final.
Reperele principale ale abordarii Testopsy
Din punct de vedere al desfasurarii unei Testopsy, aceasta presupune 2 etape destul de simple si clare. Ea de regula se desfasoara cu 2 testeri care isi inverseaza pe rand rolurile.
Prima data, unul dintre testari testeaza in mod activ un produs software, sa zicem un website pe un laptop, explicand cu voce tare ce anume face de fiecare data si ce urmareste cu asta. In paralel, al doilea tester observa tot procesul de testare desfasurat de primul coleg, isi noteaza tot ce face / zice acesta, ce metode aplica, ce flow-uri executa, ce bug-uri descopera sau sugestiile de imbunatatire pe care le propune.
O sesiune de testare nu trebuie sa dureze foarte mult, poate fi de cateva minute (5-10-15 minute), importante sunt actiunile care au loc de-a lungul ei. Dupa ce primul tester isi termina treaba, se inverseaza rolurile intre cei 2 membri, iar al doilea incepe sa se joace cu produsul in timp ce primul noteaza tot ce face acesta, observatii, flow-uri, defecte etc.
Dupa ce se incheie si runda de testare a celui de-al doilea membru, se trece la etapa a doua din Testopsy, si se analizeaza prin discutie ce a facut fiecare, ce meotede s-au folosit, daca a fost bine / suficient ce a verificat fiecare, unde se putea imbunatati procesul si ce trebuie retinut pe viitor.
Scopul unei sedinte de Testopsy este aceal de a depista eventualele actiuni sau mecanisme de testare ce pot fi imbunatatite prin feedback-ul unui coleg care urmareste live cum testeaza un alt coleg, de a face un review constant al procesului de verificare.
De multe ori, cand cineva testeaza singur, aplica metodele clasice, consacrate, verifica ca flow-ul de la A la B merge (sau nu), si dupa trece la alt task de lucru, neexistand un review al modului cum s-a desfasurat testarea efectiva pe acel produs sau feature nou implementat. Exista si optiunea ca sesiunea de testopsy sa fie inregistrata, si ulterior sa se analizeze inregistrarea singur sau tot in pereche, pentru o mai buna abordare critica a manierei de lucru.
Avantaje si dezavantaje
Desigur, dupa cum foarte usor de putem da seama, Testopsy prezinta atat avantaje, cat si dezavantaje cand vine vorba de aplicarea sa si de modul in care ea poate oferi rezultate certe in cadrul testarii.
Cel mai mare si mai semnificativ avantaj al aplicarii unei sedinte de Testopsy in cadrul procesului de testare este acela ca te scoate din zona ta de confort cand trebuie sa verifici in mod individual un produs si sa incerci sa privesti mult mai critic si mai detasat aceasta activitate de testare. Faptul ca esti observat de un actor extern care cu care la final trebuie sa discuti critic si aplicat fata de metodele si testcase-urile pe care le-ai aplicat pe respectivul produs este cu siguranta o metoda buna de a privi reflexiv ceea ce faci si de a te imbunatati constant.
Lucratul impreuna si feedback-ul reciproc imediat reprezinta un alt mare avantaj al Testopsy. Doua perechi de ochi pot fi (in teorie cel putin) mult mai atente la detaliile unei aplicatii si sa scape mai putine bug-uri catre clienti, iar feedback-ul sincer si constructiv fata de cum poate fi imbunatatit procesul de testare este mai mult decat necesar. Daca noi testam mereu individual si nu cerem niciodata o a doua parere sau sa intrebam neclaritatile pe care le intalnim, atunci vom considera ca facem totul bine, cand de fapt s-ar putea sa nu fie asa.
Dezavantajul pe care Testopsy il prezinta este acela ca, in ciuda scopului sa ideal, ea nu poate fi aplicata chiar ca atare in toate situatiile din cadrul procesului de testare. De exemplu, cand un QA scrie teste automate si apoi le ruleaza, sa vada daca merg cum trebuie, sau daca se testeaza anumite componente din zona de back-end (cum ar fi API-urile) care nu sunt niste lucruri pe care un client le foloseste direct ci prin intermediul interfetei grafice (UI), acestea sunt situatii in care aplicarea Testopsy este destul de grea si deficitara.
Importanta Testopsy
In ciuda faptului ca nu e abordarea perfecta pentru absolut toate situatiile si echipele de QA, Testopsy este un mijloc ideal prin care ne putem privi critic si justificat modul in care testam un anumit produs (sau un coleg de-al nostru testeaza ceva) si sa gasim impreuna cele mai bune solutii de imbunatatire.
Importanta ei este una destul de mare, deoarece incurajeaza colaborarea in echipa cand vine vorba de testare, observatia atenta si feedback-ul constructiv acordat reciproc, in vederea imbunatatirii tehnicilor si mindset-ului de QA. Ea vine sa ne scoata din zona rutinii zilnice in care vrem a validam cat mai repede o anumita componenta, sa vedem ca functioneaza si atat. De aceea, poate o data la cateva luni, merita incercat realizarea unei Testopsy, macar ca o incercare intr-o echipa, pentru a vedea daca se potriveste si daca scoate in evidenta lucruri demne de imbunatatit.
Concluzii
In incheiere, Testopsy este o abordare inovativa care schimba putin paradigma clasica a modului in care se verifica si valideaza un produs software. Ea se bazeaza pe colaborarea dintre 2 testeri, unul care testeaza activ si celalalt care observa tot procesul, urmand ca dupa o inversare de roluri, sa se discute aplicat despre ce poate fi imbunatatit ca mindset si tehnici aplicate in acel proces.
Chiar daca poate nu e o metoda ideala, avand atat avantaje cat si dezavantaje, Testopsy merita incercata macar cu titlul de proba pentru a vedea daca se potriveste cu echipa respectiva sau daca poate ajuta prin scoaterea in evidenta a unor lucruri ce se pot schimba in mai bine.
Surse pe subiect
Un model povestit de Testopsy de la Michael Bolton si un podcast cu acelasi autor despre acelasi subiect
Articol si punere in practica a metodei Testopsy
Abordarea Testopsy in cadrul Rapid Software Testing
O prezentare pe YouTube a conceptului de Testopsy sustinuta de James Bach si Michael Bolton
Site-ul oficial al Rapid Software Testing
Bune practici in testarea software generala si automata