how test java applications tips with sample test cases
U ovom uputstvu naučit ćemo komponente uključene u Java aplikaciju i razne vrste testiranja koje je potrebno provesti kako bi se osigurala visokokvalitetna aplikacija bez grešaka.
Ovo je trodijelna serija o testiranju JAVA aplikacija.
najbolji softver za udaljenu radnu površinu za Windows
- U ovom ćemo članku naučiti komponente J2EE i pristup ručnom testiranju za aplikaciju J2EE.
- U drugom ćemo pregledati Automatizirano ispitivanje pristup testiranju J2EE aplikacija i
- U trećem ćemo pregledati sveobuhvatan popis alata dostupnih za testiranje J2EE aplikacija.
Što ćete naučiti:
- Počnimo s pregledom J2EE aplikacija
- Testiranje JAVA / J2EE aplikacije
- Ručno testiranje Java aplikacija:
- Zaključak
- Preporučena literatura
Počnimo s pregledom J2EE aplikacija
DO Java web aplikacija sastoji se od nekoliko komponenata, a svaka ima važnu svrhu. MVC , što je skraćenica za Model View Controller, predstavlja najpopularniji i najčešće korišten obrazac arhitektonskog dizajna.
Prije nego što naučimo testirati, prođimo ukratko kroz razne komponente J2EE aplikacije.
- Klijent / Preglednik traži web adresu s URL-om.
- JSP (Java Server Pages) - JSP je tehnologija na poslužitelju namijenjena predstavljanju podataka korisniku. Podržava prikaz dinamičnog sadržaja uz pomoć posebnih oznaka nazvanih JSP oznake koje pomažu u umetanju Java koda unutar HTML stranica. [Statički HTML uvijek prikazuje isti sadržaj]. Tijekom izvođenja, JSP se pretvara u servlet. Ovdje se obično ne piše poslovna logika.
- JSF (lica Java poslužitelja) - JSF je okvir komponenata pogleda za učinkovit dizajn korisničkog sučelja.
- Javascript / Jquery - su skriptni jezici koji se koriste za provjeru pogleda / zaslona na strani klijenta.
- Servlet - Servlet provjerava podatke primljene s ulaza, odabire odgovarajući kod poslovne logike i prosljeđuje vrijednosti na Bean kod.
- Poduzetnički Java Bean (EJB) - Tu se obično piše i obrađuje cjelokupna poslovna logika. Bean zatim poziva kôd ili za čitanje, pisanje ili ažuriranje baze podataka. Nakon završetka operacija baze podataka, odgovor se zatim vraća natrag u Servlet, koji zauzvrat odabire odgovarajući JSP za prikaz rezultata.
- WebServices - Web usluge su komponente aplikacije koje se izvode na zasebnom poslužitelju i komuniciraju putem HTTP protokola.
- Baza podataka - pohranjuje cjelokupne podatke aplikacije.
Imajte na umu da sve web aplikacije ne slijede JSP -> Servlet -> EJB -> Model baze podataka . Većina aplikacija J2EE trenutno je napisana s okvirom kao što su Struts, Spring ili Hibernate. Dizajn aplikacija razlikuje se za svaki zahtjev ovisno o veličini aplikacije, trošku, vremenu izrade, resursima i veličini tima.
Testiranje JAVA / J2EE aplikacije
Prijeđimo sada na testiranje cijele J2EE aplikacije. To se radi u nekoliko koraka.Na primjer, uzmite u obzir da imamo tri zaslona:
- Zaslon za prijavu
- Zaslon zaslona zaposlenika na kojem su navedeni svi zaposlenici u organizaciji
- Zaslon za izmjenu / dodavanje / uklanjanje zaposlenika.
Korisničko sučelje (korisničko sučelje) za ova tri zaslona razvijeno je s JSP / HTML-om i provjerama valjanosti izvedenim putem JavaScript-a. Budući da je riječ o primjeru aplikacije, logika je u Servletu i DAO (objekt pristupa podacima). DAO je klasa za povezivanje s bazom podataka.
Ispod su primjeri zaslona:
Ručno testiranje Java aplikacija:
Tijekom ručnog JAVA testiranja tester priprema ispitne slučajeve iz detaljnog projektnog dokumenta i pokušava obuhvatiti sve moguće scenarije i isječke koda.
# 1) TESTIRANJE JAVA JEDINICE
Jedinstveno testiranje vrsta je testiranja pri čemu korisnik treba testirati najmanji isječak koda za točnost, ispravnost i ispunjavanje zahtjeva.
Uzmimoprimjer zaslona za prijavu. Zaslon za prijavu ima dva tekstna polja: korisničko ime i lozinku i ima dva gumba: pošalji i otkaži.
Test slučajevi trebali bi obuhvatiti sve petlje i uvjetne izjave. Test slučajevi trebaju prikazivati očekivane rezultate i podatke o ispitivanju. Ispod su neki od općih testnih slučajeva koje je korisnik mogao izvršiti ručno na zaslonu za prijavu. Rezultati se zatim bilježe u dokumentu o test slučaju.
Ispod je primjer primjera formata testnog slučaja za zaslon za prijavu.
S.Ne. | Test slučaj | očekivani rezultat | Stvarni rezultat | Prođi / ne uspije |
---|---|---|---|---|
4 | Korisnik unosi korisničko ime duže od 10 znakova | Poruka pogreške Trebalo bi se prikazati 'Korisničko ime ne smije biti duže od 10 znakova' | Poruka o pogrešci se ne prikazuje | IZNEVJERITI |
1 | Korisnik provjerava izgled naljepnica Korisničko ime, Lozinka | Oznake bi trebale biti pravilno napisane i prikazane fontom normalne veličine | Korisničko ime i lozinka oznake prikazani su ispravno | PROĆI |
dva | Korisnik provjerava izgled gumba Pošalji i otkaži | Gumbi bi trebali biti prikazani s točnim nazivom | Gumbi Submit i Cancel prikazani su ispravno | PROĆI |
3 | Korisnik provjerava boju pozadine zaslona | Obrazac za prijavu trebao bi biti unutar bijele tablice, a zaslon u sivoj pozadini | Izgled zaslona ne odgovara zahtjevima. | IZNEVJERITI |
4 | Korisnik ostavlja okvir za tekst korisničkog imena kao Prazan | Trebala bi se prikazati poruka o pogrešci 'Korisničko ime ne može biti prazno' | Prikazuje se poruka o pogrešci 'Korisničko ime ne može biti prazno' | PROĆI |
5 | Korisnik unosi neku vrijednost u okvir za korisničko ime, a okvir za lozinku ostavlja praznim | Trebala bi se prikazati poruka o pogrešci 'Lozinka ne može biti prazna' | Prikazuje se poruka o pogrešci 'Lozinka ne može biti prazna' | PROĆI |
6 | Korisnik unosi korisničko ime kao 'abcd', a lozinku kao 'xxxx' | Poruka pogreške 'Neispravna kombinacija lozinke za korisničko ime' treba prikazati | Poruka pogreške 'Neispravna kombinacija lozinke za korisničko ime' prikazuje se | PROĆI |
5 | Korisnik unosi korisničko ime kao 'testuser', a lozinku kao 'lozinku' i klikne na gumb Submit | Korisnik bi trebao moći vidjeti 'zaslon s detaljima zaposlenika' | Prikazuje se zaslon s detaljima zaposlenika | PROĆI |
Iako tablica navodi neke od test slučajeva, u nastavku je cjelovit popis:
- Provjerite ima li iznimke, uključujući NULL iznimku pokazivača
- Provjerite nisu li dopušteni NULLS za korisničko ime i lozinku
- Provjerite jesu li korisničko ime / lozinka u ispravnom formatu
- Provjerite nisu li brojevi dopušteni za korisničko ime
- Provjerite nisu li posebni znakovi dopušteni u Korisničkom imenu
- Provjerite je li unesena ispravna kombinacija korisničkog imena i lozinke, a zatim vas aplikacija vodi na sljedeći zaslon, tj. Zaslon s podacima o zaposleniku
- Provjerite je li korisničko ime ispravne duljine
- Provjerite dopušta li polje za tekst korisničkog imena samo maksimalan broj znakova naveden za to polje
- Provjerite je li polje za lozinku ako je navedeno u zahtjevima vidljivo kao * tijekom unosa
- Provjerite razlikuju li lozinke velika i mala slova
- Provjerite da li korisničko ime ne razlikuje velika i mala slova
- Provjerite da li se stranica za prijavu ne sjeća korisničkog imena ili lozinke, čak i nakon izlaska
- Provjerite rade li gumb Submit i Cancel prema zahtjevu
- Ako aplikaciju upotrebljavate prvi put, provjerite ima li korisničko ime dopuštenje za ulazak u aplikaciju
- Iz baze podataka izbrišite kombinaciju korisničkog imena i lozinke i provjerite da li se kombinacija više ne može prijaviti
- Za sve gore navedene slučajeve provjerite jesu li prikazane odgovarajuće poruke o pogrešci provjere valjanosti
- Provjerite nalaze li se naljepnice i gumbi na pravom mjestu na zaslonu i jesu li pravilno prikazali tekst
- Provjerite jesu li prikazi na zaslonu u skladu sa zahtjevima
- Provjerite postupaju li s iznimkama
- Provjerite vrši li se evidentiranje potrebnih radnji
Nakon prolaska kroz test slučajeve, možda ćete shvatiti da se uglavnom bavite testiranjem polja, gumba, funkcionalnosti i provjera valjanosti određenog zaslona. To je točno, jer se Unit Testing vrlo živo bavi testiranjem svakog malog isječka koda i komponente. Istu vrstu testiranja treba provesti na svim zaslonima.
Napominjemo da su gore navedeni samo primjeri, a test slučajevi su pripremljeni na temelju projektnog dokumenta i detaljnog projektnog dokumenta.
Pročitajte također=> Uzorak spreman za upotrebu test slučajeva i testni scenariji za testiranje web aplikacija.
# 2) ISPITIVANJE INTEGRACIJE
U integracijskom testiranju pojedini se moduli integriraju i zajedno ispituju radi ispravnosti.
Neka svaki od tri zaslona u gornjem primjeru razvijaju tri različita člana tima. Sad kad su završili s jedinstvenim testiranjem, vrijeme je da sakupite sav kôd i provjerite rade li dobro. Provodi se integracijsko testiranje kako bi se osiguralo da se podaci ili kontrola ispravno prenose s jednog zaslona na drugi.
Evo nekoliko primjera testnih slučajeva integracije za primjer Primjene zaposlenika:
- Provjerite jesu li korisnik prijavljen i sesija jednaki na svim ostalim integriranim zaslonima
- Provjerite da li ostali moduli ne ažuriraju / brišu / ubacuju bilo koji zapis u bazu podataka neobvezno
- Neka postoji polje statusa zaposlenika u kojem stoji 'Novo' pri dodavanju, 'Ažurirano' o izmjeni i 'Izbrisano' pri brisanju. Iako dva ili tri zaslona mogu koristiti isto polje statusa, važno je osigurati da se polje ne ažurira pogrešno.
- Provjerite zadovoljavaju li zaglavlje, podnožje, veličina zaslona i izgled nakon integracije
- Provjerite je li klikom na gumbe Submit kontrola prebačena na sljedeći zaslon
- Provjerite je li klikom na gumb Odustani izvršena radnja otkazana
Uz to, opći primjeri integracijskih testova za J2EE aplikaciju mogu biti:
- Provjerite protok podataka, bilo Objekt, XML ili Sesiju od kraja do kraja. Provjerite ispravnost.
- Provjerite upravlja li sesijom pravilno svaki od modula
- Ako su uključene vanjske aplikacije (web usluge), provjerite može li vaša aplikacija upućivati pozive i dohvatiti podatke iz aplikacije
# 3) TESTIRANJE SUSTAVA
Tijekom testiranja sustava, cijela se aplikacija testira na funkcionalnost i cjelovitost s obzirom na zahtjeve. Vjerojatno bi bilo lakše pitati kada se provodi Unit testiranje svake komponente, a komponente koda također kombiniraju i testiraju zajedno tijekom testiranja integracije, što bi moglo biti drugačije u testiranju sustava? Nije netočno reći da je ideja u System Testing razbiti aplikaciju :)
Scenarij 1: Razvijate novu aplikaciju za zaposlenike s okvirom;na primjer, Podmetači. Postoji i nekoliko drugih aplikacija pokrenutih na različitim poslužiteljima u vašoj organizaciji. Međutim, svi oni pozivaju istu postojeću web uslugu kako bi dohvatili adresu i telefonski broj bilo koje određene osobe.
Tijekom testiranja integracije testirali biste je li vaša aplikacija u mogućnosti uputiti poziv web usluzi i jeste li u mogućnosti dobiti odgovor. Ali što ako postoji problem u samoj web usluzi? Ili web usluga ne reagira na neke rijetke ulaze? Web usluga, u našem slučaju, može imati samo broj zaposlenika maksimalno 6 znakova. Ili, web usluga tijekom povratka baca iznimke za određene formate adresa. Ovo je vanjsko, ali je također dio testiranja sustava.
Scenarij # 2 : Vaša je prijava za zaposlenike potpuna. Dodate zaposlenika i on generira broj zaposlenika # 1001. Izmijenite, izbrišite, ažurirajte, dodajte, izmijenite, izbrišite, dodajte, dodajte, dodajte, izmijenite, izbrišite i na kraju dodajte još jedan. Što ako je novi broj zaposlenika opet # 1001?
Scenarij # 3 : Pretpostavimo da dva korisnika istodobno koriste aplikaciju. Oboje počinju raditi na istom zaposleniku, jedan briše. Što ako drugi korisnik može nastaviti s izmjenama istih zaposlenika koji su pohranjeni u sesiji?
Slijedi nekoliko važnih aspekata testiranja sustava:
- Osigurajte da je protok podataka i kontrola ispravan s kraja na kraj
- Osigurajte sigurnost podataka o transakciji
- Osigurajte da aplikacija slijedi sve poslovne funkcionalnosti
- Provjerite radi li aplikacija dobro kao krajnji proizvod - provjerite neispravne veze, upravljanje sesijama, kolačiće, bilježenje, postupanje s pogreškama, rukovanje iznimkama, provjeru valjanosti i tijek transakcija.
# 4) TESTIRANJE UČINKA
Ova vrsta testiranja provodi se kada bi u bazi podataka bio velik broj korisnika koji koriste aplikaciju ili veliku količinu podataka, ili oboje. Ispod su neki od slučajeva:
- Ako se istovremeno prijavljuje više korisnika, provjerite da se programi ne prekidaju ili ne ruše
- Ako je u bazi podataka dostupna velika količina podataka - provjerite radi li mreža zaslona za pretraživanje izvršavanje upita prije isteka vremena sesije
- U okruženju s više niti provjerite može li aplikacija dobro rukovati svim nitima
- U aplikacijama u kojima je stvoren velik broj objekata, provjerite je li dodijeljeno dovoljno memorije, obrađuje li se odvoz smeća i nema li izuzetaka iz memorije
Zaključak
U ovom smo članku pokrili pregled J2EE aplikacije. Također smo vidjeli kako na primjeru ručno izvesti jedinstveno, integracijsko, funkcionalno i sistemsko testiranje za svaku od komponenata aplikacije.
U sljedeći članak , vidjet ćemo kako testiranje automatizacije može biti korisno za velike J2EE aplikacije.
O autoru: Ovo je gostujući članak Padmavaty S. Sa ukupno 7 i više godina iskustva u testiranju softvera, ona ima veliko iskustvo u testiranju Java, J2EE, MVC i Struts okvira.
Javite nam ako radite na testiranju JAVA aplikacija. Podijelite svoje iskustvo i upite u komentarima u nastavku.
Preporučena literatura
- Uzorci ispitnih radova s odgovorima na ISTQB testiranje
- Kako izvesti automatsko testiranje JAVA / J2EE aplikacija (2. dio)
- Najbolji alati za testiranje softvera 2021. [Alati za automatizaciju ispitivanja kvalitete]
- Top 20 praktičnih savjeta za testiranje softvera koje biste trebali pročitati prije testiranja bilo koje aplikacije
- Testiranje zdravstvenih aplikacija - Savjeti i važni scenariji ispitivanja (2. dio)
- Kako pronaći grešku u aplikaciji? Savjeti i trikovi
- Ispitivanje baze podataka pomoću JMetera
- Java virtualni stroj: kako JVM pomaže u pokretanju Java aplikacije