Logo Schrift
Moebiuskreis Logo
financialSoftwareEvolutionTeam
Test ist ein hochkomplexes Thema, das nur mit kompetenter Planung funktionieren kann!
Erfahren Sie hier mehr über die einzelnen Testphasen sowie begleitende Schulungsaktivitäten
Test

Test

Bitte wählen Sie Ihren gewünschten Bereich durch Anklicken des entsprechenden Symbols:
Allgemeines

Allgemeines

Initialisierung

Initialisierung

Planung

Planung

Realisierung

Realisierung

Test

Test

Produktion

Produktion

Im Bereich „Test“ des Vorgehensmodells finden Sie folgende Informationen:

  • allgemeine Betrachtungen zur Problematik der Testabdeckung
  • die Aufgaben der Projektleitung und des Testmanagements
  • Details zu den einzelnen Testphasen (vom Auslieferungstest bis zum Integrationstest)
  • den möglichen Aufbau und Inhalt einer revisionssicheren Testdokumentation
  • das Prozedere für Fehlerbehebung und Re-Test
  • Schulungen als Testbegleitung und Vorbereitung für den Produktiveinsatz

Für Details bitte einfach die entsprechenden Buttons anwählen!

Einen perfekten Test bei komplexen Projekten zu erreichen ist nicht einfach, aber wir werden so nahe wie möglich dran sein.

Die Erfahrung zeigt, dass auch bei sehr aufwändig durchgeführten Tests nach Produktiveinsatz Fehler und Mängel auftreten werden. Die Aufgabe einer guten Testplanung ist es, die Anzahl und Schwere dieser Probleme so gering wie möglich zu halten.

Es gibt eine ganze Reihe von Faktoren, die die Perfektionierung des Testvorgehens limitieren.
mehr...
  • die Anzahl der möglichen fachlichen Konstellationen ist prinzipiell schon bei mittleren Anwendungen so groß, dass keinesfalls alle Kombinationen umfassend getestet werden können
  • das gleiche gilt für zeitliche Abhängigkeiten, die zwar simuliert werden können, aber niemals alle Situationen abdecken, die im Laufe der Zeit im Produktivbetrieb eintreten werden
  • das Mengengerüst bezüglich der gleichzeitig aktiven Anwender und durchgeführten Transaktionen kann häufig im Testbetrieb nicht erreicht werden, da die dafür nötigen Ressourcen im Produktivbetrieb gebunden sind
  • der Re-Test nach Fehlerbehebungen hat normalerweise den Schwerpunkt auf der fehlerhaften Funktion; zuweilen hat aber die vorgenommene Fehlerbehebung Konsequenzen für andere, zuvor fehlerfreie Funktionen
Durch geeignete Maßnahmen können die Auswirkungen auf das Testergebnis minimiert werden.
mehr...
  • die Tests werden so gestaltet, dass Schwerpunkte in Bezug auf fachliche Varianten dort gesetzt werden, wo offensichtlich Auswirkungen der einzelnen Merkmale aufeinander zu erwarten sind
  • die tatsächlich in der Praxis häufig vorkommenden Varianten werden umfassend getestet, exotischere Konstellationen eher nur in Form von geeigneten Stichproben. Damit erhält man die Sicherheit, dass bei einem noch handhabbaren Umfang von Testvorfällen ein möglichst hoher Prozentsatz der produktiven Geschäftsvarianten abgedeckt ist und sich somit im Test nicht erkannte Probleme immer nur auf eine geringe Anzahl von Vorgängen beziehen werden
  • mögliche Performance-Probleme durch massive parallele Verarbeitung können z. B. durch maschinelle Erzeugung einer hohen Anzahl von Testvorfällen bei gleichzeitigem Start von vielen gleichzeitig laufenden Prozessen erkannt werden
  • der Gefahr von ungewollten Auswirkungen von Fehlerbehebungen auf zuvor fehlerfreie Funktionen kann durch eine lückenlose Dokumentation der gelieferten Programmänderungen mit begleitender Klassifizierung der möglichen Auswirkungen begegnet werden. Im Zweifelsfalle muss ein Wiederholungstest („Regressionstest“) für bestehende Funktionen durchgeführt werden.

