Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Ministerul Educaţiei, Culturii şi Cercetării al Republicii Moldova

Universitatea Liberă Internaţională din Moldova

Facultatea Informatică, Inginerie

Disciplina: Testarea produselor software

Lucrare de laborator Nr.2

Tema: Testarea manuală- crearea TestCase-urilor și


depistarea bag-urilor

A efectuat

Student gr. TIR-36

Pîrlog Andrei

A verificat

Profesor Vitalii Mititelu

Chişinău 2019
1. Scopul lucrării:

Scrierea TestCase-urilor pentru testarea aplicaţiilor.

2. Sarcina:

Scrieți TestCase-uri pentru toate scenariile descrise în variantă:

User Story Title Search functionality US.003

Narrative As a Customer

I would Like to have the possibility to find any product by searching it

So that I can find it easily from any category and subcategory and add it to Cart/ Wish
List or Compare directly from the displayed results.

Business Value 450

Acceptance Search functionality


Criteria The Basic Search box should appear on every page of the site.

The Advanced Search should appear after searching some products in the Basic search or
just after pressing the enter tab on the Basic search.

User should be able to search product by typing its name in the “Search” displayed at the
top of the page in the right corner.

The products that meet the search criteria should be displayed on the page below the
“Search Criteria” functionality.

Each product should have a short description, a corresponding picture and the price as on
other pages.

Search results should not show duplicate entries of content.

The products displayed after searching can be displayed as a List /Grid

View and Sorting

User should have the possibility to view the first 15/25/50/75/100 products that meet
search criteria. He/she should be able to select and change this number of displayed
products.

The Sorting functionality should be available for the displayed products after searching. So,
user should be able to sort products by:
1. Default
2. Name (A-Z)
3. Name (Z-A)
4. Price (Low > High)
5. Price (High > Low)
6. Rating (Highest)
7. Rating (Lowest)
8. Model (A-Z), Model (Z-A)

User should be able to add the corresponding products displayed after searching to Cart.

User should also have the possibility to add the displayed products to Wish List and to
Compare.
3. Parte teoretică:

Dezvoltarea unui produs software presupune etape de analiză, proiectare, scriere, testare,
debugging și mentenanță a codului sursǎ al programelor. Dezvoltarea unui produs software poate
fi folosită pentru a face referire la programarea calculatoarelor, însa într-un sens mai extins
reprezintă totalitatea activitaților de realizare ale unui produs software (= programarea
calculatorarelor) ideal într-un proces planificat și structurat. Scopul final este de a obține o
soluție software eficientă și care poate evolua în timp.

Etapele de realizare ale unui produs

Implementarea, testarea, verificarea și validarea produsului software sunt cele mai


importante etape de realizare ale unui produs software. Pentru înțelegerea lor este însă nevoie de
cunoasterea tuturor etapelor. Deși sunt considerate etape separate, intre ele există o puternică
relație de interdependență.

Analiza cerințelor

Analiza cerințelor este prima etapă a ciclului de realizare a unui produs în care se stabilesc
cerințele aplicației, pornind de la cerințele utilizatorului final, se identifică funcțiile viitorului
produs software precum și datele implicate. Această etapă răspunde la întrebarea ce se va realiza
prin dezvoltarea produsului software.

Proiectarea arhitecturii software

Proiectarea reprezintă acea etapă a ciclului de realizare a unui produs în care se stabilește
modul de realizare a cerințelor identificate în etapa de analiză, adică trebuie să raspundă la
întrebarea cum se vor realiza aceste cerințe atât la nivel global cât și la nivel de detaliu. Această
etapă pornește deci de la cerințele și specificațiile definite anterior și continuă cu detalierea și
transformarea acestora până la definirea structurii unei soluții care să fie reprezentată folosind un
limbaj grafic, textual sau mixt. Proiectul astfel obținut trebuie să poata fi utilizat mai departe la
construirea sau elaborarea produsului software (codificare, testare, integrare).

Implementarea codului

