05.02.2013 Aufrufe

Konzeption und modellgetriebene Entwicklung eines ...

Konzeption und modellgetriebene Entwicklung eines ...

Konzeption und modellgetriebene Entwicklung eines ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6.2. MASCHINENGETRIEBENE TESTS 93<br />

6.2.2 Funktionstests<br />

Die Funktionen der Services werden durch das in AndroMDA integrierte<br />

TestNG[38] Framework geprüft. Dieses Framework wird im Build-Prozess<br />

eingeb<strong>und</strong>en <strong>und</strong> prüft bei Bedarf ausgewählte Funktionen. Dafür kann der<br />

Befehlt mvn -f core/pom.xml test im Projektverzeichnis ausgeführt werden.<br />

Dadurch können Fehler abgefangen werden, die erst zur Laufzeit auftreten<br />

würden. Ein Problem der Funktionstests ist, dass Daten in der Datenbank<br />

enthalten sein müssen.<br />

Interessant werden diese Tests bei einem Update der Anwendung. Werden<br />

die Tests gegen die produktive Datenbank getestet, kann geprüft werden, ob<br />

die Datenbank mit der neuen Version kompatibel ist. Es ist jedoch ratsam,<br />

gegen ein Abbild der produktiven Datenbank zu testen, um keine bestehenden<br />

Daten zu gefährden.<br />

Die beiden folgenden Funktionen werden getestet, um das Datenbankschema<br />

mit der Anwendung zu vergleichen. Dadurch kann getestet werden, ob<br />

Änderungen am Domänenmodell mit dem Datenbankschema kompatibel sind.<br />

Dazu werden die Daten geholt <strong>und</strong> in ValueObjects transformiert. Im dritten<br />

Teil wird der Test der Funktionen der externen Bibliotheken beschrieben.<br />

Eine Statistik der Tests kann unter ”% Projektverzeichnis%\core\target\surefirereports\Services<br />

Test.txt” nachgelesen werden. Darin kann die Anzahl der erfolgreichen,<br />

erfolglosen <strong>und</strong> übersprungenen Tests nachgesehen werden. Werden<br />

Tests-Ausgaben gemacht, können diese in einer Logdatei unter ”%Projektverzeichnis%<br />

\core\troydbaer-test.log” betrachtet werden.<br />

Alle F<strong>und</strong>orte laden<br />

Die Methode getAllOrte() ist dafür zuständig, alle F<strong>und</strong>orte in der Datenbank<br />

als Objekte der ValueObject-Klasse OrtVO zurückzuliefern. Dafür wird<br />

die Methode loadAll() des Ort-DAO benutzt, zusammen mit der Transformation<br />

der geladenen Entitäten in ValueObjects. Die von der Methode des DAO<br />

zurückgelieferte Liste wird anhand ihrer F<strong>und</strong>punktnummer sortiert <strong>und</strong> in<br />

ein Array umgewandelt. Sie wird überall aufgerufen, wo eine Liste oder eine<br />

Auswahl aller F<strong>und</strong>orte gebraucht wird, zum Beispiel bei der ersten Ansicht<br />

der Anwendung.<br />

Da die Methode keine Parameter hat, kann sie einfach aufgerufen werden.<br />

Der Test gilt als erfolgreich, wenn die Methode ohne Fehler ausgeführt wird.<br />

Zusätzlich wird in die Logdatei die ID, die F<strong>und</strong>punktnummer <strong>und</strong> der Name

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!