Fazit: Ein professionell geplanter Test ergibt bei einem gut handhabbaren Testumfang eine sichere Basis für einen erfolgreichen Produktiveinsatz.

Gute Koordination ist im Testgeschehen unbedingte Voraussetzung für das Gelingen! Genau hier setzen die Aufgaben des Projektleiters und/oder Test-Managers an.

Bei kleineren Projekten kann das Testmanagement vom Projektleiter als Teilbereich seiner Aufgaben erfüllt werden. Ab einem bestimmten Umfang ist es jedoch empfehlenswert, angesichts der Komplexität der Aufgaben ein eigenes Testmanagement zu installieren.

Die Aufgaben des Testmanagements sind vielfältig; die hier genannten Funktionen werden entweder direkt ausgeführt oder nur koordiniert:

  • Ermittlung aller für die Testfallerstellung erforderlichen Informationen
    mehr...
  • Gruppierung der Testinhalte nach fachlichen Gesichtspunkten
  • Ermittlung von Mengengerüsten, um die Wichtigkeit der einzelnen Varianten bewerten zu können
  • Bewertung der Schwere der Auswirkungen im Falle einer Fehlfunktion
  • Vergabe von Testprioritäten auf Basis der oben genannten Punkte
  • Zuordnung von konkreten Dateninhalten für die vorzunehmenden Tests
  • eigentliche Testfallerstellung
    mehr...
  • Festlegung von geeigneten Verfahren für die Erstellung und Verwaltung der Testvorfälle
  • Anwendung bzw. Erstellung von technischen Hilfsmitteln (Tools) z. B. zur Erstellung von Testdateien, wenn möglich
  • Ermittlung einer Zuständigkeitsmatrix für die Erstellung der Vorfälle unter Berücksichtigung der hierfür erforderlichen Kenntnisse
  • Festlegung eines Zeitplans für die Verfügbarkeit der Testvorfälle je Testphase
  • zeitliche und qualitätsmäßige Überwachung der Testvorfalls-Erstellung
  • Planung der Testausführung
    mehr...
  • Koordination der geplanten Testaktivitäten mit parallel laufenden Projekten
  • Festlegung von Tools zur Dokumentation der Ausführung der Testvorfälle und Sicherstellen der technischen Verfügbarkeit sowie der Schulung der Tester im Umgang mit dem Tool
  • Zuordnung von konkreten Personen oder Personengruppen zu den Tests
  • zeitliche Planung der einzelnen Testphasen unter Berücksichtigung der Verfügbarkeit der zugeordneten Tester und Reservierung aller erforderlichen technischen Ressourcen (Testumgebungen)
  • sicherstellen, dass die geplanten Tester Zugang zu den Testsystemen und –Anwendungen sowie zum Dokumentationstool haben
  • Einplanung von Datenmigrationen vom Produktivsystem zu den Testsystemen
  • Organisation der Schulung der Testbeteiligten mit entsprechender Zeitplanung
  • Einholung der Test-Vollständigkeitserklärung seitens des Kunden
    mehr...
  • Vorstellung der vorbereiteten Testinhalte bei vom Kunden zu bestimmenden Instanzen (Fachabteilung, IT, Revision usw.)
  • Einarbeiten von Erweiterungs- und Änderungswünschen in die Testplanung
  • Einholen einer förmlichen Bestätigung der Vollständigkeit der geplanten Tests bei den vom Kunden bestimmten Gremien
  • Überwachung der Testausführung
    mehr...
  • Vergleich von Soll-Abdeckung mit Ist-Abdeckung unter Verwendung geeigneter Tools
  • Eskalation bei zeitlichen Verzögerungen oder erkennbaren generellen Qualitätsproblemen der zu testenden Software
  • stichprobenartige Qualitätsprüfung der Testfall-Ausführung, auch hinsichtlich der Dokumentation der Ergebnisse
  • Koordination und Überwachung von Fehlerbehebung und Re-Test
    mehr...
  • Einrichtung und Leitung regelmäßiger Meetings zur Besprechung von Testergebnissen
  • Bewertung der gemeldeten Fehler hinsichtlich der Fehlerschwere und Dringlichkeit bezüglich der Fehlerbehebung inkl. möglicher Klassifizierung als Erweiterungswunsch
  • Einholung von Kostenschätzungen und Klärung von Budgetfragen im Falle von Erweiterungswünschen
  • Weiterleitung von erkannten Softwarefehlern und Erweiterungswünschen an die Entwicklerseite und Sicherstellung, dass die Unterlagen für den Entwickler aussagekräftig sind und eine sinnvolle Priorisierung erfolgt
  • Weiterleitung von Rückfragen der Entwicklerseite an den zuständigen Tester
  • Koordination von Auslieferungsterminen für Software-Anpassungen
  • Veranlassung von Re-Tests für die behobenen Fehler nach Installation des betreffenden Software-Updates
  • Koordination von Schulungsmaßnahmen
    mehr...
  • Sicherstellung der Verfügbarkeit der nötigen räumlichen und sonstigen Ressourcen
  • Benennung und Verpflichtung der jeweiligen Referenten (je nach Schulungszweck können dies z. B. Mitglieder des Projektteams oder sog. „Power-User“ sein, die ihren Kenntnisstand an andere Mitarbeiter weitergeben)
  • Unterstützung der Referenten bei der Schulungsvorbereitung
  • Einholung von Bewertungen der Schulungen und Einleitung von Verbesserungen und Nachschulungen, wo notwendig.
  • Erstellung von Berichten
    mehr...
  • Dokumentation des Testfortschritts in entsprechenden Dokumenten
  • Übersichten über offene und erledigte Fehlermeldungen (normalerweise als Ergebnis eines Testtools)
  • weitere High-Level-Berichte, wie im Projekt vereinbart
  • Einholung der Erklärung, dass die Anwendung reif für den Produktiveinsatz ist
    mehr...
  • Vorbereitung eines finalen Berichts über die abgeschlossenen Testaktivitäten sowie über offene Fehlerbehebungen und Erweiterungsanforderungen, deren Behebung in die Zeit nach der Produktivstellung verschoben wurde
  • Einholung der Unterschriften von den kundenseitig als für die Freigabe zuständig benannten Stellen
  • offizielle Mitteilung über die Beendigung der Testphase und den bevorstehenden Produktiveinsatz an alle betroffenen Abteilungen
  • Einrichtung einer „frozen zone“ in Bezug auf die Anwendung, d. h. es werden bis zur Produktivstellung keine Programmänderungen mehr eingespielt

