Metodologia testowania aplikacji

Transkrypt

Metodologia testowania aplikacji
Metodologia testowania
aplikacji
ćwiczenia 6
Testing Next Generation
TestNG - framework wspomagający testowanie jednostkowe,
integracyjne oraz funkcjonalne. Stworzony jako alternatywa
do JUnit.
Biblioteka
została
napisana
przez
Cedrica
Beusta
sfrustrowanego działaniem JUnit, który zdecydował napisać
własne lepsze narzędzie zarządzania testami.
TestNG
Cechy:
●
●
●
●
Dostępny w formie darmowej biblioteki
Dla osób początkujących oraz doświadczonych testerów
Łatwe zarządzanie testami
Duże możliwości konfiguracji testów
❖ grupowanie testów
❖ zapewnienie danych dla testów
❖ definiowanie zależności pomiędzy testami
❖ i wiele innych...
TestNG - instalacja
Jako plug-in do Eclipsa: Menu Help -> Install New Software -> ADD
TestNG - pierwsze kroki...
1.
2.
3.
Tworzymy nowy projekt: File -> New -> Java Project
W nowym projekcie tworzymy nowy pakiet np. testy
z m.kontekstowego na projekcie wybieramy New -> package
W lewym panelu powinniśmy
zobaczyć nasz nowy pakiet:
TestNG - pierwsze kroki...
4.
5.
Aby dodać nową klasę TestNG zaznaczamy nowo dodany pakiet i z menu
kontekstowego wybieramy: TestNG -> Create TestNG class
Zaznaczamy opcje jak na zrzucie i
wybieramy Finish
TestNG - Przykład 1
package testy;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
public class NewTest {
@Test
public void f() {
}
@BeforeMethod
public void beforeMethod() {
}
@AfterMethod
public void afterMethod() {
}
TestNG - Przykład 1
@BeforeClass
public void beforeClass() {
}
@AfterClass
public void afterClass() {
}
@BeforeTest
public void beforeTest() {
}
@AfterTest
public void afterTest() {
}
}
Dodany został przykładowy szkielet testu z jedną metodą testową f(). Następnie uzupełnimy każdą z metod
aby zobaczyć co przyniesie uruchomienie powyższego kodu.
Po uruchomieniu testu otrzymamy:
widok Results TestNG
TestNG - Przykład 2
@Test (priority = 2)
public void TestCase1() {
System.out.println("TestCase 1");
}
@Test (enabled = false)
public void TestCase2() {
System.out.println("TestCase 2");
}
@Test (priority = 1)
public void TestCase3() {
System.out.println("TestCase 3");
}
TestNG - Przykład 3
@Test
public void test1() throws Exception {
throw new Exception("Operacja nie powiodla sie!");
}
@Test(dependsOnMethods = { "test1" })
public void test2() {
System.out.println("Test numer 2!");
}
@Test(dependsOnMethods = { "test2" })
public void test3() {
System.out.println("Test numer 3!");
}
@Test
public void test4() {
System.out.println("Test numer 4!");
}
TestNG + Selenium
WebDriver
TestNG - Przykład 4.1
TestNG - Przykład 4.2
TestNG - Przykład 4.2
W celu korzystania z grup testów podczas dodawania nowej
klasy TestNG dodatkowo określamy nazwę pliku XML który
będzie później odniesieniem do naszych testów.
Zawartość pliku .xml (do przykładu 4.2)
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="TestSuite" verbose="1" >
<test name="materialy" >
<groups>
<run>
<include name="uczelnia" />
bng </run>
</groups>
<classes>
<class name="webdriver1" />
</classes>
</test>
<test name="kontakt">
<groups>
<run>
<include name="kontakt" />
</run>
</groups>
<classes>
<class name="webdriver1"/>
</classes>
</test>
</suite>
W celu uruchomienia danej konfiguracji z poziomu Eclipse klikamy prawym przyciskiem myszy na
dany plik .xml oraz wybieramy Run As
TestNG Suite
TestNG - Przykład 5
TestNG - krótkie podsumowanie
@BeforeClass
@BefoteMethod
@BeforeTest
@AfterTest
@AfterMethod
@AfterClass
@BeforeSuite
@AfterSuite
@Test
● enabled (true/false) - czy wykonujemy test czy nie ?
● priority = 2 - priorytet testu (najwyższy = 0)
● dependsOnMethods = metoda - zależy od powodzenia metody “metoda”
● groups - grupa do której należy test
@DataProvider (nazwa) - źródło pochodzenia danych wykorzystanych w teście
W ramach pracy domowej proszę o napisanie przynajmniej
jednego testu opartego o TestNG.
Wykorzystać przynajmniej kilka parametrów nadawanych dla
notacji @Test. Mile widziane przykłady z wykorzystaniem
@DataProvider.
Proszę o wysyłanie rozwiązania w pliku tekstowym.
adres na który można przesyłać zadania:
[email protected]

Podobne dokumenty