Ce presupune testarea unui website?
Testarea unui site web sau web testing cum i se mai spune, presupune verficarea si validarea mai multor aspecte care tin de functionalitate, utilizare, siguranta datelor, performanta, integrarea si compatibilitea unei aplicatii web inainte de a fi lansata catre utilizatorii finali.
Astfel, putem extrage foarte usor din explicatia de mai sus care sunt cele mai importante tipuri de testare pe care trebuie sa le avem in vedere in momentul in care facem web testing.
Sa le luam pe rand.
Functionalitate (Functional testing)
Aici va trebui sa testam toate functionalitatile de bussines definite pentru website. Toate scenariile pe care ne asteptam sa le execute utilizatorii finali.
Deasemenea trebuie sa ne asiguram nu doar de scenariile pozitive merg, cat si de scenariile negative.
Ce se intampla daca un utilizator iese de pe un scenariu predefinit si incearca altceva?
De exemplu, ce se intampla daca pe website un produs are stocul afisat ca fiind de 5 bucati si utilizatorul incearca sa adauge 6 in cos? Este lasat? Poate sa ajunga la plata cu produse care nu sunt pe stoc?
Desigur, acest scenariu este posibil, insa este datoria testerului sa il preintampine sau sa sesizeze aceasta situatie.
Functionalitatile adiacente ale websiteului vor fi deasemenea testate. Poate utilizatorul sa isi actualizeze profilul cu o poza noua ? Sau sa isi stearga contul?
Testarea tuturor linkurilor din site se va face tot aici. Precum si verificarea eventualelor erori de HTML sau CSS.
La fel si testarea formularelor si testarea functionalitaii diferitelor elemente ale siteului.
Practic acest tip de testarea este cea mai complexa si poate include inclusiv elemente din tipurile de testare enumerate si mai jos.
Scopul prinicipal ramane insa testarea functionalitatlior de bussines. Verificarea si validarea ca website- ul isi indeplineste scopul pentru care a fost creat.
Utilizare (Usability testing)
Testarea de utilizare este foarte importanta pentru experienta finala a utilizatorului care foloseste aplicatia.
Acest tip de testare verifica cat de usoara este navigarea intre diferite pagini ale siteului spre exemplu.
Sau cat de usor si de intuitiv de folosit sunt diversele meniuri din website.
Sau cat de usor lizibile sunt prezentate anumite informatii importante pentru utilizator.
Deasemenea cat de usor este de folosit website-ul in scopul in care el a fost creat. Sau de exemplu, aaca vorbim de un magazine online, cat de usor ii este unui utilizator sa gaseasca gasi pe website un produs si de a il adauge in cosul de cumparaturi pentru a finaliza comanda.
Siguranta datelor (Security testing)
Acest tip de testare este vital pentru orice aplicatie, mai ales daca este expusa publicului larg.
Trebuie sa ne asiguram ca urmatoarele aspect sunt acoperite :
• Accesul neautorizat nu ar trebui sa fie permis. Aici vorbim de la utilizatorii care au cont valid de a utiliza aplicatia pana la drepturile pe care fiecare dintre utilizatori le au in interiorul aplicatiei si accesul lor la diferite seturi de date.
• Verificarea sesiunilor si a datelor care se inregistreaza la nivel de sesiune, cookies etc
• Token-urile de acces. Acestea pot fi vazute ca niste chei cu periodata de expirare. Spre exemplu in urma unei autentificari, se genereaza un token de acces, dar acesta poate avea o valabilitate de cateva ore sa zicem. Trebuie sa verificam daca dupa expirarea timpului acel token mai poate fi folosit pentru autentificare. In realitate acesta nu ar trebui sa mai mearga.
• Deasemenea verificarea certificatelor SSL si redirect-urile pe care websiteul le face trebuies verificate.
Performanta (Performance testing)
In cazul testarii de perfomanta va trebui sa ne asiguram ca urmatoarele aspecte sunt in parametrii aceeptati.
• Aplicatia raspunde intr-un timp optim. Spre exemplu, o cautare mai ampla pe site care poate aduce multe rezultate in interfata nu dureaza foarte mult.
• Trebuie sa verificam daca cum se comporta aplicatia cand este supusa unui volum foarte mare de date. Se poate intampla ca in acecst caz, webserverul ar putea sa nu faca fata unui volum mare de cereri si sa nu raspunda in timp util sau chiar sa opreasca procesarea.
• Trebuie sa verificam comportamentul aplicatiei in momentul in care este accesata de volume mari de useri. In acest caz cerintele de business legate de numarul de utilizatori preconizat are un impact foarte mare.
• Deaseamea, putem sa verificam si cum se comporta aplicatia pe un timp indelungat de folosinta cu diverse volume de useri si/sau volume de date care trebuiesc procesate.
Acestea sunt doar cateva exemple.
Multe dintre tipurile de teste care intra in sfera testarii de performanta trebuiesc definite in functie de specificatiile de bussines ale aplicatiei: un website de prezentare nu va fi supus acelorlasi teste cum este supus un magazine online.
Compatibilitatea (Compatibility testing)
Testele de compatibilitate ne asigura ca websiteul functioneaza in parametrii optimi pe diferite configuratii.
Aceste configuratii pot fi:
• Browsere (Chrome, Firefox, Edge, Safari, Opera)
• Sisteme de operare (MacOS, Linux, Windows, Android, iOS)
• Laptopuri, telefoane mobile, tablete
Avem nevoie sa facem aceste teste pentru ca in functie de configuratie, elementele site-ului (poze, butoane, diverse form-uri) pot sa fie afisate diferit din cauza rezolutiei ecranului , executiei JavaScript in functie de browser, etc.
Integrarea (Integration testing)
In testarea de integrare va trebui sa ne asiguram ca exista o comunicare optima a tuturor componentelor care alcatuiesc aplicatia.
Aici vor fi implicate, in principal, trei componente: aplicatia, serverul web si baza de date.
Din partea de aplicatie vor pleca toate cererile catre web server si baza de date.
Din zona de web server trebuie sa ne asiguram ca aceste cereri sunt gestionate corect si redirectionate acolo unde este cazul catre alte componente cum ar fi baza de date.
Din zona bazei de date trebuie sa ne asiguram ca atunci cand cerem anumite date ele sunt gestionate corect. Spre exemplu, o simpla cautare intr-o pagina web va ajunge in spate sa execute un query in baza de date, care va raspunde cu anumite date in functine de criteriile de cautare.
Acestea sunt principalele tipuri de testare care se executa in procesul de dezvoltare al unui website, dar nu sunt singurele. De asemenea , fiecare dintre ele poate cuprinde mai mult elemente decat cele enumerate mai sus in functie de specificul si scopul aplicatiei.
Happy testing!
PS: In curand vom incepe un nou Curs Practic de Testare Software. Poti afla mai multe despre acesta aici.