Allen genauen Planungen zum Trotz muss das Testmanagement ein hohes Maß an Flexibilität aufweisen, um die mit Sicherheit auftretenden Unwägbarkeiten des Testbetriebs aufzufangen.

Der Auslieferungstest ist die erste Station nach der Installation einer Software-Lieferung.

Diese Teststufe stellt sicher, dass die Installation erfolgreich war und die gelieferte Software technisch lauffähig ist.

Typische Aktionen während des Auslieferungstests sind:

  • Kontrolle, ob alle Aktionen laut übergebener Installationsanleitung durchgeführt wurden (Aufbau bzw. Änderung von Datenbanktabellen, Job-Control, Einspielen von Programmen, Aktualisierung Hilfesystem usw.)
  • stichprobenweiser Aufruf der neu gelieferten und geänderten Funktionen
  • Klärung von auftretenden Problemen mit der Entwicklerseite

Nach dem Auslieferungstest kann die nächste Teststufe, der technische Basistest beginnen.

Der technische Basistest stellt systematisch die Verfügbarkeit aller Programmfunktionen sicher.

Der Schwerpunkt in dieser Teststufe liegt nicht im fachlichen Detail, sondern in einer umfassenden Sichtung aller erwarteten Programmfunktionen. Demzufolge wird der technische Basistest zumeist vom Projektteam und nicht von der Fachabteilung durchgeführt.

