Rolul documentatiei in testare (QA)

In industria IT, exista foarte multe fluxuri de lucru (workflows), proceduri de respectat, moduri de separare a etapelor, precum si extem de multe informatii tehnice despre cum sa folosim un anumit tool, cum sa configuram niste setari speciale sau sa executam niste pasi.

Astfel, in IT si inclusiv in testarea software, exista foarte multe lucruri de facut si de respectat pentru a conduce la o calitate cat mai mare a verificarii produselor soft in cauza. Din acest motiv, un sprijin esential pentru un tester sau un programator il constituie documentatia pe care o are la dispozitie.

Ce se intelege prin documentatie?

Fiind un termen destul de generic, prin documentatie putem intelege in mod global orice forma de informatie scrisa (dar nu numai) care prezinta intr-un mod structurat si de regula general un anumit subiect, care in cazul nostru tine de domeniul IT si al testarii software.

Desi primul gand ar fi acela sa ne imaginam documentatia ca un draft sau o carte cu instructiuni pe un anumit subiect, acest lucru e destul de diferit in zilele noastre, deoarece aproape toate tipurile de documentatii se regasesc in mediul online, putand fi accesate in acest fel mult mai rapid si eficient la nevoie.

Pe langa forma lor scrisa, o parte semnificativa din documentatii sunt ilustrate si sub forma tutorialelor video, ori explicate sub forma unor postari de blog cu fragmente de cod si comentarii, lucru ce diversifica si mai mult modul in care ne putem culege informatiile.

Rolul documentatiei in testare software

La prima vedere probabil am fi tentati sa credem ca nu intotdeauna avem nevoie de documentatie, mai ales daca e vorba de ceva ce “stim deja”. Insa realitatea este ca documentatia e necesara si are o importanta covarsitoare in practica deoarece foarte des (saptamanal, daca nu chiar zilnic) apar lucruri noi de care nu ne-am lovit inainte.

In acest sens, documentatia pe care o avem are un rol cheie, deoarece ea ne releva lucruri pe care nu le stiam in ce mod sa le facem, sau ce proceduri sa respectam intr-un anumit caz specific. Daca trebuie sa folosim un tool de lucru nou, cu care nu am mai interactionat, sau daca testam o aplicatie si la un moment dat nu ne putem da seama daca un anumit comportament este bug sau pur si simplu un feature, documentatia este cea care ne poate raspunde la intrebari.

In cazul invers, daca nu am avea la indemana niciun fel de document atunci cand nu stim ce sa facem in cadrul proceselor de lucru sau al gestionarii unor anumite situatii, ar fi mult mai complicat sa intelegem si sa ne dam seama ce trebuie sa facem.

O statistica interesanta ce se bazeaza pe 2 studii arata ca 49% din angajati declara ca petrec intre 30 minute si 2 ore pe zi incercand sa afle informatiile de care au nevoie in task-urile lor recurente, la nivel general, iar specific industriei IT, angajatii petrec circa jumatate din ziua de lucru cautand asemenea informatii (4.2 ore / zi). Acest lucru, mai spune studiul respectiv, are un impact negativ pentru 31% din angajatii din industria software care declara ca resimt o senzatie de burn out.

Desigur, pentru acest caz cand nu avem nicio documentatie de lucru exista si alte solutii, precum cautatul pe Google, consultarea unui blog / forum dedicat anumitor nise sau intrebatul unui coleg de echipa mai experimentat. Insa depinde extrem de mult de ce fel de problema intampinam.

Exemple de documentatie tehnica sau non-tehnica

Dupa cum am mentionat anterior, documentatia in IT poate imbraca forme destul de diverse, nu trebuie sa ne gandim la ea doar ca la un manual atotcuprinzator si atat. De asemenea, trebuie mentionat ca documentatia in IT, care poate fi folosita ulterior si in cadrul procesului de testare, este de mai multe tipuri.

Merita sa mentionam succint ca exista mai multe clasificari ale documentatiei din IT, in functie de cum privim lucrurile. Astfel, putem vorbi de documentatie tehnica, documentatie procedurala, documentatie tip enciclopedie (Wiki), documentatie cu date sub forma de spreadshits, documentatie de uz intern (in cadrul echipei / companiei) sau de uz extern (pentru useri / clienti), si multe altele.

De multe ori, documentatia nici nu este asa de unitara pe cat am crede, ea poate fi reflectata in test case-uri sau diversele pagini cu improvements din Jira.

Acuma sa vedem mai concret cateva exemple de documentatii.

1. Documentatie tehnica despre folosirea unui tool / limbaj

Un prim exemplu destul de frecvent intalnit si folosit este acela al documentatiilor care se folosesc pentru a explica cum se utilizeaza un anumit instrument de lucru, in testare sa zicem, sau care prezinta atributele si sintaxa unui limbaj de programare (care poate fi folosit pentru automatizarea testelor).

