how test java applications tips with sample test cases
V tomto tutoriálu se naučíme komponenty zapojené do aplikace Java a různé typy testování, které je třeba provést, abychom zajistili vysokou kvalitu bezchybné aplikace.
Tohle je třídílná série o testování JAVA aplikací.
- V tomto článku se naučíme komponenty J2EE a přístup k manuálnímu testování aplikace J2EE.
- Ve druhém přezkoumáme Automatizované testování - přístup k testování aplikací J2EE a -
- Ve třetí části přezkoumáme komplexní seznam nástrojů, které jsou k dispozici pro testování aplikací J2EE.
Co se naučíte:
- Začněme s přehledem aplikací J2EE
- Testování aplikace JAVA / J2EE
- Ruční testování aplikací Java:
- Závěr
- Doporučené čtení
Začněme s přehledem aplikací J2EE
NA Jáva webová aplikace se skládá z několika komponent, z nichž každá slouží důležitému účelu. MVC , což znamená Model View Controller, je nejpopulárnějším a nejčastěji používaným vzorem architektonického designu.
Než se naučíme testovat, projdeme si krátce různé komponenty aplikace J2EE.
- Klient / Prohlížeč požádá o webovou adresu s adresou URL.
- JSP (stránky serveru Java) - JSP je technologie na straně serveru určená k prezentaci dat uživateli. Podporuje zobrazení dynamického obsahu pomocí speciálních značek nazývaných značky JSP, které pomáhají vkládat kód Java do stránek HTML. (Statické HTML vždy zobrazuje stejný obsah). Za běhu se JSP převede na servlet. Obchodní logika se zde obvykle nepíše.
- JSF (Java Server Faces) - JSF je rámec komponent zobrazení pro efektivní design uživatelského rozhraní.
- Javascript / Jquery - jsou skriptovací jazyky používané k ověření pohledu / obrazovky na straně klienta.
- Servlet - Servlet ověří data přijatá ze vstupu, vybere příslušný kód obchodní logiky a předá hodnoty do Beanova kódu.
- Enterprise Java Bean (EJB) - To je místo, kde je obvykle psána a zpracovávána celá obchodní logika. Fazole poté zavolá kód, aby buď přečetl, zapsal nebo aktualizoval databázi. Po dokončení databázových operací se odpověď přenese zpět do Servletu, který následně vybere vhodný JSP pro zobrazení výsledků.
- Webové služby - Webové služby jsou součásti aplikace, které běží na samostatném serveru a komunikují přes protokol HTTP.
- Databáze - ukládá všechna data aplikace.
Vezměte prosím na vědomí, že ne všechny webové aplikace dodržují JSP -> Servlet -> EJB -> Databázový model . Většina aplikací J2EE je aktuálně napsána s rámcem, jako je Struts, Spring nebo Hibernate. Návrh aplikací se liší pro každý požadavek na základě velikosti aplikace, nákladů, doby vývoje, zdrojů a velikosti týmu.
Testování aplikace JAVA / J2EE
Nyní přejdeme k testování celé aplikace J2EE. To se děje v několika krocích.Například, vezměte v úvahu, že máme tři obrazovky:
- Přihlašovací obrazovka
- Obrazovka zaměstnanců, která obsahuje seznam všech zaměstnanců v organizaci
- Obrazovka úpravy / přidání / odebrání zaměstnance.
Uživatelské rozhraní (uživatelské rozhraní) pro tyto tři obrazovky se vyvíjí pomocí JSP / HTML a ověřování se provádí pomocí JavaScriptu. Protože se jedná o ukázkovou aplikaci, logika je v servletu a DAO (Data Access Object). DAO je třída pro připojení k databázi.
Níže jsou ukázkové obrazovky:
Ruční testování aplikací Java:
Během ručního testování JAVA tester připraví testovací případy z podrobného dokumentu návrhu a pokusí se pokrýt všechny možné scénáře a fragmenty kódu.
# 1) TESTOVÁNÍ JAVOVÉ JEDNOTKY
Testování jednotek je typ testování přičemž uživatel potřebuje otestovat nejmenší z úryvků kódu z hlediska přesnosti, správnosti a splnění požadavků.
Vezměme sipříklad přihlašovací obrazovky. Přihlašovací obrazovka má dvě textová pole: uživatelské jméno a heslo a má dvě tlačítka: odeslat a zrušit.
Testovací případy by měly pokrývat všechny smyčky a podmíněné příkazy. Testovací případy by měly zobrazovat očekávané výsledky a data testu. Níže uvádíme několik obecných testovacích případů, které by uživatel mohl provést ručně na přihlašovací obrazovce. Výsledky jsou poté zaznamenány v dokumentu testovacího případu.
Níže je ukázkový formát testovacího případu pro přihlašovací obrazovku.
Č. | Modelový případ | Očekávaný výsledek | Skutečný výsledek | Úspěšné / neúspěšné |
---|---|---|---|---|
4 | Uživatel zadá uživatelské jméno delší než 10 znaků | Chybové hlášení Mělo by se zobrazit „Uživatelské jméno by nemělo mít více než 10 znaků“ | Chybová zpráva se nezobrazí | SELHAT |
1 | Uživatel kontroluje vzhled štítků Uživatelské jméno, Heslo | Štítky by měly být správně napsány a zobrazeny písmem normální velikosti | Uživatelské jméno a heslo štítku se zobrazuje správně | SLOŽIT |
dva | Uživatel zkontroluje vzhled tlačítka Odeslat a zrušit | Tlačítka by měla být zobrazena se správným názvem | Tlačítka Odeslat a Zrušit se zobrazují správně | SLOŽIT |
3 | Uživatel zkontroluje barvu pozadí obrazovky | Přihlašovací formulář by měl být v bílé tabulce a obrazovka by měla mít šedé pozadí | Vzhled obrazovky neodpovídá požadavkům. | SELHAT |
4 | Uživatel ponechá textové pole uživatelského jména jako prázdné | Mělo by se zobrazit chybové hlášení „Uživatelské jméno nemůže být prázdné“ | Je zobrazena chybová zpráva „Uživatelské jméno nemůže být prázdné“ | SLOŽIT |
5 | Uživatel zadá určitou hodnotu do textového pole uživatelské jméno a ponechá textové pole pro heslo prázdné | Mělo by se zobrazit chybové hlášení „Heslo nemůže být prázdné“ | Je zobrazena chybová zpráva „Heslo nemůže být prázdné“ | SLOŽIT |
6 | Uživatel zadá uživatelské jméno jako „abcd“ a heslo jako „xxxx“ | Chybové hlášení „Neplatná kombinace uživatelského jména a hesla“ by měl být zobrazen | Chybové hlášení „Neplatná kombinace uživatelského jména a hesla“ je zobrazen | SLOŽIT |
5 | Uživatel zadá uživatelské jméno jako „testuser“ a heslo jako „heslo“ a klikne na tlačítko Odeslat | Uživatel by měl vidět „obrazovku Podrobnosti o zaměstnanci“ | Zobrazí se obrazovka s podrobnostmi o zaměstnanci | SLOŽIT |
Zatímco tabulka uvádí některé z testovacích případů, níže je uveden úplný seznam:
- Zkontrolujte jakoukoli výjimku včetně výjimky ukazatele NULL
- Zkontrolujte, zda NULLS nemají povoleno uživatelské jméno a heslo
- Zkontrolujte, zda je uživatelské jméno / heslo ve správném formátu
- Zkontrolujte, zda u uživatelského jména nejsou povolena čísla
- Zkontrolujte, zda v uživatelském jménu nejsou povoleny speciální znaky
- Zkontrolujte, zda je zadána správná kombinace uživatelského jména a hesla, a aplikace vás přenese na další obrazovku, tj. Obrazovku s informacemi o zaměstnancích
- Zkontrolujte, zda je zadané uživatelské jméno správné délky
- Zkontrolujte, zda textové pole uživatelské jméno umožňuje pouze maximální počet znaků určený pro dané pole
- Při zadávání zkontrolujte, zda je pole pro heslo, pokud je uvedeno v požadavcích, viditelné jako *
- Zkontrolujte, zda hesla nerozlišují velká a malá písmena
- Zkontrolujte, zda se v uživatelském jménu nerozlišují velká a malá písmena
- Zkontrolujte, zda si přihlašovací stránka nepamatuje uživatelské jméno nebo heslo, a to ani po ukončení
- Zkontrolujte, zda tlačítko Odeslat a Zrušit funguje podle požadavku
- Pokud používáte aplikaci poprvé, zkontrolujte, zda má uživatelské jméno oprávnění vstoupit do aplikace
- Odstraňte kombinaci uživatelského jména a hesla z databáze a zkontrolujte, zda se tato kombinace nemůže znovu přihlásit
- Ve všech výše uvedených případech zkontrolujte, zda se zobrazují příslušné chybové zprávy o ověření
- Zkontrolujte, zda jsou štítky a tlačítka na správném místě na obrazovce a zda správně zobrazují text
- Zkontrolujte, zda vzhled obrazovky odpovídá požadavkům
- Zkontrolujte, zda jsou zpracovány výjimky
- Zkontrolujte, zda je protokolování prováděno pro požadované akce
Po absolvování testovacích případů si možná uvědomíte, že se většinou zabýváte testováním polí, tlačítek, funkčnosti a ověřování konkrétní obrazovky. To je přesné, protože Unit Testing se velmi ostře zabývá testováním každého malého fragmentu kódu a komponenty. Pro všechny obrazovky by měl být proveden stejný typ testování.
Vezměte prosím na vědomí, že výše uvedené jsou pouze příklady a testovací případy jsou připravovány na základě konkrétního a podrobného dokumentu návrhu.
Přečtěte si také=> Ukázka připravených k použití testovacích případů a testovací scénáře pro testování webových aplikací.
# 2) TESTOVÁNÍ INTEGRACE
Při testování integrace jsou jednotlivé moduly integrovány a společně testovány na správnost.
nejlepší software pro ovladače pro Windows 10
Nechte každou ze tří obrazovek ve výše uvedeném příkladu vyvinout tři různí členové týmu. Nyní, když dokončili testování jednotky, je čas dát dohromady celý kód a zkontrolovat, zda fungují dobře. Provádí se testování integrace, aby se zajistilo, že data nebo řízení jsou správně přeneseny z jedné obrazovky na druhou.
Zde je několik ukázkových testovacích případů integrace pro příklad aplikace zaměstnanců:
- Zkontrolujte, zda jsou přihlášený uživatel a relace stejné na všech ostatních nových integrovaných obrazovkách
- Zkontrolujte, zda ostatní moduly nevyžadují aktualizaci / mazání / vkládání záznamů do databáze
- Nechte existovat pole statusu zaměstnance, které říká „Nový“ při přidání, „Aktualizováno“ při úpravě a „Smazáno“ při smazání. Ačkoli dvě nebo tři obrazovky mohou používat stejné stavové pole, je důležité zajistit, aby pole nebylo nesprávně aktualizováno.
- Zkontrolujte, zda záhlaví, zápatí, velikost obrazovky a vzhled po integraci splňují požadavky
- Zkontrolujte, zda se po kliknutí na tlačítka Odeslat ovládací prvek přenese na další obrazovku
- Zkontrolujte, že po kliknutí na tlačítko Storno je provedená akce zrušena
Obecné testovací případy integrace pro aplikaci J2EE mohou být navíc:
- Zkontrolujte tok dat, ať už Object, XML nebo Session od začátku do konce. Zkontrolujte správnost.
- Zkontrolujte, zda je relace správně řízena každým z modulů
- Pokud se jedná o externí aplikace (webové služby), zkontrolujte, zda je vaše aplikace schopna volat a načítat data zpět z aplikace
# 3) TESTOVÁNÍ SYSTÉMU
Při testování systému je celá aplikace testována na funkčnost a úplnost s ohledem na požadavky. Pravděpodobně by bylo snazší se zeptat, kdy se provádí testování jednotky každé komponenty a komponenty kódu se také kombinují a testují společně během testování integrace, co by se mohlo lišit v testování systému? Není nepřesné tvrdit, že myšlenkou v Testování systému je rozbít aplikaci :)
Scénář č. 1: Vyvinete novou aplikaci pro zaměstnance s rámcem;například, Vzpěry. Na různých serverech ve vaší organizaci běží také několik dalších aplikací. Všichni však volají stejnou existující webovou službu, aby načetli adresu a telefonní číslo pro konkrétní osobu.
Během testování integrace byste otestovali, zda je vaše aplikace schopna zavolat webové službě a zda jste schopni získat odpověď. Ale co když nastane problém v samotné webové službě? Nebo webová služba nereaguje na některé vzácné vstupy? Webová služba v našem případě může mít pouze počet zaměstnanců maximálně 6 znaků. Nebo webová služba při návratu vyvolá výjimky pro určité formáty adresy. Toto je externí, ale také součást testování systému.
Scénář č. 2 : Vaše žádost o zaměstnání je kompletní. Přidáte zaměstnance a vygeneruje číslo zaměstnance # 1001. Můžete upravit, odstranit, aktualizovat, přidat, upravit, odstranit, přidat, přidat, přidat, upravit, odstranit a nakonec přidat další. Co když je nové číslo zaměstnance opět číslo 1001?
Scénář č. 3 : Předpokládejme, že aplikaci používají dva uživatelé současně. Oba začnou pracovat na stejném zaměstnanci, jeden odstraní. Co když je druhý uživatel schopen pokračovat v úpravách stejných zaměstnanců, jak jsou uloženy v relaci?
Níže uvádíme některé důležité aspekty testování systému:
- Zajistěte správný tok dat a kontroly end-to-end
- Zajistěte zabezpečení údajů o transakci
- Zajistěte, aby aplikace dodržovala všechny obchodní funkce
- Zkontrolujte, zda aplikace funguje dobře jako konečný produkt - zkontrolujte nefunkční odkazy, správu relací, soubory cookie, protokolování, zpracování chyb, zpracování výjimek, ověření a tok transakcí.
# 4) ZKOUŠENÍ VÝKONU
Tento typ testování se provádí, když by existoval velký počet uživatelů používajících aplikaci nebo velké množství dat v databázi nebo obojí. Níže uvádíme některé z případů:
- Pokud se přihlásí více uživatelů najednou, zkontrolujte, zda aplikace neuvidí / nepadnou
- Pokud je v databázi k dispozici velké množství dat - zkontrolujte, zda mřížky obrazovky vyhledávání netrvá příliš dlouho na provedení dotazů před vypršením časového limitu relace
- V prostředí s více vlákny zkontrolujte, zda je aplikace schopna dobře zpracovat všechna vlákna
- V aplikacích, kde se vytváří velký počet objektů, zkontrolujte, zda je přidělena dostatečná paměť, je zpracováno uvolňování paměti a zda neexistují žádné výjimky z paměti
Závěr
V tomto článku jsme se zabývali přehledem aplikace J2EE. Na příkladu jsme také viděli, jak ručně provést testování jednotky, integrace, funkce a systému pro každou z komponent aplikace.
V další článek , uvidíme, jak může být testování automatizace výhodné pro velké aplikace J2EE.
O autorovi: Toto je hostující článek Padmavaty S. S celkovými 7 a více lety zkušeností s testováním softwaru má rozsáhlé zkušenosti s testováním rámce Java, J2EE, MVC a Struts.
Dejte nám vědět, pokud pracujete na testování JAVA aplikací. Sdílejte své zkušenosti a dotazy v komentářích níže.
Výukový program PREV | DALŠÍ výuka
Doporučené čtení
- ISTQB Testování Certifikace Ukázkové dotazníky s odpověďmi
- Jak provádět automatizované testování aplikací JAVA / J2EE (část 2)
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- Top 20 praktických tipů pro testování softwaru, které byste si měli přečíst před testováním jakékoli aplikace
- Testování aplikací ve zdravotnictví - tipy a důležité testovací scénáře (část 2)
- Jak najít chybu v aplikaci? Tipy a triky
- Testování databáze pomocí JMeter
- Virtuální stroj Java: Jak JVM pomáhá při spouštění aplikace Java