junit tutorial beginners what is junit testing
Ten samouczek JUnit dla początkujących wyjaśnia, czym są testy jednostkowe, pokrycie testów i czym jest struktura testowa JUnit, a także przykłady przypadków testowych JUnit:
Ta seria JUnit została przygotowana z myślą o naszych odbiorcach, którzy są absolutnie początkujący, a także tych, którzy dobrze znają Javę lub JUnit i są żywo zainteresowani nauką JUnit.
Całość całej serii została opracowana w taki sposób, aby można było zinterpretować różnicę między JUnit 4 a Junit 5.
Zacznijmy teraz odkrywać JUnit !!
Czego się nauczysz:
otwórz tablicę skrótów adresowania c ++
Lista samouczków z tej serii JUnit
Samouczek nr 1: Samouczek JUnit dla początkujących - Co to jest testowanie JUnit? (Ten samouczek)
Samouczek nr 2: Pobierz, zainstaluj i skonfiguruj JUnit w Eclipse
Samouczek nr 3: Testy JUnit: Jak pisać przypadki testowe JUnit z przykładami
Samouczek nr 4: Co to jest urządzenie testowe JUnit: samouczek z przykładami JUnit 4
Samouczek nr 5: Wiele sposobów wykonywania testów JUnit
Samouczek nr 6: Lista adnotacji JUnit: JUnit 4 Vs JUnit 5
Samouczek nr 7: JUnit Ignore Test Case: JUnit 4 @Ignore Vs JUnit 5 @Disabled
Samouczek nr 8: JUnit Test Suite i filtrowanie przypadków testowych: JUnit 4 Vs JUnit 5
Samouczek nr 9: Kolejność wykonania testów JUnit: kolejność testów JUnit 4 Vs JUnit 5
Samouczek nr 10: Jak korzystać z adnotacji JUnit 5 @RepeatedTest z przykładami
Samouczek nr 11: JUnit 5 Zagnieżdżona klasa: @ Zagnieżdżony samouczek z przykładami
Samouczek nr 12: JUnit 5 Niestandardowa nazwa wyświetlana i wykonanie testu warunkowego
Samouczek nr 13: JUnit Vs TestNG - jakie są różnice
JUnit Tutorial
W typowym podejściu do programowania opartego na testach (TDD) programiści koncentrują się na testowaniu jednostkowym każdego fragmentu tworzonego kodu. Im lepsze testowanie produktu, tym lepsza jest jego jakość. Wszyscy wiemy, że testowanie powinno przebiegać równolegle z każdą przechodzącą fazą cyklu życia oprogramowania.
Począwszy od wymagań i analizy, poprzez projektowanie i rozwój, aż po konserwację, każda faza powinna mieć odpowiednią fazę testowania. Testowanie jednostkowe po opracowaniu jest zalecane, aby zbudować solidną aplikację i mieć zoptymalizowany kod.
Co to jest testowanie jednostkowe?
Testowanie jednostkowe to testowanie małej logiki lub kodu w celu sprawdzenia, czy kod wyjściowy jest zgodny z oczekiwaniami na wejściu określonych danych i / lub przy spełnieniu określonych warunków. Zwykle testy jednostkowe mają być niezależne od innych testów.
Testy jednostkowe nie są wykonalne do testowania złożonych interfejsów z inną aplikacją lub usługami zewnętrznymi / zewnętrznymi. Test jednostkowy dotyczy tylko małej jednostki kodu, która może być po prostu metodą lub klasą.
Pomaga deweloperowi wykryć problemy w bieżącej logice i wszelkie niepowodzenia regresji wynikające z bieżącej zmiany. Poza tym zapewnia również wgląd w to, jak obecny kod może wpłynąć na przyszłą implementację.
Pokrycie testowe
Wywoływany jest procent kodu, który jest testowany przez testy jednostkowe pokrycie testu .
Celem jest lepsze i szersze pokrycie testami kodu, który w przyszłości będzie nadal składał się na zestaw testów regresyjnych i pomoże zwiększyć zautomatyzowane wykonywanie i weryfikację testów, zmniejszając w ten sposób wysiłek ręczny związany z testami regresyjnymi.
Uruchamianie testów automatycznie pomaga zidentyfikować problemy z regresją oprogramowania wprowadzone przez zmiany w bieżącym kodzie. Posiadanie wysokiego pokrycia testowego kodu umożliwia dalsze rozwijanie funkcji bez konieczności wykonywania wielu testów ręcznych.
Wielu przychodzi z pytaniem ile pokrycia testami jest niezbędne . Odpowiedź na to pytanie jest taka, że nie ma sztywnej i szybkiej reguły określającej, jak bardzo zakres testów jest niezbędny; to wszystko jest osądzające. Ocena staje się lepsza wraz z doświadczeniem w zakresie przepływu pracy aplikacji i historyczną znajomością dotychczas wykrytych defektów.
Wydajne testy nie muszą koniecznie oznaczać 100% pokrycia testów lub włączenia testów automatyzacji i / lub testów jednostkowych dla każdej gałęzi lub pokrycia ścieżki.
Niektóre trywialne weryfikacje, takie jak komunikat o błędzie walidacji dla obowiązkowego pola pozostawionego pustego, które nie zawiera błędów od lat, nie muszą być uwzględniane w zestawie regresji.
Testowanie ręczne a testowanie automatyczne
Testowanie jednostkowe można przeprowadzić na dwa sposoby:
- Testowanie ręczne
- Testowanie automatyczne
W obu podejściach przepływ pracy pozostaje wspólny:
- Tworzenie przypadku testowego
- Przeglądanie tego
- Przerób, jeśli potrzebne są poprawki
- Wykonaj przypadek testowy
- Przeanalizuj wyniki testu
Testowanie automatyczne jest preferowane w stosunku do testowania ręcznego z następujących powodów:
jak utworzyć fałszywe konto e-mail
Testowanie ręczne | Testowanie automatyczne |
---|---|
Gdy przypadek testowy jest wykonywany ręcznie bez interwencji narzędzia, nazywa się testowaniem ręcznym. | Wykonywanie przypadku testowego za pomocą narzędzia bez dużej ręcznej interwencji nazywa się testowaniem automatycznym. |
Uwzględniono powtarzalne wysiłki ręczne. | Można uniknąć powtarzających się ręcznych wysiłków. |
Ludzkie wysiłki związane z testowaniem ręcznym mogą być błędne i czasochłonne. | Testy automatyczne są szybsze i bezbłędne w porównaniu z wysiłkami ręcznymi. |
Wymagane zasoby testowe są bardziej potrzebne do ręcznego uruchamiania każdego przypadku testowego, co zwiększa inwestycję w zasoby. | Do wykonania testów automatycznych przy użyciu wyznaczonych narzędzi automatycznych potrzeba mniej testerów, stąd mniej inwestycji w zasoby testowe, co zwiększa rentowność. |
Testowanie ręczne musi być ograniczone do małego pokrycia testami, biorąc pod uwagę ograniczenia osi czasu. W związku z tym istnieje ryzyko pominięcia wielu scenariuszy testowych, co prowadzi również do ryzyka wycieku defektu. | Wiele różnych scenariuszy testowych można zautomatyzować i wykonywać wielokrotnie, nawet w przypadku kryzysu czasowego i zasobów, co prowadzi do lepszego pokrycia testów i lepszej jakości dostarczanego materiału. |
Struktura testów jednostkowych
Możemy mieć następne pytanie, jak wygląda typowy przypadek testowy jednostki automatyzacji i ramy, po których następuje. Deweloperzy używają Struktura testów jednostkowych do tworzenia zautomatyzowanych przypadków testów jednostkowych.
- W celu sprawdzenia, czy kod działa logicznie zgodnie z oczekiwaniami, tworzony jest przypadek testowy z określonym punktem kontrolnym lub kryterium weryfikacji.
- Po wykonaniu przypadku testowego kryterium / warunek przechodzi lub kończy się niepowodzeniem.
- Dziennik jest generowany zgodnie z przepływem pracy testu.
- Framework będzie raportował podsumowanie wyników dla przypadków testowych zdanych i nieudanych.
- W zależności od wagi błędu, przypadek testowy może nie być kontynuowany i może zatrzymać kolejne wykonywanie.
- W dzienniku mogą pojawić się pewne poważne awarie o niskim stopniu trudności, jednak nie pokazują one twardego zatrzymania, ale są kontynuowane bez blokowania dalszych kroków testowych.
Co to jest JUnit?
JUnit to platforma typu open source, która służy do pisania i wykonywania testów jednostkowych w języku programowania Java. Jest to jeden z najbardziej znanych frameworków do testów jednostkowych.
Poniższy obraz przedstawia różne dobrze znane narzędzia do testowania jednostek automatyki.
Poniżej wymienione są atrybuty, z którymi jest spakowany JUnit:
- Istnieje ogromna lista adnotacji do identyfikowania, wykonywania i obsługi wielu funkcji metod testowych.
- Istnieją asercje do weryfikacji oczekiwanych wyników.
- Zapewnia Runner testów do wykonywania testów.
- JUnit zapewnia podstawowy wbudowany szablon, dzięki czemu możesz szybko pisać małe, proste przypadki testowe.
- Testy JUnit pomagają w pisaniu niezależnych modułów, poprawiając tym samym zakres testu i jakość aplikacji.
- Pozwala nie tylko na łatwe tworzenie i wykonywanie testów, ale także przedstawia programiście przejrzysty i przejrzysty raport, który eliminuje potrzebę przeszukiwania ścieżki raportów i wyników testów.
- Dopóki wykonanie testu nie przebiegnie bezproblemowo, możesz odpocząć, obserwując zielony pasek postępu testu, który wyświetla się podczas wykonywania testu, podczas gdy wyświetla ostrzeżenie na czerwono, gdy tylko test zakończy się niepowodzeniem w punkcie kontrolnym weryfikacji.
- Zestawy testów można tworzyć w celu złożenia razem sekwencji lub powiązanego zestawu przypadków testowych.
Przykłady JUnit Testcase
Poniżej podano dwa przykłady bardzo podstawowego programu Hello World, które pozwalają zrozumieć, jak wygląda klasa testowa JUnit lub jak różni się od zwykłego pliku klasy Java.
Przykład 1:
Oto przypadek testowy JUnit HelloWorldJUnit.java, który sprawdza, czy ciąg „Hello world” pasuje do ciągu „hello world”, który kończy się niepowodzeniem podczas wykonywania, ponieważ dopasowanie uwzględnia wielkość liter. Dlatego te dwa ciągi nie pasują do siebie i test zawodzi .
Kod dla HelloWorldJUnit.java
package demo.tests; import static org.junit.Assert.*; import org.junit.Test; public class HelloWorldJUnit { @Test public void test() { assertEquals('Hello world','hello world'); } }
Przykład 2:
Tutaj zobaczymy jak zwykle Jawa plik klasy oddziałuje z JUnit testcase. Tworzymy Jawa plik klasy HelloWorld_Java.java z konstruktorem, który pozwala nam przekazać wartość String i metodę getText () do pobrania wartości ciągu.
JUnit Klasa testowa HelloWorldJUnit.java jest tworzony w taki sposób, że tworzony jest obiekt klasy HelloWorld_Java i rzeczywista wartość ciągu jest przekazywana do obiektu. Funkcja assertEquals () z JUnit sprawdza, czy oczekiwane i rzeczywiste wartości ciągu są zgodne.
Kod dla HelloWorld_Java.java
package demo.tests; import static org.junit.Assert.*; import org.junit.Test; public class HelloWorldJUnit { @Test public void test() { assertEquals('Hello world','hello world'); } }
Kod dla HelloWorldJUnit.java
package demo.tests; public class HelloWorldJUnit{ private String s; public HelloWorld_Java(String s) { @Test public void test() { HelloWorld_Java hw=new HelloWorld_Java('Hello World'); assertEquals(hw.getText(),'Hello World'); } }
Wynik wygląda jak poniżej, gdzie widzimy dopasowanie dwóch ciągów. Stąd test JUnit jest przeszedł.
Wniosek
Jeśli chodzi o zapewnienie szybkiego przeglądu tego, czym jest JUnit i czym się zajmuje, JUnit to pięknie wykonana struktura, która umożliwia tworzenie i wykonywanie testów jednostkowych w sposób zautomatyzowany.
Jest to narzędzie typu open source, ale tak bezproblemowe. Niezależnie od tego, czy chodzi o tworzenie przypadków testowych, wykonywanie przypadków testowych, czy raportowanie po wykonaniu lub utrzymywanie testów, JUnit jest elegancki pod każdym względem. Tak, może też zawieść elegancko; a jak to się dzieje, zobaczymy w nadchodzącym samouczku.
.net Framework pytania i odpowiedzi do wywiadów
O autorze: Ten samouczek został napisany przezShobhaD. Pracuje jako kierownik projektu i ma ponad 9-letnie doświadczenie w testowaniu manualnym, automatyzacji i testowaniu API.
Kontynuujmy dalsze wyjaśnianie każdego aspektu JUNIT tutaj.
rekomendowane lektury
- Samouczek dotyczący refleksji w języku Java z przykładami
- Java String zawiera () Samouczek dotyczący metody z przykładami
- Postrzępiona tablica w Javie - samouczek z przykładami
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Samouczek Java SWING: kontener, komponenty i obsługa zdarzeń
- Operator potrójny w Javie - samouczek z przykładami
- Ponad 20 samouczków MongoDB dla początkujących: bezpłatny kurs MongoDB
- Samouczek Spocka: Testowanie ze Spockiem i Groovym