Typische Aktionen während des technischen Basistests sind:

  • Vornahme notwendiger Parametrisierungen zur Konfiguration der Anwendung
  • Aufruf von Erfassungsfunktionen und Eingabe, Speicherung und Anzeige aller zur Verfügung stehenden Dateninhalte
  • Kontrolle von feldbezogenen und feldübergreifenden Plausibilitätsprüfungen
  • Aufruf von Hilfefunktionen
  • Erstellung von Auswertungen aller Art und Kontrolle der Inhalte
  • Kontrollen hinsichtlich der Sperrlogik und Transaktionssicherung der Erfassungsfunktionen und konkurrierende Zugriffe auf die gleichen Dateninhalte
  • Prüfung des erfolgreichen Roll-Backs nach erzwungenen Programmabbrüchen
  • Einrichten und Starten von Batch-Abläufen, z. B. für das Tagesende
  • Sichtung von erzeugten Schnittstellendaten auf richtigen Aufbau laut Spezifikation
  • Übernahme von Schnittstellendaten über die zugehörigen Programmfunktionen

Nach dem erfolgreichen technischen Basistest ist die Anwendung für die Aufnahme von Migrationsdaten und den fachlichen Funktionstest bereit.

Der Migrationstest bestückt die Testumgebung mit Daten aus der Produktion.

Die zeitliche Einordnung des Migrationstests nach dem technischen Basistest stellt sicher, dass im nachfolgenden fachlichen Funktionstest mit realistischen Datenbeständen gearbeitet werden kann. Der Migrationstest wird normalerweise vom Projektteam durchgeführt.

Typische Aktionen während des Migrationstest sind:

  • Vorbereitung des Zielbestands für die Aufnahme der Migrationsdaten (z. B. entfernen alter Testinhalte oder Inhalte aus früheren Migrationsläufen)
  • Festlegung des Quellbestandes (z. B. Produktionsstand eines bestimmten Tages nach Tagesende) und Veranlassung der eigentlichen Migration
  • stichprobenartige Kontrolle der Ergebnisse der Migration über zur Verfügung stehende Programmfunktionen (alt/neu-Vergleiche) bzw. durch datenbanktechnische Hilfsmittel
  • spezielle Kontrolle von Umsetzungen auf der Datenbankebene für Tabellen, die nicht 1:1 übernommen, sondern modifiziert oder neu angelegt werden

Der Bestand nach einem erfolgreichen Migrationstest ist nunmehr als Basis für die fachlichen Funktionstests geeignet.

Der fachliche Funktionstest betrachtet die neue Anwendung aus der Sicht der Fachabteilung.

Die in dieser Teststufe durchzuführenden Testvorfälle decken ein möglichst komplettes Spektrum der in der Praxis vorkommenden Geschäftsvorfälle ab. Die Testdurchführung und Beurteilung der Testergebnisse liegt in der Verantwortung der zuständigen Fachabteilung.

Typische Aktionen während des fachlichen Funktionstest sind:

  • nochmalige Kontrolle der Migrationsergebnisse durch die „Brille“ der Fachabteilung
  • Erfassung von häufig vorkommenden Geschäftsvorfällen und Kontrolle der inhaltlichen Richtigkeit der gespeicherten Daten
  • stichprobenweise Erfassung von Spezialfällen, wie sie in der Praxis vorkommen
  • Veranlassung und Sichtung von Auswertungen, die für die Fachabteilung wichtig sind
  • Veranlassung und Sichtung der Ergebnisse von Batchabläufen, z. B. Tagesende, Monatsende usw.

Nach dem positiv verlaufenen fachlichen Funktionstest kann die bisher weitgehend isoliert betrachtete Anwendung dem Integrationstest unterzogen werden.

Der Integrationstest stellt die richtige Interaktion der Anwendung mit ihrer Umgebung sicher.

Praktisch jede Anwendung hat Online- oder Batchschnittstellen zu anderen, bereits bestehenden Anwendungen. Die Verbindungen zu den umgebenden Anwendungen werden nun zum Testschwerpunkt.

Typische Aktionen während des Integrationstest sind:

  • „Scharfschaltung“ der jeweiligen Übertragungsmechanismen zwischen den beteiligten Testsystemen
  • Veranlassung der Übernahme von Schnittstellendaten sowie der Erzeugung von Schnittstellendaten mit entsprechender fachlicher Kontrolle von entstehenden Protokollen oder sonstigen Ergebnissen
  • Soweit möglich: Durchführung eines Paralleltests mit der Produktion unter Einbeziehung aller umgebenden Systeme

Nach dem Integrationstest ist die Anwendung bereit für den Produktiveinsatz.

Eine revisionssichere Testdokumentation ist unerlässlich!

