home  |  suche  |  kontakt/johner  |  institut 
studierende  |  tech-docs  |  mindmailer 

Eigenschaften

Testobjekte

Die Integrationstests überprüfen ganze Programmeinheiten, beispielsweise die Geschäftslogik im Zusammenspiel mit der Datenspeicherung.

Tester

Diese Tests müssen ebenfalls von technisch-orientierten Personen durchgeführt werden. Dies können ebenfalls Entwickler sein.

Testziel

Während dieser Testphase wird das Zusammenspiel von Modulen/Komponenten überprüft. Diese Module können auch zugekaufte Komponenten sein. Die Überprüfung konzentriert sich auch auf die Funktionalität der Schnittstellen und die Effizienz der Protokolle, welche die Kommunikation zwischen den Komponenten herstellen.

Werkzeuge

Auch für diese Form des Testens kann JUnit genutzt werden. Allerdings werden die JUnit-Tests nicht als White-Box, sondern bereits als Black-Box-Tests implementiert, weil diesmal nicht das Verhalten innerhalb einer Komponente interessiert.

Vorgehen

Überprüfung

Schwerpunkte der Integrationstests sind oft

     

  • Persistenz von Daten, auch im Mehrbenutzerbetrieb. Hierzu zählen das Überprüfen der CRUD Methoden (Create, Read, Update, Delete) sowie das Testen von Transaktionen
  • Prüfen der Benutzerschnittstelle/Layout  beispielsweise auf Sichtbarkeit von GUI-Komponenten und Verständlichkeit der Anordnung, Übersetzungsmechanismen für verschiedene Sprachen) 
  • Kommunikation zwischen Komponenten (Performance, Spezifikationstreue der Schnittstellen). Hier können wieder Äquivalenzklassen zum Testen der Schnittstellen genutzt werden
  • Benutzerautorisierung und -authentifizierung

Strategien für Integration

     

  • Bottom-up: Dieser Integrationstyp zeichnet sich dadurch aus, dass aus Teilmodulen sukzessive übergeordnete Komponenten zusammengesetzt werden, solange bis das gesamte System integriert ist. Dies hat den Vorteil, dass weniger Mockobjekte erzeugt werden müssen. Nachteilig wirkt sich aus, dass erst am Schluss ein vertikaler Prototyp existiert.
  • Top-down: Beim Top-down-Ansatz wird bei der obersten Schicht begonnen. Alle darunter liegenden Ebenen werden durch Komponenten, Mockobjekte, simuliert, welche nach und nach durch Komponenten mit tatsächlich implementierter Funktionalität ersetzt werden. Diese Mockobjekte können beispielsweise eine Datenbank oder Teile der Geschäftslogik beim Testen ersetzen.
    Den Vorteil, sehr früh einen Eindruck von der Gesamtapplikation zu erhalten, erkauft man durch den hohen Aufwand, die Mockobjekte zu entwerfen.
  • Big-bang: Bei dieser Integrationsform werden alle Komponenten auf ein Mal zusammengebracht und getestet. Zwar erspart man sich die Mockobjekte, allerdings ist die Fehlersuche weitaus schwieriger als bei iterativen Verfahren. Die Big-bang Integration sollte man nur bei vertikalen Prototypen anwenden.

Die nachfolgende Grafik veranschaulicht die verschiedenen Integrationsverfahren anhand eines Beispiels, welches aus Komponenten und Teilkomponenten besteht.