Title: The TPI model
1Testowanie eXtremalnei narzedzia xUnit
M. Gabor, J. Nawrocki, B. Walter Instytut
Informatyki Politechnika Poznanska
2Motywacje
xUnit
3Plan
- eXtreme Programming
- Testowanie jednostkowe - xUnit
- Testowanie akceptacyjne Rational Robot
- Biblioteka VPoints
4Plan
- eXtreme Programming
- Testowanie jednostkowe - xUnit
- Testowanie akceptacyjne Rational Robot
- Biblioteka VPoints
5eXtreme Programing
Programowanie parami
Ciagla integracja
Refaktoryzacja
6Plan
- eXtreme Programming
- Testowanie jednostkowe - xUnit
- Testowanie akceptacyjne Rational Robot
- Biblioteka VPoints
7Testy jednostkowe - xUnit
- SUnit (Kent Beck)
- JUnit
- CPPUnit
- PHPUnit
- PerlUnit
- DUnit
- PythonUnit
- PlSqlUnit
- SchemeUnit
- VbUnit
- HttpUnit
- DotNetUnit
- EiffelUnit
- PowerBuilderUnit
8Testy jednostkowe - xUnit
- Ramy implementowania przypadków testowych
Przypadek testowy
Przypadek testowy
9Testy jednostkowe - JUnit
public class MyTestCase extends TestCase
private Vector v
public void setUp() vnew
Vector() v.add(String1) v.add(String2)
public void testCapacity assertTrue(v.size()
2) v.clear() assertTrue(v.size()0)
public void tearDown() vnull
10Testy jednostkowe - JUnit
public class MyTestCase extends TestCase
private Vector v
public void setUp() vnew
Vector() v.add(String1) v.add(String2)
public void testCapacity assertTrue(v.size()
2) v.clear() assertTrue(v.size()0)
public void tearDown() vnull
11Testy jednostkowe - JUnit
public class MyTestCase extends TestCase
private Vector v
public void setUp() vnew
Vector() v.add(String1) v.add(String2)
public void testCapacity assertTrue(v.size()
2) v.clear() assertTrue(v.size()0)
public void tearDown() vnull
12Testy jednostkowe - JUnit
public class MyTestCase extends TestCase
private Vector v
public void setUp() vnew
Vector() v.add(String1) v.add(String2)
public void testCapacity assertTrue(v.size()
2) v.clear() assertTrue(v.size()0)
public void tearDown() vnull
13Plan
- eXtreme Programming
- Testowanie jednostkowe - xUnit
- Testowanie akceptacyjne Rational Robot
- Biblioteka VPoints
14Testy akceptacyjne Rational Robot
assert (JUnit)
15Testy akceptacyjne Rational Robot
16Plan
- eXtreme Programming
- Testowanie jednostkowe - xUnit
- Testowanie akceptacyjne Rational Robot
- Biblioteka VPoints
17Biblioteka VPoints
18VPoint dla xUnit
19WatchDog
- public class MyTest extends TestCase
-
- public void testOperationDuration()
- IWatchDog wd Factory.createWatchDog()
-
- wd.start(500)
-
- operations()
-
- wd.stop()
-
20Globalne efekty uboczne
21Globalne efekty uboczne
A2
A1
...
B
B
?Czas NewElem
?Czas NewItem
?Czas New
22Praktyka
- Funkcje pogrupowane w moduly
- Przykladowy projekt
- 180 godz. Kodowania
- 29 godz. kodowania testów
- lt 17 czasu
- 32 dni pracy 29 integracji kodu
23Podsumowanie
- eXtreme Programming
- Narzedzia xUnit i Rational Robot
- Biblioteka VPoints
Dziekuje za uwage Maciej Gabor gabi_at_arni.pdi.net
24IV Krajowa Konferencja Inzynierii Oprogramowania
KKIO 2002
http//kkio.put.poznan.pl
Hotel 500 Tarnowo Podgórne k. Poznania 15 18
pazdziernika 2002