Implementarea codului reprezintă scrierea textului folosind formatul și sintaxa unui limbaj
de programare ales. Codul este special conceput pentru a facilita munca unui programator, astfel
oferin posibilitatea acestuia să specifice operațiile ce vor fi realizate de către calculator. Odată ce
un program a fost realizat el va fi convertit în cod binar numit cod mașină, care poate apoi fi citit
si executat.

Compilarea si interpretarea

Compilarea reprezintă o metodă prin care calculatorul convertește codul sursă scris într-un
limbaj de programare (de cele mai multe ori un limbaj de nivel înalt cum ar fi c++, Java) într-un
limbaj de nivel jos (cod mașină sau assembler). În urma realizării acestei operații se obține un
fișier executabil ce poate fi înțeles și rulat de către mașina sau mașinile pentru care a fost
conceput.Interpretorul reprezintă o metodă prin care mașina convertește codul sursă în cod
mașină la momentul în care acesta este rulat. Interpretorul poate fi un program care fie execută
codul sursă direct, fie transformă codul inițial într-un cod intermediar, iar acesta va fi încărcat
pentru execuție, fie interpretează codul care anterior a fost compilat de către un compilator care
face parte din sistemul de interpretare.[7] Fiecare din cele 2 variante are avantajele si
dezavantajele sale. Spre exempul un compilator este mai rapid în momentul execuției, însa
interpretorul folosește principiul mașinii virtuale care oferă avantajul siguranței datelor.

Documentarea

În general documentarea se referă la procesul de a oferi dovezi. Documentarea software sau


documentarea codului sursă reprezintă text scris care exprimă modul de implementare al
programului, modul de folosire al acestuia, informații legate de testarea programului, modificări
aduse unei noi versiuni sau orice alte informații legate de programul respectiv.[8] Există diferite
tipuri de documente: - Documente de cerințe software; - Documente de arhitectură și design; -
Documente tehnice; - Documente ale utilizatorului.

Debugging

Debugging-ul reprezintă o metodă prin care se detectează și se elimina bug-urile (erorile)


unui program (sau, general vorbind, în orice componentă electronică), în scopul de a-l face să
funcționeze pe măsura așteptărilor. Aparent debug este echivalent cu testarea, însă prin termenul
de debug se intelege testarea, descoperirea cauzelor de eroare și rezolvarea acestor erori.
Debuggingul este puternic dependent de modul în care codul este implementat. Principala
problemă este aceea că orice modificare adusă codului poate să ducă la modificarea
funcționalității întregului program. Astfel este foarte important modul în care codul este realizat
pentru a facilita rezolvarea unor astfel de buguri. De aceea este necesară respectarea unor reguli
de scriere a liniilor de cod cum ar fi: coupling, încapsularea datelor, cohesion.

Specificarea

Specificarea (spec) reprezintă un set explicit de cerințe ce trebuiesc satisfacute de un


material, produs, sau serviciu. Astfel putem spune că specificarea reprezintă un standard. II

Pentru o testare de calitate, este important să existe o planificare riguroasă a testării încă din
faza de proiectare sau development. Pe măsură ce se conturează definițiile modulelor, entităților
de date, obiectelor, claselor, funcțiilor, etc. este recomandabil să se scrie și “scenarii” de testare
ale acestora, fie top-down, fie bottom-up.

Bug

O problema, eroare, defect, posibilitate nedocumentate, greșeala intr-un sistem software care
impiedica sistemul sa functioneza asa cum este de asteptat este un bug.

Bug report
Bug tracking
Sistem de bug tracking
Sistem de issue tracking
Patch
Patch management
În industria software, “scenariile” de test se numesc test cases.

Un exemplu de test case:

 trebuie verificată funcționarea unei pagini de login care conține un input de user name și
