Die Herausforderung beim Testen ist es oft, mit den vorgegebenen Ressourcen ein Optimum der Testabdeckung zu erzielen. Mathematisch nicht gewichtet kann man dieses Optimum als den Schnittpunkt der Achsen „Anzahl der Defekte“ und „Anzahl der Tests“ bezeichnen.
Testaktivitäten lassen sich ursächlich auf Interaktion aus Projekt- und Migrations-vorhaben, aus Change Verfahren sowie aus Anforderungen für Release- Änderungen zurückführen und benötigen klar abgegrenzte Strukturen, definierte und geordnete Abläufe sowie nachvollziehbare, transparente Ergebnisse.
Ein Softwaretest macht letztendlich ca. 1/3 des Entwicklungsaufwands aus und steht in Abhängigkeit und Einklang zu den grundsätzlichen Vorgaben des Qualitätsmanagements.
Hyperlink: Rollen Skills - Test Manager
Im Folgenden wird auf die dem eigentlichen Test geschuldeten speziellen Aktivitäten eingegangen.
1. Testplanung |
|
» |
Kick off Testworkshop (Testkernteam) |
» |
Ermittlung des Testumfangs |
» |
Organisation des Testprojekts (Räumlichkeit, Termine Jour fix) |
» |
Definition der Teststrategie |
» |
Planung Testressourcen/Rollenverteilung |
» |
Planung Trainings-/ Schulungsmaßnahme |
2. Testprozessberatung |
|
» |
Testprozessanalyse (Vollständigkeit, Qualität und Testabdeckungsgrad) |
» |
Hinweise Optimierung von Testprozessen |
» |
Aufdecken von Einsparpotenzialen |
» |
Vorschläge für pragmatische Verbesserungsmaßnahmen |
» |
Auswahl/ Einführung geeigneter Testtools |
» |
Definition von Teststrategien und Organisation von Testprojekten |
» |
Review von Risikoanalysen und Testfällen |
3. Erstellung Fachliches Testkonzept |
|
» |
Zeitplan |
» |
Betroffene Systeme/ Schnittstellen (Zuliefersysteme, Folgesysteme, Ansprechpartner) |
» |
Bereitstellung der Testumgebung(en) |
» |
Testorganisation - Aufgaben (Koordination und Fehlerüberwachung) - Rollen (Testmanager, Testkoordinatoren, Tester, Qualitätssicherungsbeauftragter) - Struktur |
» |
Definition von Testphasen (Entwicklung, Modul, System, Integration, Parallel) |
» |
Erstellung Testraster, Testfälle und Testfallketten |
» |
Beschaffung von Testdaten |
» |
Klassifizierung und Priorisierung von Testfällen |
» |
Definition Rahmenbedingungen von Test- Eingangskriterien/ -Endkriterien |
» |
Eintrittsbedingungen für Testabbruch und Testwiederaufnahmekriterien |
» |
Risiken (Projekt und Produktionsbetrieb) |
» |
Nutzung von Testwerkzeuge und Hilfsmittel |
» |
Abweichungsmanagement (Fehlerkategorisierung, Mängelklasse, Fehlererfassung) |
» |
Berichtswesen - Anzahl und Status der Testfälle - Fehleranzahl pro zu bewertendem Kriterium - Dauer der Fehlerbehebung nach Fehlerschwere, Testlogbuch- |
» |
Abnahmeverfahren (Festlegung Ergebnisverantwortlicher/ Abnahmeverantwortlicher) |
» |
Schulungskonzept (Anleitung Testdurchführung) |
4. Testdurchführung |
|
» |
Koordination/ Moderation von Reviews |
» |
Testdatenaufbereitung |
» |
Qualitätssicherung Testfallbeschreibung |
» |
Reporting über Testaktivitäten und Stand der Fehlerbehebung |
» |
Reporting über Entwicklung der Fehler und der Testabdeckung im Zeitverlauf |
» |
Erstellung Testdokumentation/ Testprotokoll/ Statusbericht |
5. Testabschluss und Testnachbearbeitung |
|
» |
Erstellung Abnahmeprotokoll |
» |
Schulung der Mitarbeiter |
» |
Go Live/ Integration ins Gesamtsystem |
» |
Stabilisierung/ Sicherung Qualitätsziele |
Priorität 1 |
Der Testfall muss durchgeführt werden, da ein unbekanntes Verhalten in diesem Bereich nicht akzeptabel ist. Wird dieser Testfall nicht durchgeführt oder bestanden, kann eine Abnahme nicht stattfinden |
Priorität 2 |
Der Testfall bzw. das Testthema sollte getestet werden. Ein Fehlverhalten in diesen Bereich kann jedoch durch andere Mittel (Workarounds) umgangen werden. Eine Abnahme muss jedoch unter Berücksichtigung aller Begleitumstände der jeweiligen Testphase (Anzahl der Fehler insgesamt etc.) sorgfältig abgewogen werden |
Priorität 3 |
Das entsprechende Testthema bzw. der entsprechende Testfall ist „nice-to-have“ und kann bei terminlichen Problemen gestrichen werden |
Unter Abnahme ist die Festlegung von Mindestkriterien an ein Softwaresystem zu verstehen, deren Erfüllung vor der Übernahme des Softwaresystems in die Produktion fachlich und technisch überprüft wird. |
Entwicklertest |
|
» |
Interner Test der einzelnen Programme/Module durch den jeweiligen Entwickler |
» |
Die Tests sind gem. Revisionsvorgabe/ Vorgabe von Standards zu dokumentieren |
» |
Die Dokumentationen sind geeignet nach bestimmten Kriterien zu archivieren |
Ziel eines Modultest ist es einzelne Softwarekomponenten hinsichtlich folgender Leistungsmerkmale zu testen:
Modultest |
|
» |
Grundsätzliche technische Verfügbarkeit (Leitungsanbindung, korrekte Konfiguration der Systemkomponenten z.B. Firewalls, Dateitransfer) |
» |
Erreichung der notwendigen technischen Stabilität (ohne Massen- und Performancetest) |
» |
Formale Konsistenz der Daten (nicht inhaltliche, fachliche Korrektheit) |
|
Bei Online-Schnittstellen die Verbindung(en) |
Ein Systemtest wird in der Regel mit einer gegenüber einem Integrationstest reduzierten Zahl von Testfällen durchgeführt. Ziel eines Systemtestes ist es, fachlich zusammengehörende
Teilkomponenten des Gesamtsystems „point to point“ zu testen:
Systemtest |
|
» |
Einsatz von Migrationsprogrammen mit Echtdaten (im Ablauf) in der Testumgebung inkl. der eventuell für die Migration erforderlicher Schnittstellen auf Basis der erhobenen Parameter. Der Systemtest wird i.d.R. mit einer gegenüber dem Integrationstest reduzierten Zahl von Testfällen durchgeführt |
Ziel eines Integrationstestes ist der Test des Gesamtsystems (in sinnvoll fachlichen Teilabschnitten) und einer entsprechend vereinbarten Schnittstellenverarbeitung:
Integrationstest |
|
» |
Hier wird das Gesamtsystem (in sinnvoll fachlichen Teilabschnitten, z.B. Parameter, Konditionen, Schnittstellen) innerhalb eines definierten Testzeitraumes getestet. |
Ziel eines Paralleltest ist es, einen Zeitraum zu „simuliert“, bei dem Geschäftsvorfälle sowohl im ALT- System und auf den neu migrierten System synchron durchgeführt werden:
Paralleltest |
|
» |
Die Ergebnisse werden gegeneinander abgeglichen und bewertet |
1. Testen weist Fehler nach |
|
» » » |
Nachweis von Fehlerwirkungen Kein Beweis für Fehlerfreiheit Minimierung der Wahrscheinlichkeit von unentdeckten Fehlerzuständen |
2. Tests sind i. d. R. nicht vollständig |
|
» » |
Ein vollständiger Test ist nur bei trivialen Testobjekten möglich Tests sind immer nur Stichproben |
3. Beginne früh mit dem Testen |
|
» |
dann werden Fehler früh gefunden |
4. Fehler treten an bestimmten Stellen gehäuft auf in nur wenigen Teilen eines Testobjektes |
5. Überflüssig sind wiederholte Ausführungen derselben Testfälle |
|
»
» |
Bei unveränderter Software und Umgebungen führen Wiederholungen der immer gleichen Testfälle zu keinen neuen Erkenntnissen Testfälle müssen regelmäßig geprüft und ergänzt oder geändert werden, dann werden Fehler früh gefunden |
6. Das Umfeld bestimmt den Test |
|
» » » |
Keine zwei Systeme sind auf die exakt gleiche Art und Weise zu testen Unterschiedliche Intensität des Testens, Definition der Testende Kriterien Branchentypische Tests |
7. Keine Fehler aufzudecken bedeutet nicht automatisch ein brauchbares System |
|
» » » |
Entspricht das System den Vorstellungen und Erwartungen der Nutzer? Frühzeitige Einbeziehung der späteren Nutzer (Usability Test) Nutzung von Prototyping („Click Dummy“) |