Die Dokumentation von Testergebnissen ist keine triviale Sache, sondern bedarf guter Vorbereitung und der Verwendung geeigneter Hilfsmittel. Üblicherweise kommen daher spezielle Dokumentationstools (wie z. B. die Open-Source-Software JIRA) zum Einsatz.

Im Rahmen der Testvorbereitungen wird das gewählte Dokumentationstool für die projektspezifischen Erfordernisse eingerichtet und die Tester werden im Umgang mit dem Tool geschult.

Typische Bestandteile der Testdokumentation sind:

  • Übersichten über alle durchzuführenden Testvorfälle, gegliedert nach Art des Tests mit dem jeweiligen Teststatus und den zugeordneten Testern
  • vorbereitete Beschreibungen des jeweiligen Testvorfalles mit Definition der einzelnen Testschritte und Vorhersage der erwarteten Ergebnisse
  • eigentliche Dokumentation der Testergebnisse je Testschritt in Form von Hardcopies, Testdateien, Listen und/oder sonstiger Resultate
  • Kommentare zu den Testergebnissen (OK-Vermerk bzw. Beschreibung von erkannten Fehlern)
  • Dokumentation von Fehlermeldungen in Richtung Entwickler und entsprechende Erledigungsvermerke
  • Dokumentation der Re-Test-Ergebnisse nach Fehlerbehebung

Die Dokumentation der Testergebnisse macht den Testablauf nachvollziehbar. Zudem können bestimmte Testvorfälle auch als Grundlage für spätere Tests (z. B. für Tests von Erweiterungen nach Produktiveinsatz) dauerhaft zur Verfügung gehalten werden.

Die Ergebnisse der Behebung erkannter Fehler bzw. der Durchführung von Änderungsanforderungen müssen kontrolliert werden.

Die zugehörigen Abläufe werden von der Projektleitung bzw. dem Testmanagement eingerichtet und überwacht.

Typische Abläufe bei der Fehlerbehebung bzw. der Abhandlung von Änderungsanforderungen sind:

  • Erkennung und Klassifizierung von Fehlern und Erweiterungswünschen
  • bei Erweiterungsanforderungen: Klärung von Aufwands- und Budgetfragen vor Beauftragung
  • eventuell Verschiebung von Fehlerbehebungen und Erweiterungsanforderungen auf die Phase nach dem Produktiveinsatz, wenn z. B. terminliche Gründe dies nahelegen
  • Weitergabe von Fehlerbeschreibungen und Erweiterungsbeschreibungen an die Entwicklerseite mit entsprechender Klassifizierung und Priorisierung
  • Überwachung der Lieferung durch die Entwicklerseite seitens der Projektleitung
  • Verständigung der zuständigen Tester nach Installation der geänderten Programme
  • Überwachung des Re-Tests und Schließung des Fehlers oder Erweiterungswunsches bzw. Einleitung einer weiteren Fehlermeldung und deren Behebung
  • Dokumentation aller vorgenommenen Schritte im gewählten Dokumentationstool

Ein gut eingespieltes Fehler- und Erweiterungsmanagement ist mitentscheidend für den Testfortschritt.

Gute Schulungen sind eine Voraussetzung für einen erfolgreichen Produktiveinsatz!

Schulungen und Trainings sind in verschiedenen Stadien der Testphase für die Tester erforderlich und kurz vor Produktiveinsatz auch für alle anderen Anwender der neuen Software.

Folgende Arten von Schulung und Training sind normalerweise einzuplanen:

  • technische Schulungen des Projektteams und der zuständigen IT-technischen Abteilungen durch das Entwicklerteam bei Erstauslieferung von Komponenten
  • Schulungen der Tester durch das Projektteam in Bezug auf das Test-Dokumentationstool
  • Schulungen der Tester durch das Projektteam in Bezug auf die neue Anwendung
  • Schulung und Training aller sonstigen Anwender kurz vor Produktivstellung der Anwendung
  • ggfs. Schulung der Programmierer des Kunden in der Wartung und Pflege der neu erstellten Anwendung (hierbei können auch Programmierer des „Altsystems“ einbezogen werden)

Gut geplante und durchgeführte Schulungen verringern die Hemmschwelle im Umgang mit der neuen Software bei Testern und Anwendern.