unul de parolă
1. click pe “Login” fără a completa user/pass → trebuie să rămân în pagină și să se
afișeze un mesaj de eroare
2. completat user corect, parola incorectă sau nulă, click pe “Login” → trebuie să
rămân în pagină și să se afișeze un mesaj de eroare
3. completat user corect, parola corectă, click pe “Login” → trebuie să fiu corect
autentificat
4. completat user corect, parola corectă, tastat “Enter” → trebuie să fiu corect
autentificat
Există “testare pozitivă” și “testare negativă”, concretizată în positive test
cases și negative test cases. Testarea pozitiva înseamnă verificarea faptului că sistemul face
ceea ce trebuie să facă. Testarea negativă înseamnă verificarea faptului că sistemul nu face ceea
ce nu trebuie să facă.
Pe cazul anterior:

 testare pozitivă: se verifică faptul că la user/pass corecte se face login iar la user/pass
incorecte se afișează un mesaj de eroare
 testare negativă: se verifică faptul că la user/pass corecte NU se afișează un mesaj de
eroare iar la user/pass incorecte NU se face login și NU se “sparge” sistemul
În principiu, cele două approachuri sunt echivalente, însă în practică testarea pozitivă se
referă la funcționarea “normală” a sistemului, iar testarea negativă la “corner cases”. De
exemplu, pentru testarea unui feature critic ca time to market dar non-critic ca și calitate (ex.
twitter), se va prefera testarea pozitivă, care asigură că sistemul funcționează corect pentru cei
mai mulți utilizatori. Pentru testarea unui feature critic ca și calitate (ex. online banking) se va
insista pe teste negative, ex. se va încerca “spargerea” sistemului prin combinații incorecte.
Există, ca în orice alt domeniu, tool-uri open source pentru managementul test cases:

 Bugzilla Testopia: http://www.mozilla.org/projects/testopia/


 Incremental Scenario Testing: https://sourceforge.net/projects/istt/
 QA Traq: http://www.testmanagement.com/
4. Raport al TestCase-urilor şi bag-urilor depistate:
User Story Title Search functionality US.003

Narrative As a Customer

I would Like to have the possibility to find any product by searching it

So that I can find it easily from any category and subcategory and add it to Cart/ Wish
List or Compare directly from the displayed results.

Business Value 450

Acceptance Search functionality


Criteria The Basic Search box should appear on every page of the site.

The Advanced Search should appear after searching some products in the Basic search or
just after pressing the enter tab on the Basic search.

User should be able to search product by typing its name in the “Search” displayed at the
top of the page in the right corner.

The products that meet the search criteria should be displayed on the page below the
“Search Criteria” functionality.

Each product should have a short description, a corresponding picture and the price as on
other pages.

Search results should not show duplicate entries of content.

The products displayed after searching can be displayed as a List /Grid

View and Sorting

User should have the possibility to view the first 15/25/50/75/100 products that meet
search criteria. He/she should be able to select and change this number of displayed
products.

The Sorting functionality should be available for the displayed products after searching. So,
user should be able to sort products by:
1. Default
2. Name (A-Z)
3. Name (Z-A)
4. Price (Low > High)
5. Price (High > Low)
6. Rating (Highest)
7. Rating (Lowest)
8. Model (A-Z), Model (Z-A)

User should be able to add the corresponding products displayed after searching to Cart.

User should also have the possibility to add the displayed products to Wish List and to
Compare.
1. User Story – US.003;
Test Case Name – TestCase1;
Description - The Basic Search box should appear on every page of the site;
Test Steps Description:
- accesăm site-ul https://demo.opencart.com/index.php?route=common/home
- accesăm toate meniurile paginii;
- verificăm dacă fiecare pagină deschisă conţine căsuta de căutare de bază.
Expected Results – rezultatul testării este cel aşteptat, în fiecare pagină deschisă
a site-ului este prezentă căsuta de căutare;
Status Pass
ID bug Nu este
Priority Nu este
Execution Type Manual
Environement Browser
Comments TestCase-ul a fost trecut cu succes, fiecare pagină deschisă
conţine căsuta de căutare de bază

2. User Story – US.003;