Aceasta documentatie este una tehnica prin excelenta, folosita predominant intern in cadrul echipelor de testare / development, sau de catre pasionatii care vor sa invete acel tool / limbaj. Cam orice tool folosit in productie are o documentatie online in limba engleza, asa ca nu e greu de accesat si parcurs.

Documentatia pentru framework-ul de automatizare Selenium

Daca de exemplu nu stim cum sa folosim Postman, putem accesa documentatia online a acestui tool de testare pentru API si sa aflam ce ne intereseaza. La fel si daca avem nelamuriri pentru vreun limbaj de programare, sa zicem pentru Java, exista documentatia sa dedicata, elaborata de Oracle, sau pentru JavaScript unde avem standardele numite ECMAScript.

Pe langa documentatiile online, mai pot exista si documentatii elaborate strict intern de catre echipa, daca folosesc un tool mai special sau mai personalizat intr-un anume sens, cum ar putea fi de exemplu Jira.

O lista cu mai multe documentatii tehnice

2. Documentatie care prezinta anumite proceduri de lucru

Un al doilea exemplu intalnit in aceasta sfera a documentatiilor sunt cele care prezinta intr-o maniera cat mai schematica si clara care este fluxul de pasi care trebuie urmat intr-un anumit context general sau cand are loc o situatie particulara.

Printre exemple, se pot numara procedurile legate de raportarea si fixarea unui bug (Bug Lifecycle), care sunt etapele de testare atunci cand urmeaza un release al aplicatiei din productie (ce fel de teste se executa, ce se prioritizeaza mai intai), ce fel de sedinte au loc pentru a se discuta planificarea, stabilirea si estimarea task-urilor pentru urmatorul sprint din backlog etc.

Aceste documentatii sunt mai putin tehnice comparativ cu cele de la exemplul anterior, si sunt utile mai ales la inceputul carierei sau cand tocmai ai fost angajat in compania respectiva, si nu stii inca foarte exact “mersul lucrurilor”, dincolo de sarcinile de lucru specifice testarii.

Ideal ar fi sa exista aceasta documentatie elaborata intern, dar nu intotdeauna se intampla, existand multe cutume si reguli nescrise.

3. Documentatie de tipul “How to …” / “Cum sa faci …”

Un alt exemplu super util de documentatie este cel care explica punctual ce si cum sa faci un anumit lucru, tehnic sau administrativ, punct cu punct. Aceasta categorie e undeva intre documentatia pur tehnica si cea procedurala, si este extrem de utila pentru ca difera destul de multa de la o companie la alta.

Ilustrativ, aici putem vorbi de cum sa completezi campurile de input dintr-un anumit formular, sa zicem dintr-un bug report in Jira sau Bugzilla (nu toate campurile pot fi folosite in echipa / compania respectiva, dintr-un motiv sau altul), sau cum sa scrii un test case in TestLink ori TestRail.

Cu timpul, invatam despre ce e vorba si cum trebuie facut fara probleme, dar cel putin la inceput este extrem de important acest sprijin documentat undeva, si sa fie cat mai usor de accesat.

4. Documentatie cu date de lucru

Folosita extrem de mult in task-urile de testare de zi cu zi, documentatia cu date de lucru se refera la acele documente care contin input-uri necesare testarii (si nu numai) unei anumite functionalitati sau aplicatii. Un exemplu extrem de evident ar fi documentul sau documentele cu userii de test folositi de echipa de QA pentru lucru.

Ne putem astfel imagina o pagina sau un tabel Excel unde avem userii, cu username-urile lor, parolele acelor conturi, si eventual anumite caracteristici particulare ale acestora, daca au fost configurati intr-un scop anume (sa zicem ca un user e admin in platforma si poate seta optiuni pentru altii, sau daca are anumite date de contact speciale).

Tot aici pot intra liste cu link-uri speciale de acces in anumite aplicatii sau platforme dedicate procesului de testare, liste cu servere sau anumite setari ce pot fi folosite contextual pentru scenariile de testare.

Concluzii

In incheiere, chiar daca de multe ori nu se pune foarte mare accent pe ea si este neglijata, documentatia joaca un rol extrem de important in munca de zi cu zi din testare (QA), si din IT in general. Ea reprezinta o sursa primara de informatii de unde ne putem raspunde la intrebarile care inveitabil apar pe masura ce lucram si descoperim lucruri noi.

Uneori documentatia exista online, la liber, alteori ea este accesata doar intern de membrii echipei respective, insa sunt si situatii cand aceasta pur si simplu nu exista, situatie extrem de neplacuta pentru ca ingreuneaza munca de QA sau de programare, fiind nevoiti sa cautam raspunsurile in alta parte. De asemenea, sunt putini oameni carora le place sa scrie astfel de documentatii de lucru.

Surse utile

Despre documentatie in IT in general

Mai multe tipuri de documentatii

Statistici interesante despre (ne)folosirea documentatiei in IT

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

Leave a Reply

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