T2 Fundamentaler Siemens AG Österreich 2005 All Rights Reserved Institut f. Software Technology, TU-Graz Armin Beer, PSE Support-Center Test Overview der Software- Entwicklung 2 1
Wasserfall-Modell Analyse Validierung Entwurf Codierung Verifikation Testen Betrieb 3 Systemanforderungen Softwareanforderungen Allgemeines V-Modell Review; Planung Komponententest Komponentenspezifikation Planung Abnahmetest Anforderungsdefinition Review; Planung Systemtest Funktionaler Test Abnahmetest Systemtest Review; Planung Integrationstest Technischer Integrationstest Komponententest Review; Programmierung Programmierung 4 2
Fundamentaler Komponentenspezifikation Anforderungsdefinition Funktionaler Technischer Programmierung Test Testplanung Testspezifikation Komponententest Integrationstest Systemtest Abnahmetest Durchführung Test - Durchführung Testprotokollierung Testauswertung 5 Vorbereitung 1. Testplanung Festlegung von Testmethoden und den zu erreichenden Überdeckungs-Kriterien Festlegung der Testende-Kriterien Priorisierung und Strukturierung der Tests Werkzeugunterstützung und die Konfiguration der Testumgebung Planung von Ressourcen und Meilensteinen Dokumentation: Testkonzept nach IEEE829 und Planung von Ressourcen- und Meilensteinen in MSProject-Plan! 6 3
2. Testspezifikation Systematische Erstellung von Testfällen Basis sind die im linken Ast des V-Modells angegebenen Entwicklungs-Dokumente Zuerst logische Testfälle Dann konkrete Testfälle (Testdaten sind definiert) Anwendung von Testfall-Design-Methoden wie z.b. Äquivalenzklassen, Ursache-Wirkungs-Analyse, zustands-basiert...! 7 3. Testdurchführung Zusammenstellen einer Test Suite durch Auswahl geeigneter Testfälle Durchführung der manuellen und automatisierten Testfälle Tool-Unterstüzung ist wichtig Planung der Inkremente der Software mit definiertem Funktionsumfang! 8 4
4. Testprotokollierung Das Protokoll eines Testlaufs, aus dem hervorgeht welche Teile wann, von wem, wie intensiv und mit welchem Ergebnis getestet wurden. Testberichte werden aus dem Testmanagement-Tool generiert Summary report für das Management Der Testbericht spiegelt den aktuellen Qualitätsstand einer Software-Version wieder. 9 5. Testauswertung (1) Testorakel: Informationsquelle zur Ermittlung der jeweiligen Sollergebnisse eines Testfalls Anforderungsspezifikation, User Manual etc. ein existierendes System für ein Benchmark Fachwissen aber nicht der Code Liegt eine Fehlerwirkung vor oder nicht? Vergleich zwischen Istergebnis/Istverhalten und Sollergebnis/Sollverhalten Unterstützung des Testnachweis durch Logfiles oder Screenshots! 10 5
5. Testauswertung (2) Analyse der nicht erfolgreichen Testfälle Sammeln von Indizien zur Fehlerlokalisierung Erfassen der gefundenen Fehler im Fehlermanagement-System (Wichtig: Link zwischen Testlauf, -fall und Fehler-Nr.) Rückverfolgbarkeit vom Testfall zu den Anforderungen Rückverfolgbarkeit für die Fehlerlokalisierung und einen exakten Qualitätsnachweis! 11 Kriterien für Priorisierung: Wahrscheinlichkeit einer Fehlerwirkung Fehlerschwere Fehlerrisiko Wahrnehmbarkeit der Fehlerwirkung Priorität der Anforderungen Komplexität etc. Risikomanagement zur besseren Aufteilung des Testaufwands! 12 6
Primäres Ziel des Testens von Software ist die Aufdeckung von Abweichungen von den spezifizierten Anforderungen und Erwartungen des Kunden Blindheit gegen Fehlerwirkungen des eigenen Programms Unabhängigkeit zwischen Entwicklung und Tests durch Entwicklertests, unabhängige Testteams, Test- Outsourcing. Sicht von außen erleichtert die Fehlerfindung, daher Trennung von Systemtest und Entwicklertests. 13 Testen ist eine komplexe Aufgabe Der ist in den Entwicklungsprozess eingebettet Der fundamentale besteht aus fünf Phasen Priorisierung von Tests bei Zeitmangel Testen ist eine kreative, interessante Tätigkeit Ein gewisser Grad der Unabhängigkeit zwischen Entwicklung und Test ist sinnvoll 14 7