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

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

Forschungszentrum Informatik
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
JPQL Java Persistence Query Language
Vortrag über die Studienarbeit
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Verteilte Software - Java - Prozedurale Programmierung 1
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Prof. Dr. Holger Schlingloff
Testgetriebene Entwicklung
FH-Hof Tools Richard Göbel. FH-Hof Tools für die Veranstaltung JUnit: Testen ANT: Build-Tool Eclipse: Entwicklungsumgebung.
FH-Hof Reversi: Erweiterungen für den AutoClient Richard Göbel.
Indirekte Adressierung
FH-Hof SQLJ Richard Göbel. FH-Hof SQLJ - Idee Erweiterung von Java um SQL Die Verwendung von SQL-Anweisungen innerhalb einer Programmiersprache wird vereinfacht.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Das Test-Framework JUnit
Das Test-Framework JUnit
Automatisches Testen und Bewerten von Java-Klassen
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Thema: Fibonacci-Zahlen
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
FH-Hof Singleton Pattern Richard Göbel. FH-Hof Motivation Bestimmte Klassen sollen nur ein Objekt haben Nur ein Fabrikobjekt für eine Fabrikklasse Zentraler.
Rekursive Funktionen (Fakultät)
InfoPoint vom 9. November Was ist Joomla? Theorie Installation Extensions Administration Demo.
Java und Eclipse.
Mahmoud Zoabi Khaled Isa
Informatik – Programmierpraktikum Alexander Volodarski Gruppe 14
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Spielprogrammierung mit LabView
Performance-Testing als Basis für Performanceoptimierungen
Testtechniken-Praktikum WS 2005/06 1 Testen mit Mock- Objekten Andreas Höfer Dr. Matthias Müller.
Prof. Dr. Walter F. Tichy Dr. Matthias Müller Sommersemester 2006 Empirische Softwaretechnik.
Testtechniken-Praktikum WS 2005/06 1 Testgetriebene Entwicklung Andreas Höfer Dr. Matthias Müller mit Beiträgen von Johannes Link.
Testtechniken-Praktikum WS 2005/06 1 Besprechung Java-Test/Aufgabe 1 Andreas Höfer Dr. Matthias Müller.
Blackbox-Testverfahren
Wilfried Imrich CuP - Java Erste Vorlesung Entspricht ungefähr Kapitel 1.1 des Skriptums Wilfried Imrich Montanuniversität Leoben Freitag, 4. Oktober 2002.
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Testtechniken-Praktikum WS 2005/06 1 Arbeiten mit JUnit Andreas Höfer Dr. Matthias Müller Mit Beiträgen von Johannes Link.
JUnit Grundkonzept Gruppe Markt. JUnit: Ziele Einfachheit: –Leicht erlernbare, bekannte Tools –Möglichst wenig Aufwand für die Implementierung von Testfällen.
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
TemplaVoilá. Allgemeines Dient nicht der Erweiterung der Funktionalität bestehender TYPO3-Sites, sondern der Erhöhung der Produktivität und der Vereinfachung.
Objektorientierte Programmierung (OOP)
GsiOS Betriebssystem für AVR32 Sarah Hofer Matthias Kathan Hannes Kappl Christian Kuen Manuel Oblasser Christoph Storm FHV WS 09/10 Projekt Ubiquitous.
Test 1 Test 2 Test 3. Test 4 Test 5 Test 6 Test 7 Test 8 Test 9.
Performanz- und Lasttests Formale Methoden
FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias.
Test.
Grundkurs Informatik mit Java
Grundkurs Informatik 11-13
 Präsentation transkript:

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

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

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

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

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; }}

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()