19 najpopularniejszych pytań i odpowiedzi do rozmów kwalifikacyjnych TestNG (2025)
Oto pytania i odpowiedzi do rozmów kwalifikacyjnych TestNG zarówno dla nowicjuszy, jak i doświadczonych kandydatów, którzy chcą zdobyć wymarzoną pracę.
1) Co to jest TestNG?
TestNG to zautomatyzowane środowisko testowe o otwartym kodzie źródłowym. Jest oparte na frameworku JUnit, ale nie jest rozszerzeniem JUnit.
Bezpłatne pobieranie w formacie PDF: Pytania do wywiadu TestNG
2) Jakie są funkcje TestNG?
Funkcje TestNG obejmują
- TestNG wykorzystuje więcej funkcji OO (obiektowych) i Java
- Obsługuje testowanie klas zintegrowanych
- Obsługiwane są różne adnotacje
- Oddziel kod testowy czasu kompilacji od informacji o danych/konfiguracji czasu wykonywania
- Konfiguracja w czasie wykonywania jest elastyczna
- Elastyczna wtyczka API
- Dla większej elastyczności osadza BeanShell
- Obsługa wielowątkowego testowania selenu
- Obsługuje testy równoległe, testy obciążenia, częściowe awarie, zależne metody testowania
- Po skompilowaniu testu można zwrócić się do TestNG o wykonanie wszystkich testów „frontendowych” lub „wolnych”, „szybkich”, „baz danych”,
- Dla tej samej klasy testowej obsługa TestNG dla wielu instancji
- Do rejestrowania brak zależności, domyślne funkcje JDK do rejestrowania i środowiska wykonawczego
3) Wymień zalety TestNG w porównaniu z Junitem?
Zalety TestNG w porównaniu z JUnit obejmują
- W porównaniu z adnotacjami JUnit, TestNG są łatwe do zrozumienia
- W przeciwieństwie do JUnit, TestNG nie wymaga deklarowania klas @Before i @After Class
- W TestNG nie ma ograniczenia nazwy metody
- TestNG umożliwia łatwe grupowanie przypadków testowych, co nie jest możliwe w JUnit
- TestNG obsługuje trzy dodatkowe konfiguracje: @Before/After Suite, @Before/After Test i @Before/After Group
- TestNG nie musi rozszerzać żadnej klasy
- W TestNG możliwe jest równoległe uruchamianie testów sterowników sieciowych Selenium
- Bazując na grupie TestNG pozwala na wykonanie przypadków testowych
- TestNG umożliwia określenie zależnych przypadków testowych; każdy przypadek testowy jest niezależny od innego przypadku testowego
4) Jakie są podstawowe kroki wymagane przy pisaniu testów TestNG?
Podstawowe kroki wymagane przy pisaniu TestNG obejmują
- Zapisz logikę biznesową testu i wstaw adnotacje TestNG do swojego kodu
- W kompilacji.xml lub testowanie.xml, dodaj informacje o teście
- Uruchom TestNG
5) Wymień różne sposoby wywołania TestNG.
TestNG można wywołać na różne sposoby, np
- Korzystanie z Zaćmienie
- Z mrówką
- Z wiersza poleceń
- Korzystanie z IDEA IntelliJ
6) Wyjaśnij zastosowanie pliku testng.xml
Plik testowanie.xml rejestruje całe badanie w formacie XML. Plik ten ułatwia zdefiniowanie całego zestawu testów i ich parametrów w jednym pliku, który możesz zweryfikować w swoim repozytorium kodu lub wysłać e-mailem do współpracowników. Ułatwia także wyciąganie podzbiorów testów lub dzielenie kilku konfiguracji środowiska wykonawczego.
7) Jak w TestNG można wyłączyć test?
Aby wyłączyć przypadek testowy, którego nie chcesz, możesz użyć adnotacji @Test(enabled = false).
8) Co to jest test limitu czasu w TestNG?
Test Time-Out w TestNG to nic innego jak czas przeznaczony na wykonanie testów jednostkowych. Jeżeli test jednostkowy nie zakończy się w określonym terminie, TestNG porzuci dalsze testowanie oprogramowania i oznaczy je jako niepowodzenie.
9) Wyjaśnij test wyjątku
TestNG oferuje możliwość śledzenia obsługi wyjątków w kodzie. Można sprawdzić, czy kod generuje oczekiwane rezultaty. Parametr „oczekiwane wyjątki” jest dostępny wraz z adnotacją @Test.
10) Co robi „test zestawu” w TestNG?
„Test pakietu” wykonuje się, gdy trzeba uruchomić kilka testów jednostkowych jednocześnie. „Test pakietu” łączy te testy jednostkowe w całość. Do uruchomienia testu pakietu używany jest plik XML.
11) Co to jest testowanie parametryczne?
Testowanie parametryczne pozwala programistom na wielokrotne wykonywanie tego samego testu z użyciem różnych wartości. TestNG umożliwia przekazywanie parametrów bezpośrednio do metod testowych na dwa różne sposoby.
- Z testowaniem.xml
- Z dostawcami danych
12) Jak uruchomić testy JUnit za pomocą TestNG?
Możesz uruchomić testy JUnit za pomocą TestNG by
- Umieszczenie biblioteki JUnit w ścieżce klas TestNG, aby mogła lokalizować i używać klas JUnit
- Zmień program uruchamiający test z JUnit na TestNG w Ant, a następnie uruchom TestNG w „trybie mieszanym”. Spowoduje to, że cały test będzie taki sam
Takie podejście umożliwia również konwersję istniejącego testu JUnit na TestNG.
13) Co wskazuje @Test(invocationCount=?) i (threadPoolSize=?)?
- @Test (threadPoolSize=?): Atrybuty threadPoolSize informują TestNG o utworzeniu puli wątków w celu uruchomienia metody testowej przez wiele wątków. Dzięki puli wątków czas działania metody testowej znacznie się skraca.
- @Test(inwokacjaCount=?): Liczba wywołań informuje, ile razy TestNG powinien uruchamiać tę metodę testową
14) Jakie są różne sposoby tworzenia raportów z wynikami TestNG?
Istnieją dwa sposoby tworzenia raportów za pomocą Test NG
- Słuchacze: Aby klasa słuchacza mogła zostać zaimplementowana, klasa musi implementować interfejs org.testng./TestListener. Klasy te są informowane w czasie wykonywania przez TestNG o rozpoczęciu, zakończeniu testu, pominięciu, zaliczeniu lub niepowodzeniu.
- Reporterzy: Aby klasa raportująca mogła zostać zaimplementowana, klasa musi implementować interfejs org.testng/Reporter. Kiedy kończy się cały zestaw, klasy te są wywoływane. Po wywołaniu do tej klasy dostarczany jest obiekt składający się z informacji o całym przebiegu testu.
15) Czym jest test grupowy w TestNG?
To nowa funkcja w TestNG; umożliwia ona rozsyłanie metod do odpowiednich porcji i grupowanie metod testowych. Dzięki testowi grupowemu można nie tylko deklarować metody należące do grup, ale także określać grupy testowe zawierające inne grupy. Grupy są określane w pliku testing.xml za pomocą testu grupowego.
16) Jakie są sposoby, aby TestNG umożliwiał określenie zależności?
TestNG pozwala określić zależności na dwa sposoby
- Używanie atrybutów zależnośćOnMethods w adnotacjach @Test
- Używanie atrybutów zależnośćOnGroups w adnotacjach @Test
17) Co to znaczy, że w TestNG musisz przekazać parametry za pomocą dostawców danych?
Gdy konieczne jest przekazanie złożonych parametrów lub parametrów, które mają zostać utworzone z poziomu Javy, w takim przypadku parametry można przekazać za pomocą dostawców danych. Adnotacja dla dostawcy danych to @DataProvider. Ta adnotacja ma tylko jeden atrybut ciągu, jeśli nazwa nie jest zadeklarowana; nazwa dostawcy danych automatycznie przyjmuje wartość domyślną nazwy metody. Dostawca danych zwraca szyk obiektów.
18) Wymień różne metody wykonywania testów w TestNG?
Testy w TestNG są wykonywane za pomocą klasy TestNG. Do uruchamiania testów w środowisku testowym TestNG, klasa ta stanowi główny punkt wejścia. Użytkownicy mogą tworzyć własne obiekty TestNG i wywoływać je na wiele różnych sposobów, takich jak:
- Na już istniejącym pliku testowym.xml
- Na syntetycznym pliku testowym.xml stworzonym w całości z Javy
- Poprzez bezpośrednie ustawienie klas testowych
19) Podaj przykładowy kod TestNG
package firsttestngpackage; import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import org.testng.annotations.*; public class firsttestngfile { public String baseUrl = "http://demo.guru99.com/test/newtours/"; String driverPath = "C:\\geckodriver.exe"; public WebDriver driver ; @Test public void verifyHomepageTitle() { System.out.println("launching firefox browser"); System.setProperty("webdriver.firefox.marionette", driverPath); driver = new FirefoxDriver(); driver.get(baseUrl); String expectedTitle = "Welcome: Mercury Tours"; String actualTitle = driver.getTitle(); Assert.assertEquals(actualTitle, expectedTitle); driver.close(); } }
Te pytania podczas rozmowy kwalifikacyjnej pomogą również w Twoim życiu (ustach)
Dobry do przygotowywania się do rozmów kwalifikacyjnych
W pytaniu nr 6 napisałeś testing.xml zamiast testng.xml
Dziękuję… to zostało poprawione
Pierwsza linia trzeciego pytania powinna brzmieć „Zalety TestNG w porównaniu z JUnit”.
Dziękuję za pytania.
Błąd naprawiony!
11) Co to jest testowanie parametryczne? Powinno brzmieć: Co to jest testowanie parametryczne?
Cześć, dzięki, że napisałeś. Jest sprawdzany i aktualizowany.