Dr. Johannes Mayer Institut für Angewandte Informationsverarbeitung 23. Mai 2007
Ralph Guderlei Blatt 4
Softwaretest (SS 2007)
Abgabetermin: 06. Juni 2007
Im letzten Blatt durften Sie sich ja schon mit einem einfachen Shopsystem beschäftigen. Nachdem Sie Ihre Aufgaben zufriedenstellend gelöst
haben bekommen Sie nun den Auftrag, sich mit dem eigentlichen Bestellsystem auseinanderzusetzen. Dieses besteht aus der Klasse
Shop.java. Für unterschiedliche Vorgänge greift das Bestellsystem dabei auf die Datenbank des Warenwirtschaftssystems zurück.
Die Entwickler haben sich schon viel Mühe gemacht, die Datenbankzugriffe in eine eigene Klasse ausgelagert.
Das Bestellsystem erzeugt einen neuen Warenkorb, kann Waren in diesen Warenkorb hineinlegen und sollte dabei prüfen,
ob die Ware tatsächlich verfügbar ist (isAvailable()). Beim Abarbeiten der Bestellung wird der Warenkorb
dem Warenwirtschaftssystem übergeben (store()) und dann die Auslieferung angewiesen (ship()).
Sie wollen (in der nächsten Aufgabe ;-)) aber das Bestellsystem unabhängig von der Datenbank testen. Dazu müssen Sie
es möglich machen, das Objekt für den Datenbankzugriff für den Test zu kontrollieren.
Tipp: Definieren Sie sich ein passendes Interface und ändern Sie die Aufrufe im Programm entsprechend ab. Den Quellcode finden
Sie in den Beispielen.
In der ersten Aufgabe haben Sie also die zu testende Klasse nun entsprechend vorbereitet. Nun ist es an der Zeit, ein Mock-Objekt zu
entwickeln, welches in der Lage ist zu überprüfen, ob die Methoden in der richtigen Reihenfolge und mit den richtigen Parametern
aufgerufen wurden.
Der Test soll wieder mit JUnit implementiert werden. Auf Lösungen des vorherigen Blattes darf dabei zurückgegriffen werden.
Viel Erfolg!
Ralph Guderlei
2007-05-23