how test java applications tips with sample test cases
V tomto výučbe sa dozvieme komponenty, ktoré sú súčasťou aplikácie Java, a rôzne typy testovania, ktoré je potrebné vykonať, aby sme zaistili vysoko kvalitnú aplikáciu bez chýb.
Toto je trojdielna séria o testovaní aplikácií JAVA.
- V tomto článku sa naučíme komponenty J2EE a prístup ručného testovania pre aplikáciu J2EE.
- V druhej časti preskúmame Automatizované testovanie - prístup k testovaniu aplikácií J2EE a -
- V tretej časti preskúmame komplexný zoznam nástrojov, ktoré sú k dispozícii na testovanie aplikácií J2EE.
Čo sa dozviete:
- Začnime s prehľadom aplikácií J2EE
- Testovanie aplikácie JAVA / J2EE
- Ručné testovanie aplikácií Java:
- Záver
- Odporúčané čítanie
Začnime s prehľadom aplikácií J2EE
TO Java webová aplikácia sa skladá z niekoľkých komponentov, z ktorých každá slúži dôležitému účelu. MVC , čo znamená Model View Controller, je najobľúbenejším a najbežnejšie používaným architektonickým vzorom.
Predtým, ako sa naučíme testovať, krátko si prečítajme: rôzne komponenty aplikácie J2EE.
- Klient / Prehliadač žiada o webovú adresu s URL.
- JSP (stránky servera Java) - JSP je technológia na strane servera určená na prezentáciu údajov používateľovi. Podporuje zobrazovanie dynamického obsahu pomocou špeciálnych značiek nazývaných značky JSP, ktoré pomáhajú vkladať kód Java do stránok HTML. (Statický HTML zobrazuje vždy rovnaký obsah). Za behu sa JSP prevedie na servlet. Obchodná logika sa tu zvyčajne nepíše.
- JSF (Java Server Faces) - JSF je komponent komponentu pohľadu pre efektívny návrh užívateľského rozhrania.
- Javascript / JQuery - sú skriptovacie jazyky používané na validáciu zobrazenia / obrazovky na strane klienta.
- Servlet - Servlet overí údaje prijaté zo vstupu, vyberie vhodný kód obchodnej logiky a odovzdá hodnoty do Beanovho kódu.
- Enterprise Java Bean (EJB) - Toto je miesto, kde sa zvyčajne píše a spracováva celá obchodná logika. Fazuľa potom zavolá kód na čítanie, zápis alebo aktualizáciu databázy. Po dokončení operácií s databázou sa odpoveď odošle späť do Servletu, ktorý následne vyberie vhodný JSP na zobrazenie výsledkov.
- Webové služby - Webové služby sú komponenty aplikácie, ktoré bežia na samostatnom serveri a komunikujú prostredníctvom protokolu HTTP.
- Databáza - ukladá všetky údaje aplikácie.
Upozorňujeme, že nie všetky webové aplikácie dodržiavajú JSP -> Servlet -> EJB -> Databázový model . Väčšina aplikácií J2EE je v súčasnosti napísaná s rámcom ako Struts, Spring alebo Hibernate. Dizajn aplikácií sa líši pre každú požiadavku na základe veľkosti aplikácie, nákladov, času vývoja, zdrojov a veľkosti tímu.
Testovanie aplikácie JAVA / J2EE
Prejdime teraz k testovaniu celej aplikácie J2EE. To sa deje v niekoľkých krokoch.Napríklad, zvážte, že máme tri obrazovky:
- Prihlasovacia obrazovka
- Obrazovka zamestnanca, ktorá obsahuje zoznam všetkých zamestnancov v organizácii
- Obrazovka úpravy / pridania / odstránenia zamestnanca.
UI (užívateľské rozhranie) pre tieto tri obrazovky sú vyvíjané pomocou JSP / HTML a validácie sa vykonávajú pomocou JavaScriptu. Pretože sa jedná o ukážkovú aplikáciu, logika sa nachádza v servlete a DAO (Data Access Object). DAO je trieda pre pripojenie k databáze.
Nižšie sú uvedené vzorové obrazovky:
Ručné testovanie aplikácií Java:
Počas manuálneho testovania v JAVA tester pripraví testovacie prípady z podrobného dokumentu o dizajne a pokúsi sa pokryť všetky možné scenáre a útržky kódu.
# 1) TESTOVANIE JAVSKEJ JEDNOTKY
Testovanie jednotiek je typom testovania pričom používateľ musí otestovať najmenšiu časť útržkov kódu z hľadiska presnosti, správnosti a splnenia požiadaviek.
Zoberme sipríklad prihlasovacej obrazovky. Prihlasovacia obrazovka má dve textové polia: používateľské meno a heslo a má dve tlačidlá: odoslať a zrušiť.
Testovacie prípady by mali pokrývať všetky cykly a podmienené vyhlásenia. V testovacích prípadoch by sa mali zobraziť očakávané výsledky a údaje o teste. Ďalej uvádzame niektoré zo všeobecných testovacích prípadov, ktoré mohol používateľ vykonať ručne na prihlasovacej obrazovke. Výsledky sú potom zaznamenané v dokumente o testovacom prípade.
Nižšie uvádzame ukážkový formát testovacieho prípadu pre prihlasovaciu obrazovku.
S.No. | Testovacia situácia | ocakavane vysledky | Skutočný výsledok | Vyhovel / nevyhovel |
---|---|---|---|---|
4 | Užívateľ zadá užívateľské meno dlhšie ako 10 znakov | Chybná správa Malo by sa zobraziť „Užívateľské meno by nemalo mať viac ako 10 znakov“ | Chybové hlásenie sa nezobrazí | FAIL |
1 | Používateľ skontroluje vzhľad štítkov Meno, Heslo | Štítky by mali byť správne napísané správne a zobrazené v písme normálnej veľkosti | Správne sa zobrazuje menovka používateľa a heslo | PASS |
dva | Používateľ skontroluje vzhľad tlačidla Odoslať a zrušiť | Tlačidlá by mali byť zobrazené so správnym názvom | Tlačidlá Submit a Cancel sa zobrazujú správne | PASS |
3 | Používateľ skontroluje farbu pozadia obrazovky | Prihlasovací formulár by mal byť v bielej tabuľke a obrazovka by mala mať šedú farbu pozadia | Vzhľad obrazovky nezodpovedá požiadavkám. | FAIL |
4 | Používateľ ponechá textové pole používateľského mena ako prázdne | Malo by sa zobraziť chybové hlásenie „Používateľské meno nemôže byť prázdne“ | Zobrazí sa chybové hlásenie „Používateľské meno nemôže byť prázdne“ | PASS |
5 | Používateľ zadá do textového poľa používateľské meno určitú hodnotu a textové pole pre heslo ponechá prázdne | Malo by sa zobraziť chybové hlásenie „Heslo nemôže byť prázdne“ | Zobrazí sa chybové hlásenie „Heslo nemôže byť prázdne“ | PASS |
6 | Používateľ zadá používateľské meno ako „abcd“ a heslo ako „xxxx“ | Chybná správa „Neplatná kombinácia hesla a používateľského mena“ by sa malo zobraziť | Chybná správa „Neplatná kombinácia hesla a používateľského mena“ sa zobrazí | PASS |
5 | Používateľ zadá používateľské meno ako „testuser“ a heslo ako „heslo“ a klikne na tlačidlo Odoslať | Používateľ by mal vidieť obrazovku „Podrobnosti o zamestnancovi“ | Zobrazí sa obrazovka s podrobnosťami o zamestnancovi | PASS |
Zatiaľ čo tabuľka uvádza niektoré z testovacích prípadov, nižšie je uvedený kompletný zoznam:
- Skontrolujte každú výnimku vrátane výnimky ukazovateľa NULL
- Skontrolujte, či NULLS nemajú povolené používateľské meno a heslo
- Skontrolujte, či je používateľské meno / heslo v správnom formáte
- Skontrolujte, či pre používateľské meno nie sú povolené čísla
- Skontrolujte, či v používateľskom mene nie sú povolené špeciálne znaky
- Skontrolujte, či je zadaná správna kombinácia používateľského mena a hesla, potom sa aplikácia presunie na ďalšiu obrazovku, tj. Obrazovku s informáciami o zamestnancovi
- Skontrolujte, či je zadané meno používateľa správne dlhé
- Skontrolujte, či textové pole používateľského mena umožňuje iba maximálny počet znakov určený pre dané pole
- Počas zadávania skontrolujte, či je pole pre heslo, ak je uvedené v požiadavkách, viditeľné ako *
- Skontrolujte, či sa v heslách rozlišujú malé a veľké písmená
- Skontrolujte, či sa v používateľskom mene nerozlišujú malé a veľké písmená
- Skontrolujte, či si prihlasovacia stránka nepamätá používateľské meno alebo heslo, a to ani po ukončení
- Skontrolujte, či tlačidlo Odoslať a Zrušiť funguje podľa požiadaviek
- Pri prvom použití aplikácie skontrolujte, či má používateľské meno povolenie na vstup do aplikácie
- Vymažte kombináciu používateľského mena a hesla z databázy a skontrolujte, či sa daná kombinácia nemôže znova prihlásiť
- Vo všetkých vyššie uvedených prípadoch skontrolujte, či sa zobrazujú príslušné chybové správy o overení
- Skontrolujte, či sú štítky a tlačidlá na správnom mieste na obrazovke a či správne zobrazujú text
- Skontrolujte, či vzhľad obrazovky zodpovedá požiadavkám
- Skontrolujte, či sú spracované výnimky
- Skontrolujte, či sa protokolovanie vykonáva, aby ste vykonali požadované akcie
Po absolvovaní testovacích prípadov si môžete uvedomiť, že sa väčšinou zaoberáte testovaním polí, tlačidiel, funkčnosti a overovania konkrétnej obrazovky. Je to presné, pretože Unit Testing sa veľmi intenzívne zaoberá testovaním každého malého fragmentu kódu a súčasti. Rovnaký typ testovania by sa mal vykonať pre všetky obrazovky.
Upozorňujeme, že vyššie uvedené sú iba príklady a testovacie prípady sa pripravujú na základe podrobného projektového dokumentu konkrétneho projektu.
Prečítajte si tiež=> Vzorka pripravená na použitie a testovacie scenáre na testovanie webových aplikácií.
# 2) TESTOVANIE INTEGRÁCIE
Pri integračnom testovaní sú jednotlivé moduly integrované a spoločne testované na správnosť.
bezplatní poskytovatelia e-mailových účtov v USA
Každá z troch obrazoviek vo vyššie uvedenom príklade je vyvinutá tromi rôznymi členmi tímu. Teraz, keď dokončili testovanie jednotiek, je čas spojiť všetok kód a skontrolovať, či fungujú dobre. Vykonáva sa testovanie integrácie, aby sa zabezpečilo, že sa dáta alebo riadenie prenášajú správne z jednej obrazovky na druhú.
Tu je niekoľko príkladov testovacích prípadov integrácie pre príklad aplikácie zamestnanca:
- Skontrolujte, či je prihlásený používateľ a relácia rovnaké na všetkých ostatných nových integrovaných obrazovkách
- Skontrolujte, či ostatné moduly nevyžadujú aktualizáciu / vymazanie / vloženie záznamu do databázy
- Nech existuje pole pre status zamestnanca, ktoré obsahuje text „Nový“ pri zmene, „Aktualizácia“ pri zmene a „Odstrániť“ pri odstránení. Aj keď dve alebo tri obrazovky môžu používať rovnaké stavové pole, je dôležité zabezpečiť, aby sa pole neaktualizovalo nesprávne.
- Skontrolujte, či hlavička, päta, veľkosť obrazovky a vzhľad vyhovujú po integrácii požiadavkám
- Skontrolujte, či sa po kliknutí na tlačidlá Odoslať ovládací prvok prenesie na ďalšiu obrazovku
- Skontrolujte, či sa po kliknutí na tlačidlo Zrušiť vykonaná akcia zruší
Všeobecné testovacie prípady integrácie pre aplikáciu J2EE môžu byť navyše:
- Skontrolujte tok údajov, buď objektov, XML alebo relácií od začiatku k druhému. Skontrolujte správnosť.
- Skontrolujte, či je relácia správne riadená každým z modulov
- Ak sú zapojené externé aplikácie (webové služby), skontrolujte, či je vaša aplikácia schopná uskutočňovať hovory a načítať dáta späť z aplikácie
# 3) TESTOVANIE SYSTÉMU
Pri testovaní systému je celá aplikácia testovaná na funkčnosť a úplnosť s ohľadom na požiadavky. Pravdepodobne by bolo jednoduchšie sa opýtať, kedy sa vykonáva testovanie každého komponentu jednotkou a či sú komponenty kódu kombinované a testované spoločne počas testovania integrácie, čo by sa mohlo líšiť v testovaní systému? Nie je nepresné tvrdiť, že myšlienkou v rámci Testovania systému je rozbiť aplikáciu :)
Scenár č. 1: Vyvíjate novú aplikáciu pre zamestnancov s rámcom;napríklad, Vzpery. Na rôznych serveroch vo vašej organizácii tiež beží niekoľko ďalších aplikácií. Všetci však volajú rovnakú existujúcu webovú službu, aby získali adresu a telefónne číslo pre konkrétnu osobu.
Počas testovania integrácie by ste otestovali, či je vaša aplikácia schopná volať webovú službu a či dokážete získať odpoveď. Čo však v prípade, že sa vyskytne problém v samotnej webovej službe? Alebo webová služba nereaguje na niektoré zriedkavé vstupy? Webová služba v našom prípade môže mať iba maximálny počet znakov zamestnanca 6. Alebo webová služba pri návrate hodí výnimky pre určité formáty adresy. Toto je externé, ale tiež súčasť testovania systému.
Scenár č. 2 : Vaša žiadosť o zamestnanie je hotová. Pridáte zamestnanca a vygeneruje sa číslo zamestnanca # 1001. Môžete upravovať, mazať, aktualizovať, pridávať, upravovať, mazať, pridávať, pridávať, pridávať, upravovať, mazať a nakoniec pridať ďalšie. Čo ak je nové číslo zamestnanca opäť # 1001?
Scenár č. 3 : Predpokladajme, že aplikáciu používajú dvaja používatelia súčasne. Obidvaja začnú pracovať na rovnakom zamestnancovi, jeden sa vymaže. Čo ak je druhý používateľ schopný pokračovať v úprave tých istých zamestnancov, ako sú uložené v relácii?
Ďalej uvádzame niektoré dôležité aspekty testovania systému:
- Zaistite, aby bol tok údajov a kontroly správny end-to-end
- Zaistite bezpečnosť údajov o transakcii
- Zaistite, aby aplikácia dodržiavala všetky obchodné funkcie
- Skontrolujte, či aplikácia funguje ako konečný produkt - skontrolujte nefunkčné odkazy, správu relácií, súbory cookie, protokolovanie, spracovanie chýb, spracovanie výnimiek, validáciu a tok transakcií.
# 4) TESTOVANIE VÝKONU
Tento typ testovania sa vykonáva, ak by aplikáciu používal veľký počet používateľov alebo veľké množstvo údajov v databáze alebo oboje. Nižšie uvádzame niektoré z prípadov:
- Ak sa prihlási viac používateľov súčasne, skontrolujte, či aplikácie nezavesia alebo nepadnú
- Ak je v databáze k dispozícii veľké množstvo údajov - skontrolujte, či mriežky na obrazovke vyhľadávania netrvajú vykonanie dotazov pred vypršaním časového limitu relácie veľmi dlho.
- V prostredí s viacerými vláknami skontrolujte, či je aplikácia schopná dobre spracovať všetky vlákna
- V aplikáciách, kde je vytvorených veľké množstvo objektov, skontrolujte, či je pridelených dostatočné množstvo pamäte, je spracované odvoz odpadu a či neexistujú výnimky z nedostatku pamäte
Záver
V tomto článku sme sa venovali prehľadu aplikácie J2EE. Na príklade sme tiež videli, ako manuálne vykonať testovanie jednotiek, integrácie, funkcií a systémov pre každú zo zložiek aplikácie.
V nasledujúci článok , uvidíme, ako môže byť testovanie automatizácie prospešné pre veľké aplikácie J2EE.
O autorovi: Toto je hosťovský článok Padmavaty S. S celkovými 7 a viac rokmi skúseností s testovaním softvéru má rozsiahle skúsenosti s testovaním rámcov Java, J2EE, MVC a Struts.
Dajte nám vedieť, ak pracujete na testovaní aplikácií JAVA. Podeľte sa o svoje skúsenosti a otázky v komentároch nižšie.
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Vzorové dotazníky s odpoveďami na testovanie certifikácie ISTQB
- Ako vykonávať automatizované testovanie aplikácií JAVA / J2EE (časť 2)
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Top 20 praktických tipov na testovanie softvéru, ktoré by ste si mali prečítať pred testovaním akejkoľvek aplikácie
- Testovanie aplikácií v zdravotníctve - tipy a dôležité testovacie scenáre (2. časť)
- Ako nájsť chybu v aplikácii? Tipy a triky
- Testovanie databázy pomocou JMeter
- Virtuálny stroj Java: Ako JVM pomáha pri spúšťaní aplikácií Java