Testowanie eXtremalne i narzędzia xUnit

Post on 01-Jan-2016

36 views 0 download

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 Presentation

Transcript of Testowanie eXtremalne i narzędzia xUnit

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 Gaborgabi@arni.pdi.net

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