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. 

3 motive sa incepi o cariera in IT

U

nul dintre sectoare din economie care a suferit si sufera cel mai putin in situatiile de criza economica sau situatiile exceptionale cum suntem acum, in plina pandemie de Coronavirus, este secorul IT. Chiar din contra, in situatia creata de Coronavirus se pare ca sectorul IT beneficiaza de o crestere a joburilor datorate nevoii firmelor de digitalizare fortata.

Daca situatia curenta create de pandemia de Sars-Cov2, te-a facut sa te gandesti mai mult  la viitor, daca esti in cautare de posibilitati pentru o cariera noua si nu stii incotro sa te indrepti, atunci sectorul IT ar trebui sa fie in topul listei tale.

Iata mai jos cateva motive care sa te ajute daca vrei sa iei o decizie in acest sens:

Salariile sunt peste media pietei

Nu mai este un secret pentru nimeni ca in momentul de fata salariile sunt peste media pietei in setorul IT din Romania. Acest lucru se datoreaza atat unor masuri menite sa incurajeze dezvoltarea acestui sector, luate de catre govern (impozit diferentiat ) cat si datorita cererii foarte mari a fortei de munca in acest sector. Faptul ca ai nevoie de cunostinte specific ca sa poti activa in acest sector, mareste acest decalaj intre cererea de forta de munca si oferta care se regaseste in piata.

Un lucru de mentionat este ca in acest sector se pune un pret mai mare pe cunostintele candidatilor decat pe studiile lor. Astfel incat, un candidat care are o diploma de facultate de profil si un candidat care are doar un curs de specializare, au acealsi sanse de angajare.

Gasirea unui loc de munca mai usor decat in alte sectoare alea economiei

Exista un deficit de forta de munca, cel putin in sectorul IT din Romania,  ceea ce face gasirea unui loc de munca mult mai usor decat in alte sectoare.

Pentru cei care lucreaza deja in sectorul IT este un lucru obisnuit sa primeasca cel putin saptamnal invitatii de la alte companii pentru a discuta posibilitatea de a schimba jobul. Acest lucru se intampla pentru ca exista o cerere foarte mare din partea firmelor de a ocupa pozitiile pentru proiectele curente sau pe care le incep si nu sunt suficienti profesionisti pe aceste pozitii in piata. Acest lucru duce la aceasta vanatoare de talente in piata si implicit la salariile mari pe care cei din sectorul IT le primesc.

Multiple oportunitati de cariera

Majoritatea celor care nu lucreaza in sectorul IT, asociaza tot timpul acest sector doar cu zona de programare software. Oportunitatile de cariera in sectorul IT sunt multiple, doar si aceasta zona de software develoepement are o multitudine de oportunitati si roluri diferite. De la roluri in zona de management de personal, la roluri in zona de management de proiect, vanzari, operatiuni si asa mai departe. Si fiecare dintre cele deja enumerate are diferite niveluri de cariera si diferite directii in care se pot dezvolta.

Sectorul IT este un sector in care este foarte greu sa te plafonezi, dezvoltarea personala si oportunitatile de invatare si dezvoltare profesionala sunt parte integranta a acestui sector.

Cariera ta este ca o gradina. Poate sustine o sumedenie de energii vitale care devin o recompensa pentru tine. Nu esti obligat sa cresti o singura specie in gradina ta. Nu esti obligat sa faci un singur lucru in cariera ta..

Jennifer Ritchie Payette
Vrei sa incepi o cariera in IT si nu stii cum ?

Daca iti doresti sa incepi o cariera in sectorul IT dar inca nu stii cum sa incepi, noi te putem ajuta. Ne poti trimite un mesaj iar unul dintre expertii nostri in cariera te va contacta pentru o evaluare gratuita.