how test java applications tips with sample test cases
În acest tutorial, vom învăța componentele implicate într-o aplicație Java și diferitele tipuri de teste care trebuie efectuate pentru a asigura o aplicație de înaltă calitate, fără erori.
Acesta este un serie în trei părți despre testarea aplicațiilor JAVA.
- În acest articol, vom învăța componentele J2EE și abordarea de testare manuală pentru o aplicație J2EE.
- În al doilea, vom revizui Testare automată abordarea pentru testarea aplicațiilor J2EE și
- În al treilea, vom examina o listă cuprinzătoare de instrumente disponibile pentru testarea aplicațiilor J2EE.
Ce veți învăța:
- Să începem cu prezentarea generală a aplicațiilor J2EE
- Testarea aplicației JAVA / J2EE
- Testarea manuală a aplicațiilor Java:
- Concluzie
- Lectură recomandată
Să începem cu prezentarea generală a aplicațiilor J2EE
LA Java aplicația web constă din mai multe componente, fiecare având un scop important. MVC , care înseamnă Model View Controller, este cel mai popular și utilizat frecvent model de proiectare arhitecturală.
Înainte de a învăța să testăm, să trecem pe scurt prin diferite componente ale unei aplicații J2EE.
- Client / Browser solicită o adresă web cu o adresă URL.
- JSP (paginile serverului Java) - JSP este o tehnologie a serverului menită să prezinte date utilizatorului. Acceptă afișarea conținutului dinamic cu ajutorul etichetelor speciale numite etichete JSP, care ajută la inserarea codului Java în paginile HTML. (HTML static afișează întotdeauna același conținut). În timpul rulării, un JSP este convertit într-un Servlet. Logica de afaceri nu este de obicei scrisă aici.
- JSF (Java Server Faces) - JSF este un cadru de componente de vizualizare pentru proiectarea eficientă a interfeței cu utilizatorul.
- Javascript / Jquery - sunt limbaje de scriptare utilizate pentru validarea vizualizării / ecranului de către partea clientului.
- Servlet - Un Servlet validează datele primite de la intrare, selectează codul logicii de afaceri corespunzătoare și transmite valorile la codul Bean.
- Enterprise Java Bean (EJB) - Aici este scrisă și gestionată întreaga logică de afaceri. Beanul apelează apoi codul pentru a citi, scrie sau actualiza baza de date. Odată ce operațiunile bazei de date sunt terminate, răspunsul este apoi transferat înapoi la Servlet, care la rândul său selectează JSP adecvat pentru a afișa rezultatele.
- Servicii Web - Serviciile web sunt componente ale unei aplicații care rulează pe un server separat și comunică prin protocol HTTP.
- Bază de date - stochează toate datele aplicației.
Vă rugăm să rețineți că nu toate aplicațiile web respectă JSP -> Servlet -> EJB -> Model bază de date . Majoritatea aplicațiilor J2EE sunt scrise în prezent cu un cadru precum Struts, Spring sau Hibernate. Proiectarea aplicațiilor variază pentru fiecare cerință în funcție de dimensiunea aplicației, costul, timpul de dezvoltare, resursele și dimensiunea echipei.
Testarea aplicației JAVA / J2EE
Să trecem acum la testarea unei întregi aplicații J2EE. Acest lucru se face în mai mulți pași.De exemplu, consideră că avem trei ecrane:
- Un ecran de conectare
- Un ecran de afișare a angajaților, care listează toți angajații din organizație
- Un ecran de modificare / adăugare / eliminare a angajaților.
UI (User Interface) pentru aceste trei ecrane este dezvoltat cu JSP / HTML și validările efectuate prin JavaScript. Deoarece este un exemplu de aplicație, logica se află în Servlet și DAO (Data Access Object). DAO este o clasă pentru conectarea la baza de date.
Mai jos sunt exemplele de ecrane:
Testarea manuală a aplicațiilor Java:
În timpul testării manuale JAVA, un tester pregătește testele din documentul de proiectare detaliată și încearcă să acopere fiecare scenariu și fragment de cod posibil.
# 1) TESTAREA UNITĂȚII JAVA
Testarea unitară este un tip de testare în care un utilizator trebuie să testeze cele mai mici fragmente de cod pentru acuratețe, corectitudine și îndeplinirea cerințelor.
Să luămexemplu al ecranului de conectare. Ecranul de conectare are două câmpuri de text: nume de utilizator și parolă și are două butoane: trimitere și anulare.
Cazurile de testare ar trebui să acopere toate buclele și declarațiile condiționale. Cazurile de testare trebuie să afișeze rezultatele așteptate și datele de testare. Mai jos sunt câteva dintre cazurile de testare generale pe care un utilizator le-ar putea executa manual într-un ecran de conectare. Rezultatele sunt apoi notate în documentul cazului de testare.
Mai jos este un exemplu de format de caz de test pentru ecranul de conectare.
S.Nr. | Caz de testare | rezultat asteptat | Rezultat actual | Trecut picat |
---|---|---|---|---|
4 | Utilizatorul introduce un nume de utilizator de peste 10 caractere | Mesaj de eroare „Numele de utilizator nu trebuie să aibă mai mult de 10 caractere” trebuie afișat | Mesajul de eroare nu este afișat | EȘECE |
1 | Utilizatorul verifică aspectul etichetelor Nume utilizator, Parolă | Etichetele trebuie să fie corect scrise și afișate în font de dimensiune normală | Eticheta nume de utilizator și parola sunt afișate corect | TRECE |
Două | Utilizatorul verifică aspectul butonului Trimiteți și anulați | Butoanele trebuie afișate cu numele corect | Butoanele Trimitere și Anulare sunt afișate corect | TRECE |
3 | Utilizatorul verifică culoarea de fundal a ecranului | Formularul de conectare trebuie să se afle într-un tabel alb, iar ecranul să fie de culoare gri de fundal | Aspectul ecranului nu corespunde cerințelor. | EȘECE |
4 | Utilizatorul lasă caseta de text cu numele de utilizator ca necompletat | Ar trebui afișat mesajul de eroare „Numele de utilizator nu poate fi gol” | Se afișează mesajul de eroare „Numele de utilizator nu poate fi gol” | TRECE |
5 | Utilizatorul introduce o anumită valoare în caseta de text a numelui de utilizator și lasă caseta de parolă ca Blank | Ar trebui afișat mesajul de eroare „Parola nu poate fi goală” | Se afișează mesajul de eroare „Parola nu poate fi goală” | TRECE |
6 | Utilizatorul introduce numele de utilizator ca „abcd” și parola ca „xxxx” | Mesaj de eroare „Combinație de parolă de nume de utilizator nevalidă” ar trebui afișat | Mesaj de eroare „Combinație de parolă de nume de utilizator nevalidă” este afisat | TRECE |
5 | Utilizatorul introduce numele de utilizator ca „utilizator de testare” și parola ca „parolă” și face clic pe butonul Trimiteți | Utilizatorul ar trebui să poată vedea ecranul „Detaliile angajaților” | Este afișat ecranul cu detalii despre angajați | TRECE |
În timp ce tabelul listează câteva dintre cazurile de testare, mai jos este lista completă:
- Verificați dacă există excepții, inclusiv excepția indicatorului NULL
- Verificați dacă NULLS nu este permis pentru numele de utilizator și parola
- Verificați dacă numele de utilizator / parola este în formatul corect
- Verificați dacă numerele nu sunt permise pentru numele de utilizator
- Verificați dacă nu sunt permise caractere speciale în Nume utilizator
- Verificați dacă sunt introduse combinația corectă de nume de utilizator și parolă, apoi aplicația vă duce la următorul ecran, adică la ecranul cu informații despre angajați
- Verificați dacă numele de utilizator introdus are lungimea corectă
- Verificați dacă câmpul text al numelui de utilizator permite numai numărul maxim de caractere specificat pentru acel câmp
- Verificați dacă câmpul parolei, dacă este specificat în cerințe, este vizibil ca * în timp ce introduceți
- Verificați dacă parolele sunt sensibile la majuscule și minuscule
- Verificați dacă numele de utilizator nu este sensibil la majuscule și minuscule
- Verificați dacă pagina de conectare nu își amintește numele de utilizator sau parola, chiar și după ce ați ieșit
- Verificați dacă butonul Trimiteți și Anulați funcționează conform cerințelor
- Dacă utilizați aplicația pentru prima dată, verificați dacă numele de utilizator are permisiunea de a intra în aplicație
- Ștergeți o combinație de nume de utilizator / parolă din baza de date și verificați dacă combinația nu se poate conecta din nou
- Pentru toate cazurile de mai sus, verificați dacă sunt afișate mesajele de eroare de validare corespunzătoare
- Verificați dacă etichetele și butoanele sunt la locul potrivit pe ecran și dacă afișează corect textul
- Verificați dacă aspectele ecranului sunt conform cerințelor
- Verificați dacă sunt gestionate excepțiile
- Verificați dacă jurnalizarea este efectuată pentru acțiunile necesare
După ce parcurgeți cazurile de testare, vă puteți da seama că vă confruntați în principal cu testarea câmpurilor, butoanelor, funcționalității și validărilor unui anumit ecran. Acest lucru este corect, întrucât Testarea unității se ocupă foarte puternic de testarea fiecărui fragment de cod și componentă mici. Același tip de testare trebuie efectuat pentru toate ecranele.
Vă rugăm să rețineți că cele de mai sus sunt doar exemple, iar cazurile de testare sunt pregătite pe baza unui document de proiectare specific și proiect detaliat.
Citește și=> Eșantion de testare gata de utilizare și scenarii de testare pentru testarea aplicațiilor web.
# 2) TESTARE DE INTEGRARE
În testarea integrării, modulele individuale sunt integrate și testate împreună pentru corectitudine.
cel mai bun mod de a deschide fișierul XML
Fiecare dintre cele trei ecrane din exemplul de mai sus este dezvoltat de trei membri diferiți ai echipei. Acum, după ce au terminat testarea unității, este timpul să adunați tot codul și să verificați dacă funcționează bine împreună. Testarea integrării este efectuată pentru a se asigura că datele sau controlul sunt transferate corect de la un ecran la altul.
Iată câteva exemple de cazuri de testare a integrării pentru exemplul aplicației pentru angajați:
- Verificați dacă utilizatorul conectat și sesiunea sunt identice în toate celelalte ecrane noi integrate
- Verificați dacă celelalte module nu se actualizează / șterg / nu inserează nicio înregistrare în baza de date, care nu este necesară
- Să existe un câmp de statut al angajaților, care spune „Nou” la adăugare, „Actualizat” la modificare și „Șters” la ștergere. Deși două sau trei ecrane pot utiliza același câmp de stare, este important să vă asigurați că câmpul nu este actualizat greșit.
- Verificați dacă antetul, subsolul, dimensiunea ecranului și aspectul îndeplinesc cerințele după integrare
- Verificați dacă faceți clic pe butoanele Trimite, controlul este transferat pe ecranul următor
- Verificați dacă faceți clic pe butonul Anulare, acțiunea efectuată este anulată
În plus, cazurile de testare a integrării generale pentru o aplicație J2EE ar putea fi:
- Verificați fluxul de date, fie Object, XML sau Session de la capăt la cap. Verificați corectitudinea.
- Verificați dacă sesiunea este gestionată corect de fiecare dintre module
- Dacă sunt implicate aplicații externe (servicii web), verificați dacă aplicația dvs. este capabilă să efectueze apeluri și să recupereze date din aplicație
# 3) TESTAREA SISTEMULUI
În testarea sistemului, întreaga aplicație este testată pentru funcționalitate și completitudine în ceea ce privește cerințele. Probabil ar fi mai ușor să întrebați când se efectuează testarea unitară a fiecărei componente și componentele codului sunt combinate și testate împreună în timpul testării integrării, ce ar putea fi diferit în testarea sistemului? Nu este inexact să spunem că ideea din Testarea sistemelor este de a sparge aplicația :)
Scenariul 1: Dezvolți o nouă aplicație pentru angajați cu un cadru;de exemplu, Struts. Există, de asemenea, alte câteva aplicații care rulează pe diferite servere din organizația dvs. Cu toate acestea, toți apelează același serviciu web existent pentru a prelua adresa și numărul de telefon pentru o anumită persoană.
În timpul testării integrării, ați fi testat dacă aplicația dvs. este capabilă să efectueze un apel către serviciul web și dacă puteți obține răspunsul. Dar dacă există o problemă în serviciul web în sine? Sau serviciul web nu răspunde la unele intrări rare? Serviciul web, în cazul nostru, poate lua doar un număr de angajați de maximum 6 caractere. Sau, serviciul web aruncă excepții pentru anumite formate de adresă în timp ce revine. Aceasta este externă, dar face parte și din testarea sistemului.
Scenariul nr. 2 : Cererea dvs. de angajat este completă. Adăugați un angajat și generează un număr de angajat # 1001. Modificați, ștergeți, actualizați, adăugați, modificați, ștergeți, adăugați, adăugați, adăugați, modificați, ștergeți și apoi adăugați în cele din urmă altul. Ce se întâmplă dacă noul număr de angajat este din nou # 1001?
Scenariul nr. 3 : Să presupunem că doi utilizatori folosesc aplicația în același timp. Amândoi încep să lucreze la același angajat, unul șterge. Ce se întâmplă dacă celălalt utilizator este capabil să continue cu modificarea acelorași angajați așa cum este stocat în sesiune?
Mai jos sunt câteva aspecte importante ale testării sistemului:
- Asigurați-vă că fluxul de date și controlul sunt corecte de la un capăt la altul
- Asigurați securitatea datelor tranzacției
- Asigurați-vă că aplicația respectă toate funcționalitățile companiei
- Verificați dacă aplicația funcționează bine ca produs final - verificați legăturile rupte, gestionarea sesiunilor, cookie-urile, înregistrarea, gestionarea erorilor, gestionarea excepțiilor, validarea și fluxul de tranzacții.
# 4) TESTAREA PERFORMANȚEI
Acest tip de testare se efectuează atunci când ar exista un număr mare de utilizatori care utilizează aplicația sau cantități mari de date în baza de date sau ambele. Mai jos sunt câteva dintre cazuri:
- Dacă mai mulți utilizatori se conectează în același timp, verificați dacă aplicațiile nu sunt blocate / blocate
- Dacă o cantitate mare de date este disponibilă în baza de date - verificați dacă grilele ecranului de căutare nu durează foarte mult pentru a executa interogări înainte de expirarea sesiunii
- Într-un mediu multi-thread, verificați dacă aplicația este capabilă să gestioneze bine toate thread-urile
- În aplicațiile în care sunt create un număr mare de obiecte, verificați dacă este alocată suficientă memorie, dacă este gestionată colectarea gunoiului și dacă nu există excepții de memorie
Concluzie
În acest articol, am prezentat o prezentare generală a unei aplicații J2EE. De asemenea, am văzut cum să efectuăm manual testarea unității, integrării, funcționale și de sistem pentru fiecare dintre componentele aplicației cu un exemplu.
În articolul următor , vom vedea cum testarea automatizării poate fi benefică pentru aplicațiile mari J2EE.
Despre autor: Acesta este un articol invitat de Padmavaty S. Cu o experiență generală de peste 7 ani de testare software, are o experiență vastă în testarea cadrelor Java, J2EE, MVC și Struts.
Spuneți-ne dacă lucrați la testarea aplicațiilor JAVA. Împărtășiți-vă experiența și întrebările în comentariile de mai jos.
Lectură recomandată
- Certificare de testare ISTQB Exemplu de lucrări de întrebare cu răspunsuri
- Cum se efectuează testarea automatizată a aplicațiilor JAVA / J2EE (partea 2)
- Cele mai bune instrumente de testare software 2021 (Instrumente de automatizare a testelor de calitate)
- Top 20 de sfaturi practice de testare a software-ului pe care ar trebui să le citiți înainte de a testa orice aplicație
- Testarea aplicațiilor medicale - sfaturi și scenarii importante de testare (partea 2)
- Cum să găsiți o eroare în aplicație? Sfaturi și trucuri
- Testarea bazei de date cu JMeter
- Mașină virtuală Java: Cum ajută JVM la rularea aplicației Java