Framework zur Unterstützung von Unit-Tests



Ähnliche Dokumente
JUnit (Version 4.x) Framework zur Unterstützung von Unit-Tests. Wir verwenden nicht JUnit 3.x. Ideen dahinter. Test-Methode

Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN)

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, , Berlin

Kurzanleitung zu. von Daniel Jettka

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS Lehrstuhl i9, Prof. Dr. T.

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

Versionsverwaltung mit SVN

Einführung in Subversion

Versionskontrolle mit Subversion

Quellcodeverwaltung mit SubVersion

Einführung in Subversion. Tutorium SWP

8. Dokumentenverwaltung mit CVS eine Einführung

PROJEKTVERZEICHNIS EINRICHTEN

Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

Software Engineering in der Praxis

Versionsmanagement mit Subversion

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Proseminar Unix-Tools CVS Daniel Weber & Zhen Zhang Betreuer: Volker Baier

Versionskontrolle mit Subversion

Subversion. von Stefan Arndt, Christian Autermann und Dustin Demuth. 5. November 2009

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Moodle aktuell halten mit Git

Informationen zur Installation und Nutzung von Subversion (SVN)

UE 2: Lexikalische Analyse (Scanner)

Subversion. Einstieg in die. Versionskontrolle

CVS. The open standard for version control. (Concurrent Versions System) Maik Zemann CVS

Subversion. 17. Oktober Subversion. Norbert Perk. Warum Versionsverwaltung? Wie funktioniert. Was ist Subversion? Subversion- Server.

Einfu hrung in Subversion mit TortoiseSVN

Versionsverwaltung. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009

Software Configuration Management (SCM)

Versionskontrollsysteme. Uwe Berger & Markus Dahms <bralug@bralug.de>

WinCVS Version 1.3. Voraussetzung. Frank Grimm Mario Rasser

git & git-flow Jens Sandmann Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow / 31

Programmiertechnik II

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

CVS-Einführung. Sebastian Mancke,

Wie benutzt man TortoiseSVN

SVN-Einführung für das SEP DS und CM. Julian Timpner, Stefan Brenner, Stephan Rottmann

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

BEDIENUNGSANLEITUNG FÜR LIEFERANTEN AUSSCHREIBUNG

Subversion als Werkzeug in der Software-Entwicklung Eine Einführung. Tobias G. Pfeiffer Freie Universität Berlin

Einzelplatz - USB-Lizenz

Testen mit JUnit. Motivation

Version 0.3. Installation von MinGW und Eclipse CDT

Beheben von verlorenen Verknüpfungen

Für die Verwendung des Terminal-Gateway-Service gelten folgende Mindestsystemvoraussetzungen:

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Praktikum Ingenieurinformatik (PI)

Versionsverwaltung mit git. Christoph Knabe FB VI

Einführung in die Informatik Tools

Stammzertifikat Importieren

Seminar. Bachelor Wirtschaftsinformatik

Versionsverwaltung für r Visual Studio.NET mit Subversion

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt.

Git. Dezentrale Versionsverwaltung im Team Grundlagen und Workflows. Rene Preißel Björn Stachmann. 2., aktualisierte und erweiterte Auflage

ArchivCam / MotionCam

Contents. Subversion Einrichten. Vorbereitung Folgende Tools werden benötigt. Ladet diese herunter und befolgt die Installationsanweisungen.

Mastermind. Testplan. Hochschule Luzern Technik & Architektur. Programmieren 2 FS12. Gruppe 10

Windows 8/8.1 RecImg-Manager

26. November EFS Übung. Ziele. Zwei Administrator Benutzer erstellen (adm_bill, adm_peter) 2. Mit adm_bill eine Text Datei verschlüsseln

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1

Software Qualität Übung 1

Internet Explorer Version 6

Medieninformatik Praktikum. Jens Rademacher

Bereitschafts Status System Konfigurations- und Bedienungsanleitung

Kurzanleitung zu XML2DB

Installation von NetBeans inkl. Glassfish Anwendungs-Server

LEHRSTUHL FÜR DATENBANKEN

Sourcecodeverwaltung

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar inkl. zusätzlichem Übungsanhang K-W81-G-UA

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

Sophos Anti-Virus. ITSC Handbuch. Version Datum Status... ( ) In Arbeit ( ) Bereit zum Review (x) Freigegeben ( ) Abgenommen

Applications Applets (eingeschränkte Rechte)

Firmware-Update, CAPI Update

Das Concurrent Versions System (CVS)

25 Import der Beispiele

SOFiSTiK AG Installationsanleitung

Versionsverwaltung mit CVS bzw. Subversion

Cockpit 3.4 Update Manager

Entwicklungswerkzeuge

Software Configuration Management (SCM)

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

ARAkoll 2013 Dokumentation. Datum:

Übung - Datenmigration in Windows XP

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck

MWF-Bore-Admin Version 1.0.7

Team- Entwicklung unter Eclipse

Software Configuration Management. Referat von Jens Zastrow Software Engineering Projekt WS 2001/2002

RGS Homepage Arbeiten im Administratorbereich (Backend)

Informationen zur Verwendung von Visual Studio und cmake

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

INSTALLATIONSANLEITUNG

Lizenzen auschecken. Was ist zu tun?

datenfabrik. Validieren von -Adressen 1

Transkript:

JUnit Framework zur Unterstützung von Unit-Tests Automatisierte Ausführung von Tests Ideen dahinter Testgetriebene Entwicklung: Erst testen, dann programmieren Alle Testfälle häufig ausführen (nach jeder Programmänderung) Jeder Testfall testet nur eine bestimmte Funktion Test-Klasse Abgeleitet von junit.framework.testcase Test-Methode Parameterlose Methode, deren Name mit test beginnt Vor und nach jeder Test-Methode wird setup() bzw. teardown() aufgerufen UE zu Übersetzerbau JUnit, Subversion 1

JUnit Mögliche Ergebnisse eines Testfalles Kein Fehler Failure Vom Tester vorausgesehener Fehlerfall Error Unerwarteter Fehlerfall Zu testendes Programm wirft eine Exception JUnit-Testfälle für MicroJava Etwa 150 Test-Methoden Für eigene Fortschrittskontrolle und für die Tutoren Failures führen zu Punkte-Abzügen Übungen mit Errors werden nicht korrigiert (= 0 Punkte) UE zu Übersetzerbau JUnit, Subversion 2

JUnit-Testfälle Basisklasse CompilerTestCase Initialisiert alle Compiler-Klassen Alle statischen Felder der Klassen Errors, Scanner, Parser, Tab und Code werden auf 0 bzw. null zurückgesetzt Garantiert wiederholbare Testfälle Verwaltet die erwarteten Ergebnisse Erwartete Fehlermeldungen: Erwartete Tokens: Erwartete Symboltabelle: Erwarteter Bytecode: Ruft den Parser bzw. Scanner auf expecterror(...) expecttoken(...) expectsymtab(...) expectcode(...) Vergleicht die tatsächlichen Ergebnisse mit den erwarteten Failure, wenn keine Übereinstimmung UE zu Übersetzerbau JUnit, Subversion 3

JUnit-Testfälle Gleiche Testfälle für alle Übungen Testfälle definieren, ab wann welche Funktionen gefordert sind Beispiel: expecterror(ex >= 4,...) Diese Fehlermeldung wird erst ab der 4. Übung erwartet Vor der 4. Übung kann der Fehler noch nicht überprüft werden Konfiguration Klasse ssw.mj.test.configuration Feld CURRENT_EXERCISE Aktuelle Übungsnummer Bei jeder neuen Übung anpassen Feld PRINT_ALL_OUTPUT Debug-Ausgabe aller Ergebnisse UE zu Übersetzerbau JUnit, Subversion 4

Tests Ausführen Compilieren des Compilers und der Testfälle: > javac -classpath.;junit.jar ssw/mj/*.java ssw/mj/symtab/*.java ssw/mj/codegen/*.java ssw/mj/test/*.java Ausführen aller Testfälle auf der Kommandozeile > java -cp.;junit.jar ssw.mj.test.alltests Starten der JUnit-Swing-Oberfläche > java -cp.;junit.jar junit.swingui.testrunner UE zu Übersetzerbau JUnit, Subversion 5

UE 2: Lexikalische Analyse (Scanner) MJ-Angabe.zip: Compilerklassen (Token.java, Errors.java, Gerüst von Scanner.java,...) MJ-Tests.zip JUnit-Testfälle Abgabe siehe Abgabeanleitung auf Homepage! elektronisch bis Mi, 26.10.2005, 20:15 alle zum Ausführen benötigten Dateien auf Papier bis Do, 27.10.2005, 08:15 nur Scanner.java Testabgabe durchführen Beliebige, kleine zip-datei abgeben UE zu Übersetzerbau JUnit, Subversion 6

Versionsverwaltungssystem Verwaltung von Quelltexten und Dokumenten Protokollierung der Änderungen Wiederherstellung eines alten Standes Archivierung von Releases Koordination mehrerer Entwickler Verwaltung paralleler Entwicklungszweige Pessimistic Revision Control Auschecken und Sperren, Verändern, Einchecken z.b. SourceSafe Optimistic Revision Control Auschecken, Verändern, Zusammenführen z.b. CVS, Subversion UE zu Übersetzerbau JUnit, Subversion 7

Repository Zentraler Speicher Projektdateien Zeitstempel und Benutzer Log-Meldungen Benutzer arbeitet auf lokaler Arbeitskopie Auschecken kopiert Dateien aus dem Repository Einchecken schreibt veränderte Dateien zurück Update aktualisiert die Arbeitskopie Kompakte Speicherung Änderungen zur letzten Revision Delta / Reverse Delta Branching, Tagging UE zu Übersetzerbau JUnit, Subversion 8

Subversion Open-Source-Versionsverwaltungssystem Nachfolger von CVS Versioniert Verzeichnisse und Umbenennungen Atomares Commit Client/Server-Architektur Billiges Branching und Tagging Effiziente Behandlung binärer Dateien Repository Berkeley DB FSFS http://subversion.tigris.org/ UE zu Übersetzerbau JUnit, Subversion 9

Wichtige Befehle Repository anlegen > svnadmin create --fs-type fsfs /path/to/repos Importieren von Dateien > svn import /tmp file:///path/to/repos -m "initial import" Durchsuchen > svn ls file:///path/to/repos Auschecken (Check out) > svn co file:///path/to/repos project Einchecken (Commit) > svn commit -m "changed some files" Aktualisieren auf letzte Revision (Update) > svn update UE zu Übersetzerbau JUnit, Subversion 10

Tools TortoiseSVN Erweiterung für den Windows Explorer http://tortoisesvn.tigris.org/ Subclipse Plugin für Eclipse http://subclipse.tigris.org/ RapidSVN Graphisches Front-End http://rapidsvn.tigris.org/ cvs2svn Konvertiert Repository von CVS nach Subversion http://cvs2svn.tigris.org/ UE zu Übersetzerbau JUnit, Subversion 11