how test java applications tips with sample test cases
W tym samouczku nauczymy się składników aplikacji Java i różnych typów testów, które należy przeprowadzić, aby zapewnić wysoką jakość aplikacji wolnej od błędów.
To jest trzyczęściowa seria poświęcona testowaniu aplikacji JAVA.
jaką stronę internetową mogę oglądać anime
- W tym artykule poznamy komponenty J2EE i podejście do testowania ręcznego aplikacji J2EE.
- W drugim przejrzymy plik Testowanie automatyczne podejście do testowania aplikacji J2EE oraz
- W trzecim przejrzymy obszerną listę narzędzi dostępnych do testowania aplikacji J2EE.
Czego się nauczysz:
- Zacznijmy od przeglądu aplikacji J2EE
- Testowanie aplikacji JAVA / J2EE
- Ręczne testowanie aplikacji Java:
- Wniosek
- rekomendowane lektury
Zacznijmy od przeglądu aplikacji J2EE
DO Jawa aplikacja internetowa składa się z kilku komponentów, z których każdy służy ważnemu celowi. MVC , co oznacza Model View Controller, jest najpopularniejszym i najczęściej używanym wzorcem projektowania architektonicznego.
Zanim nauczysz się testować, przejrzyjmy pokrótce różne komponenty aplikacji J2EE.
- Klient / przeglądarka prosi o adres internetowy z adresem URL.
- JSP (Java Server Pages) - JSP to technologia po stronie serwera przeznaczona do prezentowania danych użytkownikowi. Obsługuje wyświetlanie dynamicznej zawartości za pomocą specjalnych znaczników zwanych znacznikami JSP, które pomagają wstawiać kod Java na stronach HTML. [Statyczny kod HTML zawsze wyświetla tę samą treść]. W czasie wykonywania strona JSP jest konwertowana na serwlet. Logika biznesowa nie jest tu zwykle opisywana.
- JSF (Java Server Faces) - JSF to struktura komponentu widoku do efektywnego projektowania interfejsu użytkownika.
- Javascript / Jquery - są językami skryptowymi używanymi do walidacji widoku / ekranu po stronie klienta.
- Servlet - Serwlet sprawdza poprawność danych otrzymanych z wejścia, wybiera odpowiedni kod logiki biznesowej i przekazuje wartości do kodu Bean.
- Enterprise Java Bean (EJB) - W tym miejscu zazwyczaj zapisuje się i obsługuje całą logikę biznesową. Następnie fasola wywołuje kod w celu odczytu, zapisu lub aktualizacji bazy danych. Po zakończeniu operacji na bazie danych odpowiedź jest następnie przesyłana z powrotem do serwletu, który z kolei wybiera odpowiednią stronę JSP do wyświetlenia wyników.
- Usługi internetowe - Usługi sieciowe to składniki aplikacji, które działają na oddzielnym serwerze i komunikują się za pośrednictwem protokołu HTTP.
- Baza danych - przechowuje wszystkie dane aplikacji.
Należy pamiętać, że nie wszystkie aplikacje internetowe są zgodne z JSP -> Servlet -> EJB -> Model bazy danych . Większość aplikacji J2EE jest obecnie napisanych we frameworku, takim jak Struts, Spring lub Hibernate. Projekt aplikacji różni się dla każdego wymagania w zależności od rozmiaru aplikacji, kosztów, czasu rozwoju, zasobów i wielkości zespołu.
Testowanie aplikacji JAVA / J2EE
Przejdźmy teraz do testowania całej aplikacji J2EE. Odbywa się to w kilku krokach.Na przykład, weź pod uwagę, że mamy trzy ekrany:
- Ekran logowania
- Ekran pracownika, który zawiera listę wszystkich pracowników w organizacji
- Ekran modyfikacji / dodawania / usuwania pracowników.
Interfejs użytkownika (interfejs użytkownika) dla tych trzech ekranów został opracowany przy użyciu JSP / HTML i walidacji przeprowadzanych za pomocą JavaScript. Ponieważ jest to przykładowa aplikacja, logika znajduje się w serwlecie i DAO (obiekt dostępu do danych). DAO to klasa służąca do łączenia się z bazą danych.
Poniżej przykładowe ekrany:
Ręczne testowanie aplikacji Java:
Podczas ręcznego testowania JAVA, tester przygotowuje przypadki testowe na podstawie szczegółowego dokumentu projektowego i stara się uwzględnić każdy możliwy scenariusz i fragment kodu.
1) TESTOWANIE JAVA UNIT
Testowanie jednostkowe to rodzaj testowania gdzie użytkownik musi przetestować najmniejsze fragmenty kodu pod kątem dokładności, poprawności i spełnienia wymagań.
Weźmyprzykład ekranu logowania. Ekran logowania zawiera dwa pola tekstowe: nazwę użytkownika i hasło oraz dwa przyciski: wyślij i anuluj.
Przypadki testowe powinny obejmować wszystkie pętle i instrukcje warunkowe. Przypadki testowe powinny przedstawiać oczekiwane wyniki i dane testowe. Poniżej znajduje się kilka ogólnych przypadków testowych, które użytkownik może wykonać ręcznie na ekranie logowania. Wyniki są następnie zapisywane w dokumencie przypadku testowego.
Poniżej znajduje się przykładowy format przypadku testowego dla ekranu logowania.
S.No. | Przypadek testowy | Spodziewany wynik | Aktualny rezultat | Pass / Fail |
---|---|---|---|---|
jeden | Użytkownik sprawdza wygląd etykiet Nazwa użytkownika, hasło | Etykiety powinny być poprawnie napisane i wyświetlane czcionką normalnego rozmiaru | Nazwa użytkownika i hasło etykiety są wyświetlane poprawnie | PRZECHODZIĆ |
dwa | Użytkownik sprawdza wygląd przycisku Prześlij i anuluj | Przyciski powinny być wyświetlane z poprawną nazwą | Przyciski Wyślij i Anuluj są wyświetlane poprawnie | PRZECHODZIĆ |
3 | Użytkownik sprawdza kolor tła ekranu | Formularz logowania powinien znajdować się w białej tabeli, a ekran powinien mieć szare tło | Wygląd ekranu nie spełnia wymagań. | ZAWIEŚĆ |
4 | Użytkownik pozostawia pole tekstowe nazwy użytkownika jako puste | Powinien zostać wyświetlony komunikat o błędzie „Nazwa użytkownika nie może być pusta” | Wyświetlany jest komunikat o błędzie „Nazwa użytkownika nie może być pusta” | PRZECHODZIĆ |
5 | Użytkownik wprowadza pewną wartość w polu tekstowym nazwy użytkownika i pozostawia pole tekstowe hasła jako puste | Powinien zostać wyświetlony komunikat o błędzie „Hasło nie może być puste” | Wyświetlany jest komunikat o błędzie „Hasło nie może być puste” | PRZECHODZIĆ |
6 | Użytkownik wprowadza nazwę użytkownika jako „abcd” i hasło jako „xxxx” | Komunikat o błędzie 'Niewłaściwa kombinacja hasła i nazwy użytkownika' powinien być wyświetlony | Komunikat o błędzie 'Niewłaściwa kombinacja hasła i nazwy użytkownika' jest wyświetlany | PRZECHODZIĆ |
4 | Użytkownik wprowadza nazwę użytkownika składającą się z więcej niż 10 znaków | Komunikat o błędzie Powinien zostać wyświetlony komunikat „Nazwa użytkownika nie może przekraczać 10 znaków” | Komunikat o błędzie nie jest wyświetlany | ZAWIEŚĆ |
5 | Użytkownik wprowadza nazwę użytkownika jako „użytkownik testowy” i hasło jako „hasło” i klika przycisk Prześlij | Użytkownik powinien widzieć „Ekran szczegółów pracownika” | Zostanie wyświetlony ekran szczegółów pracownika | PRZECHODZIĆ |
Chociaż tabela zawiera listę niektórych przypadków testowych, poniżej znajduje się pełna lista:
- Sprawdź, czy nie ma żadnego wyjątku, w tym wyjątku wskaźnika NULL
- Sprawdź, czy wartości NULLS nie są dozwolone dla nazwy użytkownika i hasła
- Sprawdź, czy nazwa użytkownika / hasło ma prawidłowy format
- Sprawdź, czy numery nie są dozwolone dla nazwy użytkownika
- Sprawdź, czy w nazwie użytkownika nie są dozwolone znaki specjalne
- Sprawdź, czy została wpisana poprawna kombinacja nazwy użytkownika i hasła, a następnie aplikacja przeniesie Cię do kolejnego ekranu, czyli ekranu informacji o pracowniku
- Sprawdź, czy wprowadzona nazwa użytkownika ma prawidłową długość
- Sprawdź, czy pole tekstowe nazwy użytkownika dopuszcza tylko maksymalną liczbę znaków określoną dla tego pola
- Sprawdź, czy pole hasła, jeśli zostało określone w wymaganiach, jest widoczne jako * podczas wchodzenia
- Sprawdź, czy hasła uwzględniają wielkość liter
- Sprawdź, czy w nazwie użytkownika nie jest rozróżniana wielkość liter
- Sprawdź, czy strona logowania nie pamięta nazwy użytkownika lub hasła, nawet po wyjściu
- Sprawdź, czy przyciski Prześlij i Anuluj działają zgodnie z wymaganiami
- Jeśli korzystasz z aplikacji po raz pierwszy, sprawdź, czy nazwa użytkownika ma uprawnienia do wejścia do aplikacji
- Usuń kombinację nazwy użytkownika / hasła z bazy danych i sprawdź, czy połączenie nie może się ponownie zalogować
- We wszystkich powyższych przypadkach sprawdź, czy są wyświetlane odpowiednie komunikaty o błędach weryfikacji
- Sprawdź, czy etykiety i przyciski znajdują się we właściwym miejscu na ekranie i czy poprawnie wyświetlają tekst
- Sprawdź, czy wygląd ekranu jest zgodny z wymaganiami
- Sprawdź, czy wyjątki są obsługiwane
- Sprawdź, czy rejestrowanie jest wykonywane dla wymaganych działań
Po przejrzeniu przypadków testowych możesz zdać sobie sprawę, że głównie masz do czynienia z testowaniem pól, przycisków, funkcjonalności i walidacji określonego ekranu. To prawda, ponieważ testy jednostkowe bardzo intensywnie zajmują się testowaniem każdego małego fragmentu kodu i komponentu. Dla wszystkich ekranów należy przeprowadzić ten sam rodzaj testów.
Należy pamiętać, że powyższe są tylko przykładami, a przypadki testowe są przygotowywane na podstawie specyficznego dla projektu i szczegółowego dokumentu projektowego.
Przeczytaj także=> Przykładowe gotowe do użycia przypadki testowe i scenariusze testowe do testowania aplikacji internetowych.
# 2) TESTOWANIE INTEGRACJI
W przypadku testów integracyjnych poszczególne moduły są integrowane i testowane razem pod kątem poprawności.
Niech każdy z trzech ekranów w powyższym przykładzie jest tworzony przez trzech różnych członków zespołu. Po zakończeniu testów jednostkowych nadszedł czas, aby zebrać cały kod i sprawdzić, czy dobrze ze sobą współpracują. Testy integracyjne są wykonywane w celu zapewnienia prawidłowego przesyłania danych lub sterowania z jednego ekranu na drugi.
Oto kilka przykładowych przypadków testowych integracji dla przykładu aplikacji pracowniczej:
- Sprawdź, czy zalogowany użytkownik i sesja są takie same na wszystkich innych nowych zintegrowanych ekranach
- Sprawdź, czy inne moduły nie aktualizują / usuwają / nie wstawiają niepotrzebnych rekordów do bazy danych
- Niech będzie pole statusu pracownika, które mówi „Nowy” przy dodawaniu, „Zaktualizowano” przy modyfikacji i „Usunięto” przy usuwaniu. Chociaż dwa lub trzy ekrany mogą używać tego samego pola stanu, ważne jest, aby upewnić się, że pole nie jest nieprawidłowo aktualizowane.
- Sprawdź, czy nagłówek, stopka, rozmiar ekranu i wygląd spełniają wymagania po integracji
- Sprawdź, czy po kliknięciu przycisku Prześlij formant zostanie przeniesiony na następny ekran
- Sprawdź, czy po kliknięciu przycisku Anuluj wykonywana akcja jest anulowana
Ponadto ogólne przypadki testowe integracji dla aplikacji J2EE mogą obejmować:
- Sprawdź przepływ danych, obiekt, XML lub sesję od końca do końca. Sprawdź poprawność.
- Sprawdź, czy sesja jest poprawnie zarządzana przez każdy z modułów
- Jeśli w grę wchodzą aplikacje zewnętrzne (usługi internetowe), sprawdź, czy Twoja aplikacja może nawiązywać połączenia i pobierać dane z powrotem z aplikacji
# 3) TESTOWANIE SYSTEMU
W przypadku testów systemowych cała aplikacja jest testowana pod kątem funkcjonalności i kompletności w odniesieniu do wymagań. Prawdopodobnie łatwiej byłoby zapytać, kiedy przeprowadza się testy jednostkowe każdego komponentu, a komponenty kodu są również łączone i testowane razem podczas testów integracyjnych, co może się różnić w testowaniu systemu? Nie jest niedokładne stwierdzenie, że w testach systemowych chodzi o to, aby zepsuć aplikację :)
Scenariusz 1: Tworzysz nową aplikację pracowniczą z frameworkiem;na przykład, Struts. Istnieje również kilka innych aplikacji działających na różnych serwerach w Twojej organizacji. Jednak wszyscy dzwonią do tej samej istniejącej usługi internetowej, aby pobrać adres i numer telefonu określonej osoby.
Podczas testowania integracji sprawdziłeś, czy Twoja aplikacja jest w stanie nawiązać połączenie z usługą internetową i czy możesz uzyskać odpowiedź. Ale co, jeśli wystąpi problem z samą usługą sieciową? Lub usługa internetowa nie reaguje na niektóre rzadkie dane wejściowe? Usługa internetowa w naszym przypadku może przyjąć maksymalnie 6 znaków pracownika. Lub usługa internetowa zgłasza wyjątki dla niektórych formatów adresu podczas zwracania. Jest to zewnętrzne, ale jest to również część testów systemu.
Scenariusz 2 : Twoje podanie pracownika jest kompletne. Dodajesz pracownika i generuje numer pracownika # 1001. Modyfikujesz, usuwasz, aktualizujesz, dodajesz, modyfikujesz, usuwasz, dodajesz, dodajesz, dodajesz, modyfikujesz, usuwasz, a na końcu dodajesz kolejny. A co, jeśli nowy numer pracownika to znowu # 1001?
Scenariusz nr 3 : Załóżmy, że dwóch użytkowników korzysta z aplikacji w tym samym czasie. Obaj rozpoczynają pracę nad tym samym pracownikiem, jeden usuwa. Co się stanie, jeśli inny użytkownik będzie mógł kontynuować modyfikację tych samych pracowników, którzy są zapisani w sesji?
Poniżej znajduje się kilka ważnych aspektów testowania systemu:
- Upewnij się, że przepływ danych i kontrola są prawidłowe z koniec końców
- Zapewnij bezpieczeństwo danych transakcji
- Upewnij się, że aplikacja spełnia wszystkie funkcje biznesowe
- Sprawdź, czy aplikacja działa dobrze jako produkt końcowy - sprawdź uszkodzone linki, zarządzanie sesjami, pliki cookie, logowanie, obsługę błędów, obsługę wyjątków, walidację i przepływ transakcji.
# 4) TESTOWANIE WYDAJNOŚCI
Ten typ testowania jest wykonywany, gdy z aplikacji korzystałoby duża liczba użytkowników lub duża ilość danych w bazie danych, lub obie te rzeczy. Poniżej znajduje się kilka przypadków:
- Jeśli jednocześnie loguje się wielu użytkowników, sprawdź, czy aplikacje się nie zawieszają / nie zawieszają
- Jeśli w bazie danych jest duża ilość danych - sprawdź, czy siatki ekranu wyszukiwania nie zajmują dużo czasu na wykonanie zapytań przed upływem limitu czasu sesji
- W środowisku wielowątkowym sprawdź, czy aplikacja jest w stanie dobrze obsłużyć wszystkie wątki
- W aplikacjach, w których tworzona jest duża liczba obiektów, sprawdź, czy przydzielono wystarczającą ilość pamięci, czy jest obsługiwane czyszczenie pamięci i czy nie ma wyjątków braku pamięci
Wniosek
W tym artykule omówiliśmy przegląd aplikacji J2EE. Widzieliśmy również, jak ręcznie wykonywać testy jednostkowe, integracyjne, funkcjonalne i systemowe dla każdego z komponentów aplikacji na przykładzie.
w następny artykuł , zobaczymy, jak testowanie automatyzacji może być korzystne dla dużych aplikacji J2EE.
O autorze: To jest gościnny artykuł autorstwa Padmavaty S. Mając ponad 7-letnie doświadczenie w testowaniu oprogramowania, ma duże doświadczenie w testowaniu frameworka Java, J2EE, MVC i Struts.
Daj nam znać, jeśli pracujesz nad testowaniem aplikacji JAVA. Podziel się swoimi doświadczeniami i zapytaniami w komentarzach poniżej.
POPRZEDNIA samouczek | NEXT Tutorial
rekomendowane lektury
- ISTQB Testing Certification Przykładowe pytania z odpowiedziami
- Jak przeprowadzić automatyczne testowanie aplikacji JAVA / J2EE (część 2)
- Najlepsze narzędzia do testowania oprogramowania 2021 [Narzędzia do automatyzacji testów QA]
- 20 praktycznych wskazówek dotyczących testowania oprogramowania, które należy przeczytać przed przetestowaniem dowolnej aplikacji
- Testowanie aplikacji opieki zdrowotnej - wskazówki i ważne scenariusze testowania (część 2)
- Jak znaleźć błąd w aplikacji? Porady i wskazówki
- Testowanie bazy danych za pomocą narzędzia JMeter
- Wirtualna maszyna Java: jak JVM pomaga w uruchamianiu aplikacji Java