Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011
|
|
- Minna Falk
- vor 7 Jahren
- Abrufe
Transkript
1 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011
2 1 Testen von Programmen 2
3 Übersicht Testen ist eine der wichtigsten, aber auch eine der Zeitaufwändigsten Arbeitsschritte der Softwareentwicklung. Wegen dem hohen Arbeitsaufwand wird im Bereich des Testens oft gespart, was jedoch häufig große Folgekosten durch die Fehlersuche und -Behebung zu einem späten Projektzeitpunkt verursacht. Dieses Kapitel soll einen Überblick über die verschiedenen Arten von Tests und eine Einführung in ein Framwork zum Durchführen von Unit-Test in Java, JUnit, geben.
4 Blackbox/Whitebox-Tests Unter einem Whitebox-Test versteht man einen Test, bei welchem der Tester genaue Informationen über die zu testende Komponente besitzt, d.h. mit der Struktur und Funktionsweise des Systems vertraut ist. Ein Blackbox-Test dagegen ist ein Test, bei dem nur die Schnittstellen nach Außen der Komponente oder des Systems bekannt sind, d.h. der Tester kennt die Struktur bzw. Funktionsweise des Systems nicht.
5 Testarten im Software-Entwicklungsprozess Unit-Test oder Modultest: Testen einer einzelnen fertig gestellten Systemkomponente Integrationstest: Test der Schnittstellen und des Zusammenwirkens mehrerer Systemkomponenten Systemtest: Test des vollständig integrierten Systems in der Zielumgebung gegen die Anforderungen Abnahmetest: Systemtest des Auftraggebers in der realen Einsatzumgebung und mit echten Daten
6 Testarten: Unit-Test
7 Testarten: Integrationstest Voraussetzung: Unit-Tests der beteiligten Komponenten ist erfolgt Aufgabe des Integrationstests: Tests der Schnittstellen und des Zusammenwirkens der Komponenten -> White-Box-Test Integrationsstrategien inkrementell: sukzessive Integration nach einer gewählten Reihenfolge nicht-inkrementell: big-bang oder geschäftsprozessorientiert
8 Testarten: Systemtest Voraussetzung: Integrationstest für das vollständig integrierte System ist abgeschlossen Aufgaben des Systemtests: Black-Box-Test des fertigen Systems gegen die festgelegten Qualitätsziele, beinhaltet Funktionstest Leistungstest Benutzbarkeitstest Sicherheitstest Interoperabilitätstest Installationstest Wiederinbetriebnahmetest
9 Unit-Tests: Ermittlung der Testfälle Im folgenden konzentrieren wir uns auf Unit-Tests. Die Frage ist, nach welchem Schema die Testfälle bestimmt werden können. Eine Möglichkeit ist, das Programm als Automaten darzustellen und daraus die Testfälle zu ermitteln bzw. zu generieren.
10 Kurze Einführung in die Automatentheorie Ein Computerprogramm kann oftmals auch als endlicher Automat beschrieben werden. Dieser besteht aus einem Startzustand, einem oder mehreren Endzuständen, beliebig vielen sonstigen zuständen sowie Übergängen zwischen den Zuständen. Die Darstellung eines solchen Automaten ist als Graph möglich. Beispiel -> Tafel! Wie können aus einem solchen Automaten Testfälle generiert werden?
11 Knoten vs. Kantenüberdeckung Bei der Knotenüberdeckung wird darauf geachtet, jeden Knoten mindestens einmal zu besuchen. Bei der Kantenüberdeckung wird jede Kante mindestens einmal durchlaufen. Kantenüberdeckung impliziert Knotenüberdeckung. (Warum?)
12 Testen von Grenzfällen Funktionen sind oft partiell oder abschnittweise definiert. In diesem Fall sollten die Grenzwerte auf jeden Fall getestet werden! Beispiel: Wurzelfunktion, 0 und -1 sind Testkandidaten.
13 Unit-Tests allgemein Unit-Test-Realität (häufig) Ziele es wird gar nicht getestet es wird mit println etc. getestet Tests aktivieren/deaktivieren im Code aufwändige Testauswertung Tests müssen modular sein außerhalb der zu testenden Klasse Tests müssen sich selbst auswerten Testprogramm vergleicht tatsächliche Ergebnisse mit erwarteten Ergebnissen
14 Überblick JUnit Open-Source-Framework in Java, für Java Autoren: Kent Beck, Erich Gamma (1998) aktuell: Version (April 2010) Achtung: Architektur hat sich von JUnit3.8.x zu JUnit4.0 stark verändert, bei Literaturrecherche darauf achten! Prinzipien von JUnit: Tests sind separat erstellbar frei kombinierbar wiederholt anwendbar automatisiert durchführbar automatisch auswertbar
15 Testfälle erstellen Testfall: separate Test-Methoden mit Konvention test<methodenname> Zusammenfassung zusammengehöriger Testfälle in einer Test-Klasse optional: Setup- und TearDown-Methoden, die vor bzw. nach jedem Testfall ausgeführt werden zum Setzen von Umgebungsparametern, Erzeugen von Testdaten und Freigeben von Ressourcen Konvention setup() bzw. teardown() darüber hinaus jeweils eine Setup- und TearDown-Methode möglich, die nur einmal pro Testklasse ausgeführt werden
16 Assertions Ausdrücke, die immer wahr sein müssen wenn nicht, meldet das Framework einen Fehler für den aktuellen Testfall... und macht mit dem nächsten Testfall weiter Varianten (Auswahl) assertequals(... expected,... actual) Gleichheit der Parameter hinsichtlich ëquals()methode viele überladene Varianten (double, long, Object, delta, message) asserttrue(boolean b)und assertfalse(boolean b) assertsame(object expected, Object actual) Identität: Parameter verweisen auf das selbe Objekt... für alle Assertions immer auch Varianten mit String message als zusätzlichem ersten Argument
17 Beispiel (1/2) p u b l i c c l a s s Euro { p r i v a t e f i n a l double amount ; p u b l i c Euro ( double amount ) { t h i s. amount = amount ; } p u b l i c double getamount ( ) { r e t u r n t h i s. amount ; } p u b l i c Euro add ( Euro summand) { r e t u r n new Euro ( t h i s. amount + summand. getamount ( ) ) ; }... }
18 Beispiel (2/2) p u b l i c c l a s s EuroTest { p r i v a t e Euro two p u b l i c v o i d setup ( ) { two = new Euro ( ) ; p u b l i c v o i d testamount ( ) { a s s e r t T r u e ( == two. getamount ( ) ) ; p u b l i c v o i d t e s t A d d i n g ( ) { Euro sum = two. add ( two ) ; Euro t e s t = new Euro ( ) ; a s s e r t T r u e ( "sum", t e s t. getamount()==sum. getamount ( ) ) ; } }
19 Testen von Exceptions Es ist auch möglich, das Auftreten von erwarteten Exceptions zu testen: p u b l i c c l a s s EuroTest { p u b l i c v o i d testnegativeamount ( ) { t r y {Euro minustwo = new Euro ( ) ; f a i l ( " Should r a i s e I l l e g a l A r g u m e n t E x c e p t i o n " ) ; } c a t c h ( I l l e g a l A r g u m e n t E x c e p t i o n e x p e c t e d ) {} } Was muss in der Klasse Euro verändert werden, damit dieser Test fehlerfrei läuft?
20 Testen privater Methoden Private Methoden können mit JUnit nicht getestet werden (warum?) Ist es überhaupt sinnvoll, private Methoden zu testen? Falls ja, Zugriff über Java Reflection möglich
Programmieren I. Übersicht. Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 2 Übersicht Testen ist eine der wichtigsten, aber auch eine der Zeitaufwändigsten Arbeitsschritte der Softwareentwicklung.
MehrTest-driven development JUnit-Test. Lars Varain
Test-driven development JUnit-Test Lars Varain Inhalt Test-driven Development (TDD) Junit4 Beispiel Inhalt Test-driven Development (TTD) Warum TDD? Zyklus Ausnahmebehandlung Junit4 Beispiel Inhalt Test-driven
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:
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
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
MehrDas Test-Framework JUnit ETIS SS04
Das Test-Framework JUnit ETIS SS04 Gliederung Motivation TestFirst Grundlagen Assert TestCase Lebenszyklus TestCase UML-Diagramm TestCase TestSuite Zusammenfassung 2 Motivation (I) Kostspielige Folgen
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?
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 mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls
Testen von Java-Code mit JUnit ÿmotivation ÿjunit-testklassen ÿjunit-testfälle ÿstruktur eines Testfalls Henning Wolf APCON Workplace Solutions GmbH wolf@jwam.de Motivation: Werkzeugunterstützung für Tests
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.
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
MehrProgrammierung 2 Studiengang MI / WI
Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung
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
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
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?
MehrKurzanleitung JUnit I S A. 1 Grundlagen. 1.1 Begriffsdefinitionen. 1.2 Empfehlungen
nstitut für SoftwareArchitektur Fachbereich MN Fachhochschule Gießen-Friedberg nstitut für SoftwareArchitektur Kurzanleitung JUnit JUnit ist ein Testframework zum Testen von Java-Code. Es eignet sich besonders
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
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.
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
MehrTesten mit JUnit. Martin Wirsing. Ziele. in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang
Testen mit JUnit Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang 12/04 2 Ziele Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen 3 Testen Da
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
MehrSoftware Engineering in der Praxis
Software Engineering in der Praxis Praktische Übungen Dirk Wischermann Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 18. Dezember 2006 Inhalt Nachlese
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
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
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ß
MehrSoftware Engineering in der Praxis
Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Funktionales Testen 1 / 17 Funktionales Testen Matthias Meitner Marc Spisländer Lehrstuhl für Software Engineering
MehrOOSE_02E Testen mit BlueJ/JUnit 4
OOSE_02E Testen mit BlueJ/JUnit 4 Lehrstuhl Softwaretechnologie, Dr. Birgit Demuth Sommersemester 2018 Vorgehen beim Unit-Test allgemein 1. Testfälle ausdenken / Testfalltabellen erstellen 2. Testfälle
MehrOOSE4 Testen mit BlueJ/JUnit 4
OOSE4 Testen mit BlueJ/JUnit 4 Lehrstuhl Softwaretechnologie, Dr. Birgit Demuth Sommersemester 2016 Vorgehen beim Unit-Test allgemein 1. Testfälle ausdenken / Testfalltabellen erstellen 2. Testfälle nach
MehrEffizientes Programmieren
Effizientes Programmieren Praktikum (14.06.2016) Christopher Pietsch Agenda 1 2 3 4 5 6 1 / 32 (14.06.2016) Teil 1 von Softwareentwicklungsmethoden 2 / 32 (14.06.2016) Methodenlose Softwareentwicklung
MehrProgrammierung 2 Studiengang MI / WI
Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung
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/
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
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
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
MehrTesten von Softwaresystemen. 13. Januar 2015
Testen von Softwaresystemen 13. Januar 2015 Überblick Was umfasst das Testen von Software? Warum sollte man Software testen? Motivation für Software-Tests Wie sollte man Software testen? Grundlegende Teststrategien
MehrProgrammentwicklung in Java: Javadoc & JUnit
Java: Kapitel 6 Programmentwicklung in Java: Javadoc & JUnit Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 6 Code-Dokumentation mit Javadoc
MehrAllgemein: Klassen testbar machen. 5. Mocking. Mocks programmieren. Zusammenspiel von Klassen testen
5. Mocking Allgemein: Klassen testbar machen Wie werden Klassen testbar Entwicklung von Mocks mit der Hand Einführung in JMock Spezifikation von Mocks mit JMock Wann ist Mocking-Werkzeug sinnvoll Literatur:
MehrKapitel 6.2 Testwerkzeuge
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 6.2 Testwerkzeuge SWT I Sommersemester 2009 Walter F. Tichy Andreas Höfer David J. Meder Testwerkzeuge der Software-Amateure Testen
MehrAutomatisierte Modultests mit JUnit
Vorlesung Softwaretechnologie 2007/8 Dr. Günter Kniesel R O O T S Kapitel 9b Automatisierte Modultests mit JUnit Warum automatisierte Tests? Automatisierte Modultests mit JUnit Test-first und Continuous
MehrProgrammiermethodik. Übung 3
Programmiermethodik Übung 3 Wintersemester 2011 / 12 Fachgebiet Software Engineering george@uni-kassel.de Agenda Besprechung HA2 JUnit4 Implementierung Klassendiagramm Klassen Attribute Methoden Assoziationen
MehrTesting & Logging DBS. Tobias Lingelmann SEP
Testing & Logging SEP 2018 Tobias Lingelmann 2018-04-24 DBS Wissenschaftliche Betreuer: Daniel Kaltenthaler, Johannes Lohrer Verantwortlicher Professor: Prof. Dr. Peer Kröger Inhalt Testing Übersicht JUnit
MehrSoftwaretests. verschiedene Testformen Testen im V-Modell: Anwendungsszenarien. Tests. Tests. Tests. Anforderungs- definition. Abnahmetest.
Softwaretests verschiedene Testformen Testen im V-Modell: Anforderungs- definition Anwendungsszenarien Abnahmetest Grobentwurf Tests Systemtest Feinentwurf Tests Integrationstest Implementierung Tests
MehrSystematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015
Systematisches Testen der Funktionalität von Softwaresystemen 17. Juni 2015 Überblick Semantische Qualität von Software Teststrategien und prinzipien Testgetriebene Softwareentwicklung Welche Arten von
Mehr1. Einführung und Unit Testing Programmieren / Algorithmen und Datenstrukturen 2
1. Einführung und Unit Testing Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Organisation Unit Testing
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
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
MehrTestgetriebene Entwicklung mit JUnit
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Testgetriebene Entwicklung mit JUnit Testgetriebene Entwicklung Test/Code/Refactor-Zyklus: Motiviere jede Verhaltensänderung am Code durch
MehrKurzanleitung JUnit. 1 Grundlagen. 1.1 Begriffsdefinitionen. 1.2 Empfehlungen
JUnit ist ein Testframework zum Testen von Java-Code. Es eignet sich besonders gut zum automatisierten Testen und ist ein wichtiges Hilfsmittel des Extreme Programmings, bei dem der Test-First-Ansatz angewendet
MehrKlassen mit Instanzmethoden
Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 3.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 3.12.07
MehrInfo: Standard DO-178B. 5. Mocking. Zusammenspiel von Klassen testen. Allgemein: Klassen testbar machen
Info: Standard DO-178B Zertifizierung Federal AviationAdministration (FAA), Software für Luftverkehrssysteme durch Standard DO-178B für requirement-based Tests and Code Coverage Analyse DO-178B-Levels
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
Mehr1. Einführung und Unit Testing Programmieren / Algorithmen und Datenstrukturen 2
1. Einführung und Unit Testing Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Organisation Unit Testing
MehrTESTEN OBJEKTORIENTIERTER PROGRAMME MIT JUNIT
TESTEN OBJEKTORIENTIERTER PROGRAMME MIT JUNIT Praktikumsaufgabe zur Lehrveranstaltung Softwaretechnologie II (WS 00/01) Professur Softwaretechnologie TU Dresden, Fakultät Informatik DANIEL SCHUSTER 29.01.01
MehrTestgetriebene Entwicklung
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Testgetriebene Entwicklung Testgetriebene Entwicklung Test/Code/Refactor-Zyklus: Motiviere jede Verhaltensänderung am Code durch einen automatisierten
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 ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST
SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST Gliederung 2 0. 1. 2. 3. Vorstellung Testvorbereitungen Planungsphase Definitionsphase Implementierungs-, Abnahme-und Einführungsphase Testphasen
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,
MehrRe-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
MehrTesten mit JUnit. Martin Wirsing. Ziele. Arten von Tests. Testen. Whitebox-Test. Unit-Test
2 Ziele Testen mit JUnit Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang 12/04 3 4 Testen
MehrTesten mit JUnit. Martin Wirsing. Ziele. Arten von Tests. Testen. Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen
2 Ziele Testen mit JUnit Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang 12/04 3 4 Testen
MehrUnit Tests und Fehlersuche
Unit Tests und Fehlersuche SE 1 - Softwareentwicklungspraktikum Test Deadline! Sinnvolle Tests kompilierbar im CVS d.h. Schnittstellen zu Strategiemethoden etc. schon erstellen Kommentieren! Besser ein
MehrDas automatisierte Testen mit JUnit
Das automatisierte Testen mit JUnit SWT Seminar (SS03) Ausgearbeitet von Sundui Baatarjav Am Fachbereich Informatik der TU-Berlin EINLEITUNG 3 JUNIT - FRAMEWORK 4 Aufbau und Struktur 4 TestCase 4 Assert
MehrTesten mit JUnit. Martin Wirsing. Ziele. Testen. Arten von Tests. Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen
2 Ziele Testen mit JUnit Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen Martin Wirsing in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang http://www.pst.informatik.uni-muenchen.de/lehre/ws0506/infoeinf/
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
MehrLiteratur und Web. Komponenten WS 2014/15 Teil 6/JUnit
Literatur und Web [6-1] Vigenschow, Uwe: Objektorientiertes Testen und Testautomatisierung in der Praxis. dpunkt, 2005 [6-2] Westphal, Frank: Testgetriebene Entwicklung mit JUnit & FIT. dpunkt, 2006 [6-3]
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
MehrSoftware Engineering Test Automatiserung und Junit, Test Driven ( test first) Development
Software Engineering Test Automatiserung und Junit, Test Driven ( test first) Development Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik Prof. A. Müller, HS KL Software
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:
MehrPT2. Unit06: Modultests & JUnit. Sven Köhler Hasso-Plattner-Institut
PT2 Unit06: Modultests & JUnit Sven Köhler Hasso-Plattner-Institut 2018-06-05 [https://xkcd.com/1700/] Wie erreichen wir Vertrauen in die funktionale Korrektheit von Software? (schon vor der Auslieferung)
MehrKomponentenbasierter
Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten
MehrFunktionales Testen. Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg
Funktionales Testen Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Funktionales Testen 1 / 15 1 Inhalt
MehrTesten Prinzipien und Methoden
Testen Prinzipien und Methoden ALP 2 SS2002 4.7.2002 Natalie Ardet Definition Im folgenden gilt: Software = Programm + Daten + Dokumentation Motivation Software wird immer mehr in Bereichen eingesetzt,
MehrProgrammierpraktikum Java Entdecken. Merkblatt 3
Technische Universität München Fakultät für Informatik Prof. Dr. Helmut Seidl Michael Petter Melanie Dietz Raphael Geissler SS 2005 Programmierpraktikum Java Entdecken 1 extreme Programming Merkblatt 3
MehrTestphase. Das Testen
Testphase VIS Projekt Freie Universität Berlin N.Ardet - 17.4.2001 Das Testen Testen ist das Ausführen eines Software- (Teil)systems in einer definierten Umgebung und das Vergleichen der erzielten mit
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-driven development
MehrKomponenten-basierte Entwicklung Teil 6: Einführung in JUnit
Komponenten-basierte Entwicklung Teil 6: Einführung in JUnit 31.10.14 1 Literatur und Web [6-1] Vigenschow, Uwe: Objektorientiertes Testen und Testautomatisierung in der Praxis. dpunkt, 2005 [6-2] Westphal,
MehrNTB Druckdatum: 31.03.13 InI I
TESTING Methoden der Software-Prüfung Definition Testen ist ein wesentlicher Teil im Qualitätsmanagement von Projekten der Softwareentwicklung Ziel Messen der Qualität des Softwaresystems Um den wirtschaftlichen
MehrEinführung in die testgetriebene Entwicklung (TDD)
Fachbereich Mathematik und Informatik Institut für Informatik Einführung in die testgetriebene Entwicklung (TDD) Michael Prüm Seminar Beiträge zum Software Engineering 28.03.2013 1 / 55 Gliederung 1. Motivation
MehrTestdokument (Universität Paderborn, Softwaretechnikpraktikum SS2006)
Testdokument (Universität Paderborn, Softwaretechnikpraktikum SS2006) Alles, was in dieser Schriftart gesetzt ist, dient nur zur Erläuterung und sollte im fertigen Dokument nicht mehr enthalten sein! Projekt:
MehrSemesterprojekt Semantic Text Browsing. Ulf Leser, Philippe Thomas (, Lars Döhling)
Semesterprojekt Semantic Text Browsing Ulf Leser, Philippe Thomas (, Lars Döhling) Testing Was ist ein Test? Warum testen wir? Arten von Tests JUnit: Testing in Java Best Practises Test driven development
MehrKomponentenbasierter Taschenrechner mit CORBA
Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten
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
MehrTesten mit JUnit. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03
Testen mit JUnit Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen 3 Testen Da die meisten Programme
MehrProgrammierprojekt. Anne0e Bieniusa Sommersemester 2014
Programmierprojekt Anne0e Bieniusa Sommersemester 2014 Phasen der So;ware- Entwicklung Planungsphase DefiniConsphase Entwurfsphase ImplemenCerungsphase Testphase Wasserfall- Modell Einführungs- und Wartungsphase
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
MehrContinuous Test Server. kontinuierliche Fachtests Konstantin Diener COINOR AG
Continuous Test Server kontinuierliche Fachtests Konstantin Diener COINOR AG Ihr Referent Neuer Name, gleicher Inhalt Produktinnovationen Marktveränderungen Regulatorik Technologieinnovationen Strategie
MehrKapitel 10b Test-Automatisierung
Vorlesung Softwaretechnologie Wintersemester 2010 R O O T S Kapitel 10b Test-Automatisierung Stand: 24.1.2011 Warum automatisierte Tests? Automatisierte Modultests mit JUnit Test First Development und
MehrFachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012
Testen Tutorial im Rahmen des Software(technik)praktikums SS 2012 Grundlagen (1) Software ist ein fundamentales Element in der Softwarequalitätssicherung Software wird am häufigsten eingesetzt Viele Organisationen
MehrJUnit. HierarchicalContextRunner. Mehr Struktur. TDD. Clean Code. Verantwortung. Skills. Namics. Stefan Bechtold. Principal Software Engineer.
JUnit. HierarchicalContextRunner. Mehr Struktur. TDD. Clean Code. Verantwortung. Skills. Stefan Bechtold. Principal Software Engineer. 16. Oktober 2014 Aus dem Alltag eines Entwicklers Ein typischer (Unit-)
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
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
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
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 10.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
Mehr"Spezifikationsbasierter Softwaretest" Test mit Matlab/Simulink/Stateflow
"Spezifikationsbasierter Softwaretest" Test mit Matlab/Simulink/Stateflow Übersicht Überblick über Matlab-Produktfamilie Systematischer Test Effektive teststrategie für den modell-basierten test Testverfahren
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrMarkus Wichmann. Testen von Java Code mit. JUnit
Markus Wichmann Testen von Java Code mit JUnit Demotivation... Am Anfang war der Zeitdruck... Hilfe, ich habe doch keine Zeit zum Testen! Ich schreibe einfach keine Tests, dadurch werde ich schneller fertig
MehrBI für Testmanagementtools am Beispiel von QMetry
BI für Testmanagementtools am Beispiel von QMetry Daniel Geppert Seminar Seminar Business Intelligence und Data Mining www.verifysoft.com 16. Januar 2013 Übersicht 2 22 Einführung Warum Software Testen?
Mehr