Test Case Name – TestCase2;
Description - The Advanced Search should appear after searching some products
in the Basic searchor just after pressing the enter tab on the Basic search;
Test Steps Description:
- introducem în căsuţa de căutare cuvântul apple;
- găsim Apple Cinema 30;
- observăm că s-a deschis posibilitatea căutării avansate în dependenţă de
categoria sau subcategoria dorită.
Expected Results – rezultatul testării este cel aşteptat, la scrierea unui anumit
produs în căsuţa de căutare de bază ne este găsit şi afişat produsul şi posibilitatea
căutării avansate;
Status Pass
ID bug Nu este
Priority Manual
Execution Type Manual
Environement Browser
Comments TestCase-ul a fost trecut cu succes, căsuţa de căutare de
bază oferă posibilitatea căutării avansate.

3. User Story – US.003;


Test Case Name – TestCase3;
Description - User should be able to search product by typing its name in the
“Search” displayed at the top of the page in the right corner;
Test Steps Description:
- verificăm dacă în partea de sus a paginii în coltul din dreapta este prezentă
căsuţa de căutare prin care utilizatorul ar putea vizualiza obiectele căutate de
el prin introducerea numelui său;
- nu a fost găsit astfel de căsuţă.
Expected Results – rezultatul testării nu este cel aşteptat, în partea de sus a
paginii în colţul din dreapta lipseşte căsuţa de căutare;
Status Bloked
ID bug 1
Priority High
Execution Type Manual
Environement Browser
Comments TestCase-ul a eşuat, lipseşte căsuţa de căutare prin care am
putea testa această funcţionalitate.

4. User Story – US.003;


Test Case Name – TestCase4;
Description - User should have the possibility to view the first 15/25/50/75/100
products that meet search criteria. He/she should be able to select and change this
number of displayed products;
Test Steps Description:
- accesăm un produs, de ex: în meniul Desktop alegem Mac;
- găsim lista de produse;
- putem vedea că alături de descrierea produsului există şi posibilitatea de a
afişa un anumit număr de produse 15/25/50/75/100.
Expected Results – rezultatul testării este cel aşteptat, utilizatorul poate vizualiza
primele 15/25/50/75/100 produse;
Status Pass
ID bug Nu este
Priority Nu este
Execution Type Manual
Environement Browser
Comments TestCase-ul a fost trecut cu succes, utilizatorul poate
vizualiza primele 15/25/50/75/100 produse care se întilnesc
în criteriu de căutare, poate selecta şi modifica acest număr
de afişări.

5. User Story – US.003;


Test Case Name – TestCase5;
Description - User should also have the possibility to add the displayed products
to Wish List and to Compare;
Test Steps Description:
- accesăm un produs;
- la descrierea produsului putem vedea un buton pe care tastând adăugăm
produsul în Wish List;
- verificăm că meniul Wish List, produsul nu a fost adăugat.
Expected Results – rezultatul testării nu este cel aşteptat, produsul adăugat în
Wish List nu se salvează, iar meniul Compare nici nu este adăugat în pagina web
testată;
Status Fail
ID bug 2
Priority High
Execution Type Manual
Environement Browser
Comments TestCase-ul a esuat, utilizatorul poate adăuga produse în
Wish List, dar acestea nu se salvează şi, respectiv, nu pot fi
vizualizate. Deasemenea meniul Compare nu este găsit pe
site-ul testat.
Concluzie

Această lucrare de laborator presupune o testare a paginii web din punct de vedere a
fucţionalităţii corecte. Scenariile de teste deja sunt incluse în sarcină, respectiv rămâne doar
testarea lor. Pagina web am testat-o din 2 aspecte: cautarea produselor ce se conţin în această
pagină şi sortarea lor. Acestea sunt destul de importante, una constă în faptul ca noi nu putem
afişa produsele vizualizate de o anumită persoană, iar cea de-a doua se referă la imposibilitatea
de salvare a produsului în coşul Wish List. Aceste errori nu sut critice, site-ul funcţionează şi
oferă mojoritatea funcţiilor necesare unui utilizator, dar totusi după ce au fost depistate este
necesar de le înlăturat.

You might also like