240 likes | 356 Views
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.
E N D
Testowanie eXtremalnei narzędzia xUnit M. Gabor, J. Nawrocki, B. Walter Instytut Informatyki Politechnika Poznańska Maciej Gabor, SCR 2002
Rational Robot Motywacje xUnit 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 • PowerBuilderUnit Maciej Gabor, SCR 2002
Testy jednostkowe - xUnit • Ramy implementowania przypadków testowych Przypadek testowy Przypadek testowy Maciej Gabor, SCR 2002
Testy jednostkowe - JUnit public class MyTestCase extends TestCase { private Vector v; } public void setUp() { v=new Vector(); v.add(“String1”); v.add(“String2”); } public void testCapacity { assertTrue(v.size()==2); v.clear(); assertTrue(v.size()==0); } public void tearDown() { v=null; } Maciej Gabor, SCR 2002
Testy jednostkowe - JUnit public class MyTestCase extends TestCase { private Vector v; } public void setUp() { v=new Vector(); v.add(“String1”); v.add(“String2”); } public void testCapacity { assertTrue(v.size()==2); v.clear(); assertTrue(v.size()==0); } public void tearDown() { v=null; } Maciej Gabor, SCR 2002
Testy jednostkowe - JUnit public class MyTestCase extends TestCase { private Vector v; } public void setUp() { v=new Vector(); v.add(“String1”); v.add(“String2”); } public void testCapacity { assertTrue(v.size()==2); v.clear(); assertTrue(v.size()==0); } public void tearDown() { v=null; } Maciej Gabor, SCR 2002
Testy jednostkowe - JUnit public class MyTestCase extends TestCase { private Vector v; } public void setUp() { v=new Vector(); v.add(“String1”); v.add(“String2”); } public void testCapacity { assertTrue(v.size()==2); v.clear(); assertTrue(v.size()==0); } public void tearDown() { v=null; } Maciej Gabor, SCR 2002
Plan • eXtreme Programming • Testowanie jednostkowe - xUnit • Testowanie akceptacyjne – Rational Robot • Biblioteka VPoints Maciej Gabor, SCR 2002
Rozpoczęcie zapisu Wykonanie akcji Punkty weryfikacji Zakończenie zapisu Testy akceptacyjne – Rational Robot • Zapis skryptów GUI ≈ assert (JUnit) Maciej Gabor, SCR 2002
Rozpoczęcie zapisu Wykonanie akcji Punkty weryfikacji Zakończenie zapisu Testy akceptacyjne – Rational Robot • Zapis skryptów GUI Maciej Gabor, SCR 2002
Plan • eXtreme Programming • Testowanie jednostkowe - xUnit • Testowanie akceptacyjne – Rational Robot • Biblioteka VPoints Maciej Gabor, SCR 2002
Test Dziedziczy Korzysta xUnit VPoints Biblioteka VPoints 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
A2 A1 ... B B Kolejka Słownik • NewItem • ... • NewElem • ... Przydział_pamięci • New • ... First fit Globalne efekty uboczne Maciej Gabor, SCR 2002
Zajętość pamięci Liczba elementów Kolejka Słownik • NewItem • ... • NewElem • ... A1 A2 B Przydział_pamięci • New • ... First fit Globalne efekty uboczne A2 A1 ... B B CzasNewElem Czas NewItem CzasNew 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 Gabor gabi@arni.pdi.net Maciej Gabor, SCR 2002
IV Krajowa Konferencja Inżynierii Oprogramowania KKIO 2002 http://kkio.put.poznan.pl Hotel 500 Tarnowo Podgórne k. Poznania 15 – 18 października 2002 Maciej Gabor, SCR 2002