Testen mit JUnit. Seminar Arbeit von Wang Jian, Ia00. Fachhochschule Aargau Departement Technik Studiengang I Betreuender Dozent: Prof. Dr. D.
|
|
- Helge Weiner
- vor 8 Jahren
- Abrufe
Transkript
1 Testen mit JUnit Seminar Arbeit von Wang Jian, Ia00 Fachhochschule Aargau Departement Technik Studiengang I Betreuender Dozent: Prof. Dr. D. Gruntz Windisch, 12. Februar 2003 Jian Wang, Ia00 11.Feb.2002 Seite 1/15
2 Inhaltverzeichnis Abstract... 3 Einleitung Aufbau des Frameworks JUnit Kochrezept mit Eclipse Installation von JUnit Ampel-Project Setup Testfälle Schreiben Simple Test Modell Der erste Testlauf Fixture Modell TestSuite Modell... 9 Schluss Anhang (Source-Code des Beispiels) Literaturverzeichnis Jian Wang, ia00 11.Feb.2002 Seite 2/15
3 Abstract JUnit framework is the de facto standard unit testing API for Java development, which makes it possible, to write and run-repeatable tests easily. JUnit tests do not require human judgment to interpret, the test results are verified by a comprehensive assertion facility provided by the framework. One can also let many of tests run at the same time. Being integrated in development tools, it allows executing test cases as part of the build process, therefore along the coding progress, programmers can quickly catch the new bugs with tests, and fix them. JUnit is so easy to learn that with a remarkably small investment developing software becomes faster, more reliable, more predictable, and less stressing. Jian Wang, Ia00 11.Feb.2002 Seite 3/15
4 Einleitung Software Bugs kosten uns viel: Zeit, Geld und Frust. Wie kann man dies vermeiden? Die Antwort weiss jeder Programmierer: Der erstellte Code muss laufend getestet werden. Aber wenige tun es, weil sie sich zu sehr beeilen müssen. Dies führt aber bald in einen Teufelskreis: Je grösser der Zeitdruck, desto weniger Tests werden geschrieben. Je weniger Tests geschrieben werden, desto unstabiler wird der Code sein. Je unstabiler der Code ist, desto mehr Fehlermeldungen werden vom Kunden beanstandet. Umso unproduktiver arbeitet der Programmierer. Je unproduktiver der Programmierer arbeitet, desto grösser wird der Zeitdruck. extreme Programming Um diesen Teufelskreis entgegenzuwirken fördert Extreme Programming(XP) die Durchführung von Unit- Tests und macht diese zu einer wichtigen Tätigkeit im Software-Entwicklungszyklus. XP ist ein leichtgewichtiger Entwicklungsprozess, welche dem Kunden die volle Macht über Richtung und Richtungswechsel eines Projektes zurückgibt. Auch entfallen administrativ schwerfällige Analysen und die eigentliche Arbeit kann auf die Code-Erstellung konzentriert werden. Ein wichtiger Punkt in XP ist das schnelle Feedback, ob unser Code das tut, was er tun soll. Dies wird mit umfangreichen Tests auf zwei Ebenen erreicht. Unit Tests auf Komponenten-Ebene sichern die Qualität der eigenen Software und die der Kollegen. Akzeptanztests auf Gesamtprojekt-Ebene kontrollieren die Funktionalität des Gesamtsystems aus Sicht der Anwender. Der gute Ansatz in der Praxis für ein schnelles Feedback auf der Komponenten-Ebene ist die Entwicklung in kleinen Iterationsschritten: Ein wenig codieren, ein wenig testen, ein wenig codieren, ein wenig testen. Die nicht automatisierte Ausführung, Interpretation und Analyse der einzelnen Unit Tests ist nicht denkbar. Schreiben der Automatisierten Tests Ein allgemeiner Weg Test-Fälle zu schreiben ist eine main() Methode zu erzeugen. Zu Beginn werden die Klassen instanziert. Die Methoden der Klassen werden aufgerufen, die Rückgaben werden typischerweise mit System.out.println() auf dem Bildschirm angezeigt. Man prüft danach, ob diese Ausgaben mit den Erwartungen übereinstimmen. Diese Testmethode hat Beschränkungen: 1.Es gibt keine vollständige Automatisierung. Das Ergebnis von jedem Testablauf muss manuell interpretiert und analysiert werden. 2.Der Erfolg oder Misserfolg der Testausführung ist nicht auf einen Blick erkennbar. 3.Es können nur einige wenige Klassen auf einmal getestet werden. 4.Ein Programm mit zu vielen Print-Out-Statements verursacht die unübersichtlichen und hässlichen Scroll Blindness. Alle diese Nachteile versucht JUnit Framework zu beheben. Dieses Framework zur Automatisierung von Unit Tests in Java wurde ursprünglich von Kent Beck und Erich Gamma entwickelt und wird als Open- Source-Projekt von Sourceforge weiterentwickelt. Mittlerweile ist JUnit zum Quasistandard als Java-Unit- Testing-Werkzeug geworden, und in vielen IDEs eingebunden wie z.b. Eclipse, Forte, JBuilder, Together etc. In diesem Bericht werden wir zuerst die Architektur des JUnit Frameworks betrachten. Anhand eines Beispiels werde ich noch die grundlegenden Arbeitsschritte, wie man Testfälle mittels Junit und Eclipse schreiben kann, illustrieren. Jian Wang, ia00 11.Feb.2002 Seite 4/15
5 1. Aufbau des Frameworks JUnit Framework ist ein grossartig Design-Pattern-intensives Beispiel. Die Abbildung 1 zeigt einen Überblick über die Kernpatterns im Framework. Wir werden aber hier nicht auf alle Details eingehen, sondern nur auf die aus der Benutzersicht wichtigsten Punkte. Das Interface Test und die zwei Klassen, TestCase und TestSuite zusammen haben das Composite-Pattern realisiert. Dieses Pattern ermöglicht dem Programmierer, viele unterschiedliche Testfälle leicht zusammenstellen und gleichzeitig laufen zu lassen. Test: Composite(Component). Ist das Interface, wo alle Typen von Unit-Test-Klassen implementieren müssen. Die Implementierungs-Klassen im Framework sind TestCase und TestSuite. TestCase: Composite(Leaf). Ist die zentrale Abstraktklasse, von welcher die User-Definierte Testfälle-Klassen erweitern können. TestSuite: Composite(Composite). Enthält eine Zusammenstellung von Test Objekten: TestCase, andere TestSuite oder die Benutzer eigene Implementation von dem Interface Test oder alle mögliche Kombinationen davon. TestResult:Collecting Parameter. Akkumuliert das Ergebnis von jedem Testablauf, wie Failures und Errors. Sie ist ein Erweiterungspunkt des Frameworks. Benutzer können weitere TestResult schreiben, um eigene Interpretation von Ergebnis zu definieren. Abb. 1 JUnit Patterns Übersicht Jian Wang, Ia00 11.Feb.2002 Seite 5/15
6 2. JUnit Kochrezept mit Eclipse Nun wie verwendet man Junit? Um die Arbeitsweise besser zu beleuchten, nehme ich ein AmpelModell als Beispiel. Das AmpelModell hat drei Lichter: Rot, Gelb und Grün. Durch das Drücken eines Knopfs auf dem GUI, schaltet die Ampel zyklisch in der Folge von rot, rot + gelb, grün, gelb und wieder rot um. Die Klasse hat folgende Methoden: public boolean getred(); public boolean getyellow(); public boolean getgreen(); public void setred(boolean b); public void setgreen(boolean b); public void setredyellow(boolean b); public void setyellow(boolean b); public void step(); // prüft ob das Rot-Licht an ist // prüft ob das Gelb-Licht an ist // prüft ob das Grün-Licht an ist // setzt die Ampel in rot // setzt die Ampel in grün // setzt die Ampel in rot+yellow // setzt die Ampel in gelb // schaltet die Ampel um public void addpropertychangelistener(propertychangelistener l); Beginnen wir ganz am Anfang - bei der Installation Installation von JUnit Die jeweils aktuelle JUnit-Version kann man von herunterladen. In seinem ZIP-Archiv werden ausser der benötigten JAR-Datei src.jar auch noch Beispiele und Tests für das Framework selbst geliefert. Dann in Eclipse 1.Lege neues Java-Projekt junit an. 2.File Import..., Zip file, Browse..., src.jar wählen. 3.Die nötige Packages wie in der Abb.2 gezeigt wählen: junit.extensions, junit.framework, junit.runner und junit.textui. 4.Wähle das src Verzeichnis von der junit- Projekt als die Destination for imported resources. Und Finish drücken. Abb. 2 JUnit Packages zu importieren 2.2 Ampel-Project Setup Lege ein neues Java-Projekt ampel für unser Beispiel an. In 'File Properties', das Projekt junit in 'Java Build Path Projects' übernehme. Siehe Abb. 3. Abb. 3 JUnit im Build Path zu übernehmen 2.3 Testfälle Schreiben Unter Umstände kann man die Testfällen-Gestaltung unterschiedlich strukturieren. Hier werden die drei meist gebrauchten Arten beschrieben. 1. Simple Test Modell 2. Test Fixture Modell 3. Test Suite Modell Jian Wang, ia00 11.Feb.2002 Seite 6/15
7 2.3.1 Simple Test Modell Bei 'Simple Test Modell' ist ein Testfall zu schreiben wie der Name sagt sehr einfach: 1. Generiere eine Subklasse von Junit.framework.TestCase. 2. Erstelle eine oder mehrere public void parameterlosen Test-Methoden. Damit diese Methoden von JUnit automatisch aufgegriffen werden, müssen ihre Namen mit dem Prefix, test beginnen. 3. Um die Ergebnisse zu verifizieren, stehen in JUnit zahlreiche Assertion-Facilities zur Verfügung. Wir schreiben jetzt einen Testfall, in dem wird die erste Anforderung unseres Beispiels überprüft, wobei ein neues AmpelModell-Objekt immer mit dem Zustand rot beginnen soll: import junit.framework.*; public class AmpelModellSimpleTest extends TestCase { public void testnewampel() { AmpelModellSimple a = new AmpelModellSimple(); asserttrue(a.getred()); assertfalse(a.getyellow()); assertfalse(a.getgreen()); Die Methode asserttrue() überprüft zur Laufzeit den boolean-ausdruck. Ergibt sich der Wert als false, so bricht der Testfall an dieser Stelle ab, ein Failure wird registriert und der nächste Test, falls vorhanden, wird gestartet. Der Name der Testklasse setzt sich per Konvention aus dem Namen der Zielklasse und der Endung Test zusammen. So kann das automatisierte Erkennen und eventuelle Entfernen von Testklassen erleichtert werden Der erste Testlauf Lassen wir nun diesen Testfall laufen beim Wählen des 'Run As JUnit Test' im Hauptmenü. Der JUnit View signalisiert mit einem roten Balken mit einer Reihe von Fehlern. Oben im Fenster wird die Anzahl der durchgeführten Tests, der dabei geworfenen Java-Exceptions sowie der fehlgeschlagenen Testfälle angezeigt. Im mittleren Bereich des JUnit Views findet man unter dem Reiter 'Failures' die Liste der fehlgeschlagenen Tests. Der Reiter 'Hierarchy' gibt eine Übersicht aller durchgeführten Tests. Der untere Bereich 'Failure Trace' zeigt den Call Back beim Ausführen fehlerhafter Test an. JUnit unterscheidet zwischen Failure und Error. Das Vorkommen eines Failures ist vorauszusehen, und wird mit der Assertions kontrolliert. Errors sind unerwartete Probleme wie zum Beispiel eine NullPointerException. Unter Failure Trace-Bereich in Abb. 4 ist die Fehlermeldung, Abb.4 JUnit View (asserttrue) die von der Methode asserttrue() ausgelöst wurde, nicht gerade sehr hilfreich. Wenn wir anstatt eine andere Methode assertequals() wie im folgenden Beispiel verwenden, bekommen wir einen JUnit View wie in Abb. 5 aufgezeigt. public void testnewampel() { AmpelModell a = new AmpelModell(); Jian Wang, Ia00 11.Feb.2002 Seite 7/15
8 assertequals( true, a.getred()); assertequals( false, a.getyellow()); assertequals( false, a.getgreen()); Bei der Fehlermeldung wird jetzt die Fehlerursache genauer aufgeführt (Abb. 5): expected: <true> but was: <false> Abb.5 JUnit View (assertequals) mit genauer Fehlermeldung Für die weiteren Assertion-Facilities, kann man in der JUnit API Dokumentation nachschlagen. Nachdem wir alle fehlerhaften Implementierungen korrigiert haben, signalisiert JUnit View dies mit einem grünen Balken Fixture Modell In der Praxis ist es oft so, dass wir eine Menge von Tests haben, die sich auf dasselbe oder ein ähnliches Set von Objekten beziehen. Um das Duplizieren des Codes zur Initialisierung dieser Objekte zu vermeiden, können sie in eine so genannte Test-Fixture zusammen erstellt werden. Jeder Test kann dann eigene, leicht unterscheidende Nachrichten oder Parameter an die Test-Fixture geben, und die unterschiedliche Ereignis kontrollieren. JUnit bietet eine Möglichkeit, den Code, der zur Erzeugung der Fixture benötigt wird, in die Methode setup() auszulagern. Nach dem Ausführen eines Tests Ressourcen wie zum Beispiel eine geöffnete Datei, Datenbank-Verbindungen können in einer Methode teardown() freigegeben werden. Der Lebenszyklus eines Testfalls läutet folgendermassen ab: 1. setup() wird ausgeführt. 2. eine Testmethode wird aufgegriffen. 3. teardown() wird aufgerufen. 4. wiederholt die obere Schritten für jede Testmethode. Dadurch wird gewährleistet, dass die Veränderungen, die ein Testfall auf Objekte der Fixture hat, keine Auswirkungen in einem anderen Testfall zeigen. Als Beispiel erweitern wir die AmpelModell-Klasse so, dass sie in einem GUI benutzt werden kann. Dazu muss die Möglichkeit bestehen, Änderungen des internen Zustands zu erkennen und entsprechend zu reagieren. Wir verwenden hier den java.beans.propertychangelistener. Unsere Tests werden prüfen ob die entsprechenden Events richtig ausgelöst werden. Der Einbau einer Fixture in der Testklasse sieht so aus: public class AmpelModellEventTest extends TestCase { private AmpelModellEvent ampel; private boolean gotevent; protected void setup() { Jian Wang, ia00 11.Feb.2002 Seite 8/15
9 ampel = new AmpelModellEvent(); ampel.addpropertychangelistener(new PropertyChangeListener() { public void propertychange(propertychangeevent evt) { gotevent = true; ); protected void teardown() { /*wir haben keine ständige Resource gebraucht */ // Das setzen des selben Werts keinen Event generieren soll. public void testnoevent() { ampel.setred(ampel.getred()); assertequals(false, gotevent); // prüft ob das Ändern des roten Lichts ein Event auslöst. public void testredevent() {... //prüft ob ein Event auslöst nach jedem step(). public void teststeptriggerevent() {... Wie gesehen, das Objekt Ampel ist als Instanz-Variabel deklariert, auf die von allen Tests aus zugegriffen werden kann. Die Methode setup() wurde überschrieben um die Variablen zu initialisieren. Da wir keine ständigen Ressourcen zugeteilt haben, machen wir nichts in der Methode teardown(). Nachdem die Fixture aufgebaut ist, haben wir drei Testmethoden hinzugefügt. Im Beispiel oben zeigt, wie die Testmethode testnoevent() mit der Fixture interagiert durch das Aufrufen der getter- und setter- Methoden des ampel-objektes TestSuite Modell Wenn wir die obige Testklasse laufen lassen, wird der TestRunner per Default alle TestMethoden der Klasse aufgreifen. Es gibt aber noch eine andere Variante, TestSuite Modell. Dieses Modell wird auch als Dynamic Testrunning bezeichnet. Die benötigten Tests können in einer TestSuite zusammengefasst werden, dadurch kann der Programmierer aus eigenen Wünschen selbst die Tests gestalten. Dazu brauchen wir zusätzlich nur noch einen Konstruktor mit String als Eingabe, und eine Implementierung von einer statischen Methode suite(). public AmpelModellEventTest(String name) { super(name); public static Test suite() { TestSuite suite = new TestSuite(); suite.addtest(new AmpelModellEventTest("testNoEvent")); suite.addtest(new AmpelModellEventTest("testRedEvent")); suite.addtest(new AmpelModellEventTest("testStepTriggerEvent")); return suite; Die Methode addtest() erlaubt das Hinzufügen von Tests zu einer Suite. Ein einzelner Testfall wird über den Konstruktor der Testfall -Klasse erzeugt. Als Parameter ist der Name von einer der zum Laufenden Test- Methoden. Durch Reflektion kann der TestRunner dann dynamisch die Methoden aufrufen. In der Praxis haben wir nicht nur eine oder zwei Testklassen. Statt jeweils einzelne Testklasse nacheinander als JUnit Test aufzurufen, ist es sinnvoll alle Testfälle mit einem Befehl zu starten. Diese ermöglicht JUnit mit seinem Composite-Pattern-Design. Durch alle Testfälle zu einer TestSuite zusammenzufassen, alle in der Suite befindliche Tests werden in der Reihenfolge des Hinzufügens ausgeführt. Das Zufügen der Testfälle ist ähnlich wie das Beispiel oben, ausserdem als Parameter wird einem Klassen-Objekt ( AmpelModellSimpleTest.class ) verwendet. Jian Wang, Ia00 11.Feb.2002 Seite 9/15
10 Eine solche TestSuite kann in Eclipse sehr leicht mit File New, Other..., Java, JUnit, TestSuite erzeugt werden. Defaultmässig wird eine neue Klasse AllTests erstellt, und alle sich in der gleichen Package befindende Testfällen werden automatisch angehängt. import junit.framework.test; import junit.framework.testsuite; public class AllTests { public static Test suite() { TestSuite suite = new TestSuite("Test for ampelmodell"); suite.addtest(new TestSuite(AmpelModellSimpleTest.class)); suite.addtest(new TestSuite(AmpelModellStepTest.class)); suite.addtest(new TestSuite(AmpelModellEventTest.class)); return suite; Lassen wir die AllTests-Klasse als JUnit Test laufen, bekommen wir einen JUnit View wie in Abb. 6 erscheint. Was hier besonders interessant ist, ist dass unter dem Reiter Hierarchy des JUnit Views alle Tests, die TestSuite enthält, angezeigt werden. Abb.6 Testsuite Hierarchie im JUnit View Schluss Nach der Begründung der Notwendigkeit von Automatisierten Testen, haben wir anhand eines kurzen Beispiels den Automatisierungsframework Junit kennen gelernt. JUnit ermöglicht Ein übersichtliches Testergebnis. Beliebige Zusammenfassung von Tests in Testsuiten. Die Unabhängigkeit der Testfälle, durch die Gemeinsamkeit von Tests in Test-Fixtures auszulagern. Die leichte Trennung von Testcode und Produktionscode, da alle Testfälle in einer eigenen Klassenhierarchie erstellt werden erweitern von der Basisklasse junit.framework.testcase. Als der de facto Standard Java-Unit-Test-API, ist JUnit in diversen IDEs eingebunden. Jian Wang, ia00 11.Feb.2002 Seite 10/15
11 Anhang (Source-Code des Beispiels) 1. Anwendungscode 1.1 AmpelModellSimple.java package ampelmodell; public class AmpelModellSimple { // prüft ob das Rot-Licht an ist public boolean getred() { return true; // return false; // fehlerhafte Zuweisung // prüft ob das Gelb-Licht an ist public boolean getyellow() { return false; // prüft ob das Grün-Licht an ist public boolean getgreen() { return false; 1.2 AmpelModellEvent.java package ampelmodell; import java.beans.propertychangesupport; import java.beans.propertychangelistener; public class AmpelModellEvent { // RED = 0x001, YELLOW = 0x010, RED-YELLOW = 0x011, GREEN = 0x100 private static final int RED = 1, YELLOW = 2, GREEN = 4; private int lights = RED; public AmpelModellEvent() { lights = RED; // prüft ob das Rot-Licht an ist public boolean getred() { return (lights & RED) == RED; // prüft ob das Gelb-Licht an ist public boolean getyellow() { return (lights & YELLOW) == YELLOW; // prüft ob das Grün-Licht an ist public boolean getgreen() { return (lights & GREEN) == GREEN; /** Methode step schaltet den Ampelzustand jeweils um. * Diese ist aber Bug-haftet im GUI. */ // public void step() { // switch(lights) { // case RED: // lights = RED + YELLOW; // break; // case RED+YELLOW: // lights = GREEN; // break; // case GREEN: // lights = YELLOW; // break; // case YELLOW: // lights = RED; // break; // default: throw new RuntimeException("Illegaler Ampelzustand: " + lights); // // // /** Methode step schaltet den Ampelzustand jeweils um. * Diese ist die Bug-freie Implementierung. */ public void step() { Jian Wang, Ia00 11.Feb.2002 Seite 11/15
12 switch(lights) { case RED: setyellow(true); break; case RED+YELLOW: setred(false); setyellow(false); setgreen(true); break; case GREEN: setyellow(true); setgreen(false); break; case YELLOW: setred(true); setyellow(false); break; default: throw new RuntimeException("Illegaler Ampelzustand: " + lights); // Das Ändern des Lichts soll ein Event auslösen. private PropertyChangeSupport pcs = new PropertyChangeSupport(this); public void addpropertychangelistener(propertychangelistener l) { pcs.addpropertychangelistener(l); /** Die setter-methoden lössen Propertyänderungen aus. */ public void setred(boolean b) { if (getred() ^ b) { lights ^= RED; pcs.firepropertychange("red",!b, b); public void setgreen(boolean b) { if (getgreen() ^ b) { lights ^= GREEN; pcs.firepropertychange("green",!b, b); public void setredyellow(boolean b){ if ((getred() && getyellow()) ^ b) { lights ^= RED+YELLOW; pcs.firepropertychange("red-yellow",!b, b); public void setyellow(boolean b){ if (getyellow() ^ b) { lights ^= YELLOW; pcs.firepropertychange("yellow",!b, b); 2. Testcode 2.1 AmpelModellSimpleTest.java package test.ampelmodell; import ampelmodell.ampelmodellsimple; import junit.framework.testcase; Jian Wang, ia00 11.Feb.2002 Seite 12/15
13 public class AmpelModellSimpleTest extends TestCase { // prüft ob ein neues AmpelModell-Objekt mit dem Zustand rot beginnt. public void testnewampel() { AmpelModellSimple a = new AmpelModellSimple(); // asserttrue und assertfalse werden verwendet // asserttrue(a.getred()); // assertfalse(a.getyellow()); // assertfalse(a.getgreen()); // // assertequals wird verwendet. assertequals(true, a.getred()); assertequals(false, a.getyellow()); assertequals(false, a.getgreen()); 2.2 AmpelModellEventTest.java package test.ampelmodell; import ampelmodell.ampelmodellevent; import junit.framework.test; import junit.framework.testcase; import junit.framework.testsuite; import java.beans.propertychangelistener; import java.beans.propertychangeevent; public class AmpelModellEventTest extends TestCase { // Instanz-Variablen deklarieren private AmpelModellEvent ampel; private boolean gotevent; // Instanz-Variablen Initializieren protected void setup() { ampel = new AmpelModellEvent(); ampel.addpropertychangelistener(new PropertyChangeListener() { public void propertychange(propertychangeevent evt) { gotevent = true; ); // Da wir keine ständige Resourcen alloziert haben, machen wir nichts. protected void teardown() { // do nothing // Constructor AmpelModellEventTest. public AmpelModellEventTest(String name) { super(name); // Die Tests können in eine TestSuite zusammengefasst werden. public static Test suite() { TestSuite suite = new TestSuite(); suite.addtest(new AmpelModellEventTest("testNoEvent")); suite.addtest(new AmpelModellEventTest("testRedEvent")); suite.addtest(new AmpelModellEventTest("testStepTriggerEvent")); return suite; // Das setzen des selben Werts soll keinen Event auslösen. public void testnoevent() { ampel.setred(ampel.getred()); assertequals(false, gotevent); // prüft ob das Ändern des roten Lichts ein Event auslöst. public void testredevent() { ampel.setred(!ampel.getred()); Jian Wang, Ia00 11.Feb.2002 Seite 13/15
14 assertequals(true, gotevent); //prüft ob nach jedem step() ein Event ausgelöst wird. public void teststeptriggerevent() { for (int i=0; i<5; i++) { gotevent = false; ampel.step(); assertequals(true, gotevent); Jian Wang, ia00 11.Feb.2002 Seite 14/15
15 Literaturverzeichnis JUnit Project Homepage: Kent Beck, Erich Gamma: JUnit: A Cook s Tour. Kent Beck, Erich Gamma: Test-Infected: Programmers Love Writing test. Kent Beck, Erich Gamma: JUnit Cookbook. Erik Hatcher and Steve Loughram: Java Development with Ant, Manning Publications Co, August 2002, Chapter 4: Testing with JUnit Johannes Link: Unit Tests mit Java, Der Test-First-Ansatz, dpunkt Verlag, 2002 ISBN: extreme Programming Homepage: Eclipse Tutorial mit JUnit, (Die Herkunft meines Beispiels AmpelModell) : Jian Wang, Ia00 11.Feb.2002 Seite 15/15
Testen 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
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
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
MehrEinführung in die Informatik Tools
Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht
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
MehrKomponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009
Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger
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
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
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
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
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,
MehrSoftware-Engineering und Optimierungsanwendungen in der Thermodynamik
Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung
Mehram Beispiel von JUnit
Aufbau eines Testwerkzeugs am Beispiel von JUnit Üblicher Ansatz für Tests und Fehlersuche: Print-Befehle, Debugger-Ausdrücke, Test-Skripte möglichst über globale Variable debug steuerbar Command Pattern
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
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
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
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrAnleitung zur Webservice Entwicklung unter Eclipse
Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for
MehrSoftwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch
Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich
Mehr! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006
!"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst
MehrInhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER
AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...
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
MehrHex Datei mit Atmel Studio 6 erstellen
Hex Datei mit Atmel Studio 6 erstellen Es werden generell keine Atmel Studio Dateien ins Repository geladen, da jeder seine Dateien an anderen Orten liegen hat und weil nicht jeder das Atmel Studio 6 benutzt.
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
MehrVersion 0.3. Installation von MinGW und Eclipse CDT
Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.
MehrSuche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrPraktische Übung 'JUnit-Test'
Praktische Übung 'JUnit-Test' Starten Sie für die folgende Übung Eclipse und laden Sie das Testprojekt von folgender URL: http://pi.informatik.uni-siegen.de/berlik/swt/currency.zip Darin ist die Klasse
MehrMind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999
Mind Mapping am PC für Präsentationen, Vorträge, Selbstmanagement von Isolde Kommer, Helmut Reinke 1. Auflage Hanser München 1999 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 21222 0 schnell
MehrWOT Skinsetter. Nun, erstens, was brauchen Sie für dieses Tool zu arbeiten:
WOT Skinsetter WOT Skinsetter steht für World of Tanks skinsetter (WOTS von nun an). Mit diesen Tool können Sie Skins importieren und ändern, wann immer Sie möchten auf einfache Weise. Als World of Tanks
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
MehrFolge 18 - Vererbung
Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
Mehr25 Import der Beispiele
25 Import der Beispiele Versuch es nicht mit Gewalt. Nimm einfach einen größeren Hammer (Murphy s Law) 25.1 Einleitung Alle Beispielprogramme dieses Buchs funktionieren mit jeder Java-konformen Entwicklungsumgebung.
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrHow to install freesshd
Enthaltene Funktionen - Installation - Benutzer anlegen - Verbindung testen How to install freesshd 1. Installation von freesshd - Falls noch nicht vorhanden, können Sie das Freeware Programm unter folgendem
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrJetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.
Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens
MehrBauteilattribute als Sachdaten anzeigen
Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrQt-Projekte mit Visual Studio 2005
Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
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
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrVirtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
MehrAnleitung zum erstellen einer PDF-Datei aus Microsoft Word
Anleitung zum erstellen einer PDF-Datei aus Microsoft Word 1. Vorbereitung des PCs Um dem Tutorial folgen zu können müssen folgende Programme auf Ihrem PC installiert sein: Ghostskript 8.64: Ghostskript
MehrPython Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.
Python Installation 1 Vorbereitung Diese Anleitung ist für Windows ausgelegt. 1.1 Download Python kann online unter https://www.python.org/downloads/ heruntergeladen werden. Hinweis: Im CoderDojo verwenden
MehrÜber die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.
Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten
MehrMSDE 2000 mit Service Pack 3a
MSDE 2000 mit Service Pack 3a Neues MSDE im WINLine-Setup: Seit der WINLine 8.2 Build 972 wird auf der WINLine-CD ein neues Setup der Microsoft MSDE mit ausgeliefert. Mit dieser neuen Version MSDE 2000
MehrEinrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
MehrAnleitung zur Verwendung der VVW-Word-Vorlagen
Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Feb-15 1 1 Vorwort Sehr geehrte Autorinnen und Autoren, wir haben für Sie eine Dokumentenvorlage für Microsoft Word entwickelt, um Ihnen die strukturierte
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrDiese Anleitung beschreibt das Vorgehen mit dem Browser Internet Explorer. Das Herunterladen des Programms funktioniert in anderen Browsern ähnlich.
Die Lernsoftware Revoca Das Sekundarschulzentrum Weitsicht verfügt über eine Lizenz bei der Lernsoftware «Revoca». Damit können die Schülerinnen und Schüler auch zu Hause mit den Inhalten von Revoca arbeiten.
MehrMit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.
Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen
MehrDatenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware
Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO
MehrBeschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung
Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung
MehrStep by Step Softwareverteilung unter Novell. von Christian Bartl
Step by Step Softwareverteilung unter Novell von Softwareverteilung unter Novell 1) Starten von einfachen *.EXE-Dateien: Starten sie ConsoleOne Erstellen sie eine eigene Organisationseinheit für ihre Anwendungen
MehrEbenenmasken Grundlagen
Ebenenmasken Grundlagen Was sind Ebenmasken? Was machen sie? Wofür braucht man sie? Wie funktionieren sie? Ebenmasken sind eines der sinnvollsten Tools in anspruchvollen EBV Programmen (EBV = elektronische
MehrInstallation des Authorware Webplayers für den Internet Explorer unter Windows Vista
Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung
MehrMORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrBilder zum Upload verkleinern
Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr
MehrPython SVN-Revision 12
Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang
MehrUm zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:
Client-Installation ec@ros2 ASP-Server 1. Allgemeine Informationen Für den Einsatz von ec@ros2 ist auf den Clients die Software Java Webstart (enthalten im Java Runtime Environment (JRE)) notwendig. Wir
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
Mehr5.2 Neue Projekte erstellen
5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort
MehrGeoPilot (Android) die App
GeoPilot (Android) die App Mit der neuen Rademacher GeoPilot App machen Sie Ihr Android Smartphone zum Sensor und steuern beliebige Szenen über den HomePilot. Die App beinhaltet zwei Funktionen, zum einen
MehrKurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11
Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl
MehrDiese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
MehrFuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7
FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die
MehrDer Kalender im ipad
Der Kalender im ipad Wir haben im ipad, dem ipod Touch und dem iphone, sowie auf dem PC in der Cloud einen Kalender. Die App ist voreingestellt, man braucht sie nicht laden. So macht es das ipad leicht,
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
MehrEinführung in Eclipse und Java
Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik
MehrEinrichten eines POP-Mailkontos unter Thunderbird Mail DE:
Einrichten eines POP-Mailkontos unter Thunderbird Mail DE: Ein E-Mail-Konto können Sie am einfachsten über den integrierten Assistenten einrichten. Dieser führt Sie Schritt für Schritt durch alle Einstellungsmöglichkeiten
MehrJava Entwicklung für Embedded Devices Best & Worst Practices!
Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard
MehrInternet Explorer Version 6
Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster
MehrDas Leitbild vom Verein WIR
Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
Mehr2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE
2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrStandard Daten-Backup-Script
Inhaltsverzeichnis 1. Installations-Anleitung... 2 2. Ausführen manuelle Backups... 5 3. Backup-Script beim Abmelden ausführen... 6 4. Backup-Script zum Task-Planer hinzufügen... 8 2010 web-net.ch, Seite
MehrHilfe zur Dokumentenverwaltung
Hilfe zur Dokumentenverwaltung Die Dokumentenverwaltung von Coffee-CRM ist sehr mächtig und umfangreich, aber keine Angst die Bedienung ist kinderleicht. Im Gegensatz zur Foto Galeria können Dokumente
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrDownloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler
Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5
MehrUniversal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.
ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf
MehrHilfe zur Urlaubsplanung und Zeiterfassung
Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,
MehrAUF LETZTER SEITE DIESER ANLEITUNG!!!
BELEG DATENABGLEICH: Der Beleg-Datenabgleich wird innerhalb des geöffneten Steuerfalls über ELSTER-Belegdaten abgleichen gestartet. Es werden Ihnen alle verfügbaren Belege zum Steuerfall im ersten Bildschirm
MehrInkrementelles Backup
Inkrementelles Backup Im Gegensatz zu einer kompletten Sicherung aller Daten werden bei einer inkrementellen Sicherung immer nur die Dateien gesichert, die seit der letzten inkrementellen Sicherung neu
MehrSoftware-Engineering Grundlagen des Software-Engineering
Software-Engineering Grundlagen des Software-Engineering 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE
MehrDeltaVision Computer Software Programmierung Internet Beratung Schulung
Zertifikate von DeltaVision für Office Projekte 1 Einleitung: Digitale Zertifikate für VBA-Projekte DeltaVision signiert ab 2009 alle seine VBA Projekte. So ist für den Anwender immer klar, dass der Code
MehrOutlook Vorlagen/Templates
Joachim Meyn Outlook Vorlagen/Templates Erstellen Sie Vorlagen bzw. Templates in Outlook Joachim Meyn 27.03.2013 Inhaltsverzeichnis Outlook Vorlagen (.oft Dateien)... 2 Vorbereitung... 2 Anlegen einer
Mehr