testowanie extremalne i narzędzia xunit
DESCRIPTION
Testowanie eXtremalne i narzędzia xUnit. M. Gabor , J. Nawrocki, B. Walter Instytut Informatyki Politechnika Poznańska. Rational Robot. Motywacje. xUnit. Plan. eXtreme Programming Testowanie jednostkowe - xUnit Testowanie akceptacyjne – Rational Robot Biblioteka VPoints. - PowerPoint PPT PresentationTRANSCRIPT
Maciej Gabor, SCR 2002
Testowanie eXtremalnei narzędzia xUnit
M. Gabor, J. Nawrocki, B. Walter
Instytut InformatykiPolitechnika Poznańska
Maciej Gabor, SCR 2002
Motywacje
xUnit
Rational Robot
Maciej Gabor, SCR 2002
Plan
eXtreme Programming Testowanie jednostkowe - xUnit Testowanie akceptacyjne – Rational Robot Biblioteka VPoints
Maciej Gabor, SCR 2002
eXtreme Programming Testowanie jednostkowe - xUnit Testowanie akceptacyjne – Rational Robot Biblioteka VPoints
Plan
Maciej Gabor, SCR 2002
eXtreme Programing
Testowanie
Programowanie parami Ciągła integracja
Refaktoryzacja
Maciej Gabor, SCR 2002
Plan
eXtreme Programming Testowanie jednostkowe - xUnit Testowanie akceptacyjne – Rational Robot Biblioteka VPoints
Maciej Gabor, SCR 2002
Testy jednostkowe - xUnit
SUnit (Kent Beck)
JUnit CPPUnit PHPUnit PerlUnit DUnit PythonUnit
PlSqlUnit SchemeUnit VbUnit HttpUnit DotNetUnit EiffelUnit PowerBuilderUn
it
Maciej Gabor, SCR 2002
Testy jednostkowe - xUnit
Ramy implementowania przypadków testowych
Przypadek testowy Przypadek testowy
Maciej Gabor, SCR 2002
Testy jednostkowe - JUnit
public void testCapacity {assertTrue(v.size()==2);v.clear();assertTrue(v.size()==0);
}
public class MyTestCase extends TestCase {private Vector v;
}
public void setUp() { v=new Vector();v.add(“String1”);v.add(“String2”);
}
public void tearDown() { v=null;
}
Maciej Gabor, SCR 2002
Testy jednostkowe - JUnit
public void testCapacity {assertTrue(v.size()==2);v.clear();assertTrue(v.size()==0);
}
public void setUp() { v=new Vector();v.add(“String1”);v.add(“String2”);
}
public void tearDown() { v=null;
}
public class MyTestCase extends TestCase {private Vector v;
}
Maciej Gabor, SCR 2002
Testy jednostkowe - JUnit
public void testCapacity {assertTrue(v.size()==2);v.clear();assertTrue(v.size()==0);
}
public void setUp() { v=new Vector();v.add(“String1”);v.add(“String2”);
}
public void tearDown() { v=null;
}
public class MyTestCase extends TestCase {private Vector v;
}
Maciej Gabor, SCR 2002
public void testCapacity {assertTrue(v.size()==2);v.clear();assertTrue(v.size()==0);
}
public void setUp() { v=new Vector();v.add(“String1”);v.add(“String2”);
}
public void tearDown() { v=null;
}
public class MyTestCase extends TestCase {private Vector v;
}
Testy jednostkowe - JUnit
Maciej Gabor, SCR 2002
Plan
eXtreme Programming Testowanie jednostkowe - xUnit Testowanie akceptacyjne – Rational Robot Biblioteka VPoints
Maciej Gabor, SCR 2002
Testy akceptacyjne – Rational Robot
Zapis skryptów GUI
Rozpoczęcie zapisu
Wykonanie akcji
Punkty weryfikacji
Zakończenie zapisu
≈ assert (JUnit)
Maciej Gabor, SCR 2002
Testy akceptacyjne – Rational Robot
Zapis skryptów GUI
Rozpoczęcie zapisu
Wykonanie akcji
Punkty weryfikacji
Zakończenie zapisu
Maciej Gabor, SCR 2002
Plan
eXtreme Programming Testowanie jednostkowe - xUnit Testowanie akceptacyjne – Rational Robot Biblioteka VPoints
Maciej Gabor, SCR 2002
Biblioteka VPoints
Test
xUnit VPoints
Dziedziczy Korzysta
Maciej Gabor, SCR 2002
VPoint dla xUnit
Maciej Gabor, SCR 2002
WatchDog
public class MyTest extends TestCase {
public void testOperationDuration() {
IWatchDog wd = Factory.createWatchDog();
wd.start(500);
operations();
wd.stop(); }
}
Maciej Gabor, SCR 2002
Globalne efekty uboczne
Kolejka
• NewItem• ...
Słownik
• NewElem• ...
Przydział_pamięci• New• ...
First fit
A1B
A2B
...
Maciej Gabor, SCR 2002
Globalne efekty uboczne
Kolejka
• NewItem• ...
Słownik
• NewElem• ...
Przydział_pamięci• New• ...
First fit
A1B
A2B
...A1
B
A2
Zajętość pamięci Liczba elementów
Czas NewElem
Czas NewItem
Czas New
Maciej Gabor, SCR 2002
Praktyka
Funkcje pogrupowane w moduły Przykładowy projekt
180 godz. Kodowania 29 godz. kodowania testów < 17 % czasu 32 dni pracy – 29 integracji kodu
Maciej Gabor, SCR 2002
Podsumowanie
eXtreme Programming Narzędzia – xUnit i Rational Robot Biblioteka VPoints
Dziękuję za uwagę
Maciej [email protected]
Maciej Gabor, SCR 2002
IV Krajowa IV Krajowa KonferencjaKonferencjaInżynierii Oprogramowania KKIO 2002Inżynierii Oprogramowania KKIO 2002
http://kkio.put.poznan.pl
Hotel 500Tarnowo Podgórne k. Poznania15 – 18 października 2002