Systematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015
|
|
- Fritzi Giese
- vor 7 Jahren
- Abrufe
Transkript
1 Systematisches Testen der Funktionalität von Softwaresystemen 17. Juni 2015
2 Überblick Semantische Qualität von Software Teststrategien und prinzipien Testgetriebene Softwareentwicklung Welche Arten von Tests sind möglich? Wann haben wir genug getestet? Codeüberdeckung Datenüberdeckung Was tun, wenn die Daten fehlen? Mock-Objekte benutzen Taentzer Softwarequalität
3 Semantische Qualität Die semantische Qualität von Software bezieht sich auf die Erfüllung der Anforderungsspezifikation: Erfüllung der funktionalen Anforderungen: Funktionalität: Korrektheit, Vollständigkeit, Sicherheit, Fehlertoleranz Erfüllung der folgenden nichtfunktionalen Anforderungen: Effizienz: Wirtschaftlichkeit, Zeitverhalten, Verbrauchsverhalten Taentzer Softwarequalität
4 Nachweismöglichkeiten für semantische Qualität Testen: exemplarische Programmausführungen, um Fehler (Defekte) zu finden Zusicherungen: Konsistenzeigenschaften, die während der Programmausführung überprüft werden Verifikation: Nachweis, dass alle Programmausführungen bestimmte Eigenschaften erfüllen Welche Vor- und Nachteile haben diese verschiedenen Nachweismöglichkeiten? Taentzer Softwarequalität
5 Repräsentative Tests Wir können im Allgemeinen nicht alle möglichen Eingaben austesten. (Warum?) Deshalb wählen wir eine möglichst aussagekräftige Menge von Testfällen aus. Ein Testfall ist repräsentativ, wenn er eine neue Kombination von Eingabedatenkategorien prüft (in Blackbox- und Whitebox-Tests) oder einen neuen Pfad im Programm durchläuft (nur in Whitebox-Tests). Testziel: Alle möglichen Kombinationen von Eingabedatenkategorien und alle Pfade des Programms sind getestet. Taentzer Softwarequalität
6 Identifikation von repräsentativen Testfällen (datengetrieben) Zum datengetriebenen Testen einer funktionalen Einheit (z.b. Methode) hat sich das folgende Verfahren aus [OB88] bewährt: 1. Erstelle ein Modell der Eingabedatenstrukturen: Welche Datenkategorien gibt es für die Parameter? Welche Objekte der Umgebung müssen berücksichtigt werden? 2. Zerlege den Datenraum jeder Kategorie in Wahlmöglichkeiten 3. Wie viele Kombinationen von Wahlmöglichkeiten gibt es? 4. Welche Kombinationen sind möglich? Welche Abhängigkeiten gibt es zwischen den identifizierten Wahlmöglichkeiten? 5. Für jede mögliche Kombination von Wahlmöglichkeiten werden passende Werte gewählt und ein Testfall geschrieben. Dieser enthält auch den Erwartungswert. Taentzer Softwarequalität
7 Beispiel für datengetriebene Tests Taentzer Softwarequalität [OB88]
8 Beispiel für datengetriebene Tests Mögliche Testläufe: [OB88] Taentzer Softwarequalität
9 Beispiel für datengetriebene Tests Kategorien und Wahlmöglichkeiten: Taentzer Softwarequalität [OB88]
10 Beispiel für datengetriebene Tests Eine Kombination von Wahlmöglichkeiten: Ist diese Kombination möglich? [OB88] Taentzer Softwarequalität
11 Beispiel für datengetriebene Tests Wahlmöglichkeiten mit Abhängigkeiten: [OB88] Taentzer Softwarequalität
12 Beispiel für datengetriebene Tests Wahlmöglichkeiten mit Abhängigkeiten: Taentzer Softwarequalität [OB88]
13 Beispiel für datengetriebene Tests Auszeichnung von Wahlmöglichkeiten, die Fehler produzieren: [OB88] Taentzer Softwarequalität
14 Beispiel für datengetriebene Tests Auszeichnung von Wahlmöglichkeiten, die Fehler produzieren: Diese werden nicht in Kombination mit anderen geprüft. [single] identifiziert Testfälle, die auch nicht in Kombination geprüft werden müssen. Taentzer Softwarequalität [OB88]
15 Beispiel für datengetriebene Tests Ein konkreter Testfall für die angegebene Kombination: Ein Testfall pro zu prüfender Kombination Skaliert diese Testmethode? [OB88] Taentzer Softwarequalität
16 Einsatz in der testgetriebenen Entwicklung Vorgehensweise: beschreibe wesentliche Testfälle schon mit den Anforderungen folge dem vorgestellten Verfahren zur Identifikation von repräsentativen Testfällen programmiere alle repräsentativen Testfälle führe die Testfälle aus: Fehler, da die Funktionalität noch fehlt implementiere die Funktionalität führe die Testfälle aus: Code solange ändern, bis alle Tests durchlaufen führe Refactorings durch Taentzer Softwarequalität
17 Mock-Objekte Was tun, wenn bestimmte Ressourcen (Komponenten) noch nicht zum Testen zur Verfügung stehen? Beispiele: Datenbanken, Dateien, Server, Softwarekomponenten Was tun, wenn eine Methode schwer testbar ist, weil Eingabeparameter nur sehr umständlich, eingeschränkt oder gar nicht erstellbar sind? Beispiele: Uhrzeit, GUI, Netzwerkfehler Mock-Objekte: Attrappen, die echte Objekte simulieren Sie implementieren dieselben Schnittstellen wie die echten Objekte. Sie unterstützen den Komponententest. (Warum?) weitere Informationen: Taentzer Softwarequalität
18 Beispiel: Mock-Objekte (manuell) VerzeichnisTest Vorlesungsverzeichnis <<interface>> Course getnextparticipant() MockCourse getnextparticipant() public Person getnextparticipant() { //... Person p1 = new Person( Meier ); //... return p1; } Lecture getnextparticipant() public Person getnextparticipant() { return getmanagement(). getnextparticipant();} Taentzer Softwarequalität
19 Beispiel: Mock-Objekte mit Mockito import static org.mockito.mockito.*; public void firstcoursetest(){ //arrange Course c=mock(mockcourse.class); when(c.getnextparticipant()).thenreturn( new Person( Maier )); //act String result=c.getnextparticipant(); //assert assertequals( Meier", result.tostring()); } Taentzer Softwarequalität
20 Werkzeuge für das Testen mit Mock-Objekten Wie wird getestet? Unit-Testing mit Mock-Objekten Mock-Objekt erzeugen Das erwartete Verhalten aufnehmen Mock-Objekt auf Abspielen des Verhaltens schalten Was kann getestet werden? Aufruf von Methoden (auch die Anzahl und Reihenfolge) Rückgabewerte Werfen von Exceptions Verhalten zwischen mehreren Mock-Objekten Werkzeuge für Java: EasyMock: Mockito: Taentzer Softwarequalität
21 Zusammenfassung Semantische Qualitätsprüfungen: Testen, Zusicherungen, Verifikation Testen ist eine analytische Qualitätssicherungsmaßnahme. Testen hilft, Fehler zu finden. Es kann nicht die Abwesenheit von Fehlern zeigen. Zentrale Frage: Wann haben wir genug getestet? Repräsentative Testfälle decken die möglichen Eingabewerte optimal ab und testen alle möglichen Programmabläufe (in Whitebox-Tests). Mock-Objekte: falls die echten Daten für das Testen noch fehlen Taentzer Softwarequalität
22 Literatur [Mye95] Glenford J. Myers: Methodisches Testen von Programmen, Oldenbourg Verlag, 1995 [Lin05] Johannes Link u. a.: Softwaretests mit JUnit. Techniken der testgetriebenen Entwicklung. 2. Auflage. dpunkt, 2005 [OB88] T. Ostrand, M. Balcer: The category-partition method for specifying and generating functional tests, Communication of the ACM, gorypartition88.pdf Taentzer Softwarequalität
Re-Engineering: Test-First-Ansatz. Dr. Thorsten Arendt Marburg, 17. Dezember 2015
Re-Engineering: Test-First-Ansatz Dr. Thorsten Arendt Marburg, 17. Dezember 2015 Re-Engineering Patterns [Demeyer et al.] 2 Software-Evolution WS 2015/2016 Überblick Probleme Wie ändert man Teile eines
MehrTestgetriebene Entwicklung mit JUnit4
Testgetriebene Entwicklung mit JUnit4 Seminarvortrag im Fach Fortgeschrittenes Programmieren in Java, Dozent: Prof. Klinker Datum: 30.04.2010 Referent: Marius Schmeding Ausgangsfragen... Wie testet man
MehrSoftwaretests mit Junit
Softwaretests mit Junit Techniken der testgetriebenen Entwicklung Bearbeitet von Johannes Link überarbeitet 2005. Taschenbuch. XVI, 416 S. Paperback ISBN 978 3 89864 325 2 Format (B x L): 16,5 x 24 cm
MehrMock-Objekte. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Mock-Objekte Verschiedene Testhelfer Ein Stummel (engl. stub) ist ein nur rudimentär implementierter Teil der Software und dient als Platzhalter
MehrAufgaben Objektentwurf
Aufgaben Objektentwurf (Einschub zum 5. Tutorium) Tutorium 6 13. März 2009 Svetlana Matiouk, Uni Bonn Ferientutorien zur Vorlesung Softwaretechnologie WS 2008 6. Treffen, Aufgabe 1 Vorwärtsmodellierung
MehrTestgetriebene Entwicklung
Testgetriebene Entwicklung Arbeitskreis Objekttechnologie Norddeutschland Hamburg, 18.03.2002 Frank Westphal freier Berater, Hamburg Tammo Freese OFFIS, Oldenburg westphal@acm.org tammo.freese@offis.de
MehrUnit Tests in der Testgetriebenen Entwicklung
Unit Tests in der Testgetriebenen Entwicklung Reduzierung des Testanteils am Gesamtsoftwareentwicklungsaufwand -- neue Strategien und Tools -- Hauptseminar Systemorientierte Informatik Christian Krauß
MehrProgrammiertechnik II
Modultests Ziele Überprüfung der Korrektheit eines Moduls Korrektheit: Übereinstimmung mit (informaler) Spezifikation Modul: kleine testbare Einheit (Funktion, Klasse) Engl.: unit test White box testing
MehrProgrammierprojekt: So0ware Tests. Anne6e Bieniusa Sommersemester 2017
Programmierprojekt: So0ware Tests Anne6e Bieniusa Sommersemester 2017 Testen Kernfrage: Erfüllt die So0ware ihre Anforderungen / SpezifikaGon? FunkGonale Anforderungen Korrekte Ergebnisse bei Berechnungen
MehrVerbesserung des Entwicklungsprozesses durch testgetriebene Entwicklung und kontinuierliche Integration
Verbesserung des Entwicklungsprozesses durch testgetriebene Entwicklung und kontinuierliche Integration Stefan Rossbach Institut für Informatik Freie Universität Berlin 07.07.2011 Überblick Testen von
MehrWiederholung Sortiert nach Lebenszyklusphase Sortiert nach Testziel Sortiert nach der Methode, um an Testfälle zu kommen
Testen Wiederholung Sortiert nach Lebenszyklusphase Sortiert nach Testziel Sortiert nach der Methode, um an Testfälle zu kommen JUnit Tests = Komponententests Stress Test White Box Test Integrationstests
MehrJUnit. Software-Tests
JUnit Software-Tests Übersicht Einleitung JUnit Jia Li Grundlegendes Diana Howey Hendrik Kohrs Praktische Einbindung Benjamin Koch Zili Ye Einleitung in allgemeines Testen Automatische Tests Testen ist
MehrWeb-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum
1 Web-Testen mit JUnit und HttpUnit Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum 2 Inhalt Entwicklertests in der Praxis Unit-Testing JUnit HttpUnit Praktisches Beispiel Bewertung
MehrWiederholung. Testen. Tests nach Methode zum Ableiten der Testfälle White Box Test Black Box Test
Testen Tests nach Lebenzykusphase Unit, Komponententests Integrationstets Systemtests Abnahmetests, Validierung Tests nach Testziel Lasttest Penetrationstests Funktionale Tests... Wiederholung Tests nach
MehrQualität von Software - Prof. Schlingloff, Lackner - SS2013 DYNAMISCHER TEST. Whitebox Testen mit JUnit
1 DYNAMISCHER TEST Whitebox Testen mit JUnit Übersicht 2 1. Grundlagen des Unittests 1. Units 2. Unit Testing 2. Testverfahren 1. Blackbox 2. Whitebox 3. Unit Testing mit Eclipse 4. Besprechung der Übungsaufgabe
MehrÜbungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit
Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Aufgabe : Die allgemeine Object-Liste Gegeben sei folgendes UML-Klassendiagramm: MyObjectList
MehrThema: Testen von objektorientierter Software
Seminar Simulation und Bildanalyse mit Java Thema: Testen von objektorientierter Software Uta Dienst 1. Teil: Einführung in den Software-Test 2. Teil: JUnit-Einführung Uta Dienst 17.11.2003 2 1. Teil:
MehrSoftware Entwicklung 1. Spezifikation von Prozedureigenschaften. Spezifikation prozeduraler Programme. Warum Spezifikationen?
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Spezifikation von Prozedureigenschaften Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 27
Mehr1. Einführung 1.1. Definitionen
1 1. Einführung 1.1. Definitionen Unter Testen versteht man den Prozess des Planens, der Vorbereitung und der Messung mit dem Ziel, die Eigenschaften eines IT-Systems festzustellen und Unterschiede zwischen
MehrContinuous Integration mit VSTS Dieter Rüetschi
Continuous Integration mit VSTS Dieter Rüetschi (ruetschi@ability-solutions.ch) 1 2 Warum ist Continuous Delivery so wichtig? Geschwindigkeit schnell auf dem Markt Unterstützung und Teil des ALM 3 DevOps
MehrProperty Based Testing
Property Based Testing Nicolai Mainiero sidion Testen ist schwer Testen ist schwer Warum? Alle Pfade durch den Code aufzuzählen ist aufwendig. Selbst vermeintlich einfache Systeme können komplex sein.
Mehr5. Dokumentieren und Testen Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
5. Dokumentieren und Testen Advanced Programming Techniques Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:
MehrTesten von Android- Anwendungen. 6. Juni 2013
Testen von Android- Anwendungen 6. Juni 2013 Taentzer Software-Praktikum 2013 91 Überblick Entwicklung von Testfällen informelle Beschreibung der Testfälle auf Basis der Anwendungsfallbeschreibungen Implementierung
Mehr1 Programmierfehler und ihre Behebung
1 Programmierfehler und ihre Behebung (kleiner lebenspraktischer Ratgeber) Grundsätze: Jeder Mensch macht Fehler... insbesondere beim Programmieren. Läuft ein Programm, sitzt der Fehler tiefer. Programmierfehler
MehrUnit Testing mit JUnit. Dr. Andreas Schroeder
Unit Testing mit JUnit Dr. Andreas Schroeder Überblick Was dieses Video behandelt Warum Testen? Was sind Unit Tests? Der Teufelskreis des Nicht-Testens JUnit Unit Test Vorteile Test-Inspiration Wann aufhören?
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.
MehrJUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1
JUnit - Test Driven Development Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 Gliederung 1.Einleitung 1.1 Geschichte 1.2 Was sind Unit-Tests? 1.3 Failures/Errors 1.4 Ziele und Nutzen
MehrTesten von graphischen Benutzeroberflächen. 24. Juni 2015
Testen von graphischen Benutzeroberflächen 24. Juni 2015 Überblick Motivation für das automatische Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien für GUIs Capture / Replay Testmethode
MehrSoftware-Refactoring. 29. Mai 2013
Software-Refactoring 29. Mai 2013 Überblick Was ist Refactoring und wozu dient es? Welche Refactorings gibt es? Refactoring-Katalog: www.refactoring.com Wann, wo und wie führt man Refactorings durch? Wie
MehrTesten von graphischen Benutzeroberflächen. 26. Juni 2013
Testen von graphischen Benutzeroberflächen 26. Juni 2013 Überblick Testarten Methoden-, Klassen-, Komponenten-, Systemtests Motivation für automatisches Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien
MehrVom Testkonzept zu JUnit
Testen und Testkonzept Dipl.-Inf. (FH) Christopher Olbertz 2. Dezember 2014 Testen und Testkonzept Warum testen? Wichtig, obwohl bei Programmierern unbeliebt Stellt weitgehend korrekte Funktionsweise eines
MehrSystematisches Testen
Systematisches Testen SEP 136 Unit Testing Objektorientierte Entwicklung Entwicklung von vielen unabhängigen Einheiten (Klassen, Methoden), aus denen das Gesamtprogramm zusammengesetzt wird. Ziel: Wenn
MehrSoftwarequalitätsmanagement. 24. April 2013
Softwarequalitätsmanagement 24. April 2013 Überblick Welche Qualitätsmodelle gibt es für Produkte und Prozesse? Welche Qualitätsanforderungen leiten sich daraus ab? Auf welche Weise kann Qualitätsmanagement
MehrTest-Driven Design: Ein einfaches Beispiel
Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Piotr Kosiuczenko, Dirk Pattinson 05/03 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel
MehrTesten. SEPR Referat: Testen - Oliver Herbst
Testen Inhalt 1. Grundlagen des Testens 2. Testen im Softwarelebenszyklus 3. Statischer Test 4. Dynamischer Test 5. Besondere Tests 2 1. Grundlagen des Testens 3 Grundlagen des Testens Motivation erfüllt
Mehr3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen zu Schnittstellen Was bedeutet Orthogonalität / Separation of Concerns?
MehrRefactoring von Legacy Systemen. Jochen Winzen jochen.winzen@andrena.de andrena objects ag
Refactoring von Legacy Systemen Jochen Winzen jochen.winzen@andrena.de andrena objects ag Was ist ein Legacy System Ein Legacy System hat folgenden Eigenschaften: + Besitzt die geforderte Funktionalität
MehrProgrammieren. JUnit-Tests. Heusch -- Ratz -- Institut für Angewandte Informatik
Programmieren JUnit-Tests Heusch -- Ratz -- KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Testgetriebene Entwicklung (auch testgesteuerte Programmierung, engl. test first development
MehrStädtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode
Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss. Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern
MehrSwp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept
Testkonzept 1.Einführung Um die Zuverläsigkeit und die Qualität der Software und des gesamten Systems zu verbessern, sind Tests durchzuführen. Die Testreihe läst sich in drei Stufen einteilen, nülich Komponententest,
MehrJUnit 4 Tutorial. Wolfgang Stöttinger
JUnit 4 Tutorial Wolfgang Stöttinger JUnit 4 Tutorial... 1 1 Einführung in JUnit 4... 3 1.1 Wie funktioniert JUnit?... 3 1.2 Annotations... 3 1.2.1 Test Annotation... 3 1.2.2 Before Annotation... 3 1.2.3
MehrTesten persistenter Objekte 1
Testen persistenter Objekte Roman Heilig und Tom Kretschmer Seminar Bildanalyse und Simulation mit Java im SS 2004 Universität Ulm Testen persistenter Objekte 1 Gliederung Einführung CRM-System Persistente
MehrFortgeschrittenes Programmieren mit Java. Test Driven Development
Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test
MehrM3 M4 M7 VORNAME: Nom-Kenner VERTIEFUNG: Ausdruck des vorab bekannt gemachten Quelltextes
NACHNAME: Poly SEMESTER: M5 M6 M3 M4 M7 VORNAME: Nom-Kenner VERTIEFUNG: FV IM ANLAGE, HILFSMITTEL: Ausdruck des vorab bekannt gemachten Quelltextes UNBEDINGT BEACHTEN: Bevor Sie mit der Bearbeitung beginnen,
MehrUnit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck
Unit Tests Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrFragen Arthur Zaczek. Dez 2015
Arthur Zaczek Dez 2015 1 Ihre Fragen 2015 2 Allgemeines 2.1 Sinnhaftigkeit Ich bitte um Verzeihung, aber ich hatte in diesen Semester nicht die Zeit, die ich für diese Lehrveranstaltung gebraucht hätte,
MehrFormale Verifikation von Software. 10. Juli 2013
Formale Verifikation von Software 10. Juli 2013 Überblick Wann ist formale Softwareverifikation sinnvoll? Welche Techniken gibt es? Was ist Model Checking und wie kann man es zur Verifikation einsetzen?
Mehr11. Komponenten Grundlagen der Programmierung 1 (Java)
11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrTesten und Debugging
Testen und Debugging Testklassen, Unit Tests Blackbox Test, Whitebox Test Regressionstesten Zusicherungen mit assert Debugger Informatik II: Objektorientierte SW-Entwicklung, Algorithmik, Nebenläufigkeit
MehrTDD. mit JUnit & Mockito. Tobias Trelle, codecentric
TDD mit JUnit & Mockito Tobias Trelle, codecentric AG @tobiastrelle 1 Tobias Trelle Software Architekt @ codecentric AG Twitter: @tobiastrelle Slideshare: http://de.slideshare.net/tobiastrelle/ GitHub:
MehrTesten von SOA-Anwendungen mit dem BPEL Testframework
Testen von SOA-Anwendungen mit dem BPEL Testframework Stefan Kühnlein IBM Deutschland Enterprise Application Solution GmbH Hollerithstr. 1 81829 München 0160/8848611 Stefan.Kuehnlein@de.ibm.com IBM Deutschland
MehrWarum? Wie? Algorithm Tests Diverses. Unit Tests. Datamining und Sequenzanalyse. Kai Dührkop, Markus Fleischauer
Unit Tests Datamining und Sequenzanalyse Kai Dührkop, Markus Fleischauer Warum? Code without tests is bad code. It doesn t matter how well written it is; it doesn t matter how pretty or object-oriented
MehrEffiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware
Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware Normann Decker 1 Philip Gottschling 2 1 Institut für Softwaretechnik und Programmiersprachen Universität zu Lübeck decker@isp.uni-luebeck.de
MehrTestgetriebene Entwicklung
Testgetriebene Entwicklung Thomas Schwotzer 1 Einführung Qualitätssicherung ist das wesentliche Thema der Softwareproduktion. Uns fällt es oft nicht schwer, Software zu schreiben. Uns fällt es aber sehr
MehrÜ B U N G E N Z U V E R L Ä S S L I C H E E Z S A U F G A B E 5 : S O F T WA R E - E N T W U R F U N D -T E S T
A U F G A B E 5 : S O F T WA R E - E N T W U R F U N D -T E S T In dieser Aufgabe werden Sie einen abstrakten Datentyp zur Verwaltung einer Prioritätswarteschlange implementieren und testen. Sie können
MehrEnterprise JavaBeans Überblick: 8. Test-Driven Development. 8.1 Einleitung 8.2 Beispiel 8.3 Anwendung mit Eclipse und dem JBoss Application Server
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrAbschnitt 11: Korrektheit von imperativen Programmen
Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961
MehrModellgetriebene Entwicklung von Webanwendungen: eine erste Analyse
Modellgetriebene Entwicklung von Webanwendungen: eine erste Analyse 25. Oktober 2012 Taentzer Modellgetriebene Softwareentwicklung 59 Überblick Anforderungsanalyse auf zwei Ebenen: Analyse einer konkreten
Mehrxii 5.3 Debugging Einplanung der Fehlersuche in Produkt und Prozess Vorbereitung und Ausführung des Debugging
xi I Warum überhaupt testen? 1 1 Komplexe Systeme führen zu Fehlern... 3 1.1 Kommunikation.............................................. 3 1.2 Gedächtnis... 6 1.3 Fachlichkeit... 6 1.4 Komplexität... 7
MehrBeuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1
Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Parameter-Übergabe-Mechanismen in Java und in anderen Sprachen. 1. Methoden vereinbaren mit Parametern Wenn man (z.b. in Java) eine Methode
MehrSoftware Engineering II (IB) Testen von Software / Modultests
Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 16.05.2017 21:17 Inhaltsverzeichnis Programm-Tests.................................. 2 Ziele des Testens..................................
MehrÜberblick. Einleitung. Unit-Tests. JUnit. HelloWorld Beispiel. Praktische Beispiele. Referenzen
Testen mit JUnit 1 Überblick Einleitung Unit-Tests JUnit HelloWorld Beispiel Praktische Beispiele Referenzen 2 Einleitung Irren ist menschlich Überprüfung auf Knopfdruck Entwicklung richtiger Tests ->
Mehrhue13 January 30, 2017
hue13 January 30, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern
MehrUnitTest mit dem SQL-Developer Testgetriebene Entwicklung mit Oracle Werkzeugen
Testgetriebene Entwicklung mit Oracle Werkzeugen Thomas Papendieck, Consultant OPITZ-CONSULTING Bad Homburg GmbH Vodafone D2 GmbH. Alfred-Herrhausen-Allee 1, 65760 Eschborn, 02.11.2010 OPITZ CONSULTING
MehrRefactoring C# Legacy Code
Refactoring C# Legacy Code Stefan Lieser @StefanLieser http://refactoring-legacy-code.net http://er.jsc.nasa.gov/seh/13index.jpg Houston, we ve had a problem. Wandelbarkeit https://pixabay.com/de/chamäleon-hautnah-exotische-grün-1414084/
Mehr1. Zweckdes Dokuments
Testplanung Testplanung 1.Zweck des Dokuments 2.Testziele 3.Teststrategie 4. Inkrementeller Test 5. Dokumentation der Tests 6. Performance Test 7. Literaturreferenzen 1. Zweckdes Dokuments Dokumentation
MehrUnit Testing, SUnit & You
HUMBOLDT-UNIVERSITÄT ZU BERLIN MENSCH-TECHNIK-INTERAKTION ARBEITSGRUPPE SOFTWARETECHNIK (INSTITUT FÜR INFORMATIK) ARBEITSGRUPPE INGENEURPSYCHOLOGIE (INSTITUT FÜR PSYCHOLOGIE) Unit Testing, SUnit & You
MehrSoftwareentwicklungspraktikum Sommersemester 2007. Testdokumentation
Softwareentwicklungspraktikum Sommersemester 2007 Testdokumentation Auftraggeber Technische Universität Braunschweig
MehrInhaltsverzeichnis. Teil 1 Grundlagen der Objektorientierung 29
Vorwort von James Gosling, Sun Microsystems 15 Vorwort an Kursleiter 16 Vorwort des Übersetzers 24 Projekte, die in diesem Buch detailliert besprochen werden 25 Danksagungen 27 Teil 1 Grundlagen der Objektorientierung
MehrSoftware-Engineering Software-Management
Software-Engineering Software-Management 12.3 Unit-Tests mit JUnit - Wissen, was der Sourcecode macht! Lösung Prof. Dr. Rolf Dornberger Software-Engineering: 12.3 Unit-Tests mit JUnit 30.04.2006 1 12.3
MehrA very very very very short intro to. Testing
A very very very very short intro to Testing Testen ist Teil von V&V V&V Validierung und Verifikation Validierung Erstellen wir das richtige Produkt? Soll gewährleisten, dass das Softwaresystem die Kundenerwartungen
MehrSE Besprechung. Übung 6 Softwaretests
SE Besprechung Übung 6 Softwaretests SE, 15.12.09 Dustin Wüest Tutoren für Informatik IIa Modellierung Voraussetzung Informatik IIa (oder vergleichbar) erfolgreich besucht Aufgaben Korrektur der Aufgaben
MehrSoftwaretests Testgetriebene Entwicklung (TDD) vs wissenschaftliche Methode TDD Case Study Zusammenfassung
Antonia Bücklers Softwaretests Testgetriebene Entwicklung (TDD) vs wissenschaftliche Methode TDD Case Study Zusammenfassung - Antonia Bücklers 2 prüft und bewertet Software auf Erfüllung der spezifischen
MehrSOA Testing. Tobias Bosch OPITZ CONSULTING GmbH München
SOA Testing Tobias Bosch OPITZ CONSULTING GmbH München Schlüsselworte SOA, SOA Suite, OSB, Testing, Mock Einleitung SOA-Anwendungen sind verteilte Systeme und verwenden viele Schnittstellen, um zu kommunizieren:
MehrUnit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG
Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/
MehrSoftware - Testung ETIS SS05
Software - Testung ETIS SS05 Gliederung Motivation Was ist gute Software? Vorurteile gegenüber Testen Testen (Guidelines + Prinzipien) Testarten Unit Tests Automatisierte Tests Anforderungen an Testframeworks
Mehr14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch
Klassen (Java) vs. Records (Pascal) 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Pascal RECORDs in Pascal sind reine
MehrJUnit a Cook s Tour. Framework in Java Automatisierter Ablauf von Testfällen Testläufe kombinieren. Unterlagen als PDF auf der Übungsseite!
JUnit a Cook s Tour Ziel des Frameworks Framework in Java Automatisierter Ablauf von Testfällen Testläufe kombinieren Design des Frameworks Beginne bei Nichts Schritt für Schritt aus passenden Mustern
MehrKomponenten-basierte Entwicklung Teil 8: Einführung in Mocks
Komponenten-basierte Entwicklung Teil 8: Einführung in Mocks 15.11.14 1 Literatur und Web [8-1] Vigenschow, Uwe: Objektorientiertes Testen und Testautomatisierung in der Praxis. dpunkt, 2005 [8-2] Westphal,
MehrLiteratur und Web. Komponenten WS 2014/15 Teil 8/Mocks
Literatur und Web [8-1] Vigenschow, Uwe: Objektorientiertes Testen und Testautomatisierung in der Praxis. dpunkt, 2005 [8-2] Westphal, Frank: Testgetriebene Entwicklung mit JUnit & FIT. dpunkt, 2006 [8-3]
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE22-NutzungVonKlassen (Stand 28.09.2012) Aufgabe 1: Entwickeln Sie in Eclipse auf der Basis der vorgestellten Java-GUI-Klassen ein Java- Programm, das
MehrTutoraufgabe 1 (Verifikation):
Prof. aa Dr. M. Müller C. Aschermann, J. Hensel, J. Protze, P. Reble Allgemeine Die Hausaufgaben sollen in Gruppen von je 3 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet werden.
MehrKlausur Grundlagen der Programmierung
Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel
MehrKernprozess zur System- und Softwareentwicklung. Logische Systemarchitektur f 1. f 2 f 3. f 4 Funktion. Technische Systemarchitektur SG 1 SG 2 SG 3
Systems Engineering Systems Engineering ist die gezielte Anwendung von wissenschaftlichen und technischen Ressourcen! zur Transformation eines operationellen Bedürfnisses in die Beschreibung einer Systemkonfiguration
MehrFWP Komponentenorientierte Softwareentwicklung Test-Driven-Development mit Java
FWP Komponentenorientierte Softwareentwicklung Test-Driven-Development mit Java Hochschule München FK 07 SS 2009 Theis Michael - Senior Developer HVB Information Services GmbH März 2009 Grundlagen des
MehrFunktionales Testen. Software-Praktikum Andreas Zeller Universität des Saarlandes
Funktionales Testen Software-Praktikum Andreas Zeller Universität des Saarlandes Test-Taktiken Funktional black box Strukturell white box Tests basieren auf Test deckt soviel spezifiziertes Verhalten wie
MehrProgrammieren in Java
Programmieren in Java Vorlesung 06: Das Visitor Pattern Prof. Dr. Peter Thiemann (vertreten durch Luminous Fennell) Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg)
Mehr14. Java Klassen. Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung
275 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Klassen (Java) vs. Records (Pascal) 276 Pascal RECORDs in Pascal sind
Mehr7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.
7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.html) bietet leider nur begrenzte Verteilungsabstraktion Unterstützung
MehrSichtbarkeiten, Klassenmember und -methoden
Sichtbarkeiten, Klassenmember und -methoden Prof. Dr.-Ing. Thomas Schwotzer 11. November 2017 1 Einführung Wir haben uns mit Klassen und Objekten beschäftigt. Wir wissen nun, dass Objekte anhand von Klassen
MehrSoftwarequalität. Gabriele Taentzer Philipps-Universität Marburg. Sommersemester 2016
Softwarequalität Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2016 Organisation der LV Umfang: 6 SWS, 9 ECTS Punkte Veranstalter: Gabriele Taentzer, Stefan John Kontakt: taentzer@mathematik.uni-marburg.de,
MehrUnit Tests mit Junit 4. Dario Borchers
Unit Tests mit Junit 4 Dario Borchers Agenda Warum testgetriebene Entwicklung von Software? - Motivation Was ist testgetriebene Entwicklung? - Prozess der testgetriebenen Entwicklung - Arten von Tests
MehrTest-Driven Design: Ein einfaches Beispiel
Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms
MehrProgrammieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
MehrInformatik II. Übungsstunde 6. Distributed Systems Group, ETH Zürich
Informatik II Übungsstunde 6 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Besprechung der Vorlesung Uebungsbezogene Themen: Statisches & Dynamisches Type Checking Zeit zum Programmieren...
Mehr