Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Testtechniken-Praktikum WS 2005/06 1 Performanztests mit JUnitPerf Andreas Höfer Dr. Matthias Müller.

Ähnliche Präsentationen


Präsentation zum Thema: "Testtechniken-Praktikum WS 2005/06 1 Performanztests mit JUnitPerf Andreas Höfer Dr. Matthias Müller."—  Präsentation transkript:

1 Testtechniken-Praktikum WS 2005/06 1 Performanztests mit JUnitPerf Andreas Höfer Dr. Matthias Müller

2 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 2 JUnitPerf JUnit Erweiterung für Performanztests JUnit Erweiterung für Performanztests Geschrieben von Mike Clark Geschrieben von Mike Clark Kostenlos erhältlich: JUnitPerf.html Kostenlos erhältlich: JUnitPerf.html JUnitPerf.html JUnitPerf.html

3 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 3 Test-Dekorierer (1/2) Tests mit Zeitlimit: TimedTest(Test test, long ms) Tests mit Zeitlimit: TimedTest(Test test, long ms) Option: waiting* – non-waiting Option: waiting* – non-waiting Lasttests mit mehreren Benutzern: LoadTest(Test test, int user, int iter, Timer timer) Lasttests mit mehreren Benutzern: LoadTest(Test test, int user, int iter, Timer timer) Option: atomic – non-atomic* Option: atomic – non-atomic* * Default

4 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 4 Test-Dekorierer (2/2) Tests mehrfach ausführen geht mit JUnit (Packet junit.extensions ): RepeatedTest(Test test, int iter) Tests mehrfach ausführen geht mit JUnit (Packet junit.extensions ): RepeatedTest(Test test, int iter) TimedTest, LoadTest & RepeatedTest durch Dekorierermuster schachtelbar TimedTest, LoadTest & RepeatedTest durch Dekorierermuster schachtelbar

5 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 5 Beispiel: Lasttest mit Zeitnahme public class AllPerformanceTests { public static Test suite() { Test test = new DBPerformanceTest( testSelect10KLines); Timer timer = new ConstantTimer(500); Test load = new LoadTest(test, 5, 10, timer); Test timed = new TimedTest(load, 5000); return timed; }}

6 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 6 Einschränkungen von JUnitPerf Unmöglich, Zeit eines Testfalls alleine zu messen Unmöglich, Zeit eines Testfalls alleine zu messen Einbruch der Performanz bei LoadTest mit vielen Benutzern (JVM-abhängig) Einbruch der Performanz bei LoadTest mit vielen Benutzern (JVM-abhängig) Ersetzt Profiling-Tools nicht Ersetzt Profiling-Tools nicht Aber: Gute Richtschnur für Refactorings Aber: Gute Richtschnur für Refactorings :ATimedTest tearDown() Gemessene Zeit tearDelay() setUp()


Herunterladen ppt "Testtechniken-Praktikum WS 2005/06 1 Performanztests mit JUnitPerf Andreas Höfer Dr. Matthias Müller."

Ähnliche Präsentationen


Google-Anzeigen