Software Test - Kapitel 4 Flashcards
Testprozess und Testmanagement
Allgemein zu Testprozess nach ISTQB
Der Testprozess nach ISTQB gliedert die Testaktivitäten (die in einem SW-Projekt zu erledigen sind) in fünf Aufgabengebiete.
Wie lauten die fünf Anwendungsgebiete nach ISTQB?
- Planung & Steuerung = Testmanagement
- Analyse (der Testziele) und Entwurf (der Testfälle)
- Realisierung (Implementierung) und Durchführung der Testfälle
- Auswertung und Bericht (der Testergebnisse)
- Abschluss der Testarbeiten und Archivierung der Dokumente
Testprozess allgemein
Testen ist keine am Entwicklungsende stattfindende, einmalige Aktivität, sondern findet entwicklungsbegleitend über die gesamte Projektdauer hinweg iterativ bzw. kontinuierlich statt.
- alle Testobjekte
- verschiedene Versionen
- auf verschiedenen Stufen (Komponenten, Integration,..)
Was sind die Aufgaben des Testmanagements?
- Tests und Testaktivitäten planen
- Tests organisieren und leiten
- geplante Testaktivitäten realisieren und steuern
- Tests entwicklungsbegleitend durchführen
- Testergebnisse auswerten, bewerten und berichten
- Fehlstatus- und Korrekturverfolgung
- Testinhalte/Testschwerpunkte situationsgerecht anpassen
Welche Kennzeichen gibt es bei Testmanagement?
- Trennung von konstruktiven und prüfenden Aktivitäten
- zu jeder Abstraktionsstufe/Entwicklungsstufe existiert eine korrespondierende Teststufe:
- Komponententest -> Entwickler
- System- und Abnahmetest -> unabhängige Systemtest-Teams
- Jede Teststufe besitzt spezifische Testziele:
- Testentwurf basiert auf den Dokumenten der korrespondierenden Entwicklungsstufe
- Tester werden frühzeitig an Reviews von Entwicklungsdokumenten beteiligt
Testen in agilen Projekten
Welche Anforderungen gibt es an das Testen?
- Sprints & Timeboxing
- testen im Takt der Iterationen
- schnelles, kontinuierliches Feedback an die Programmierer
- Product & Sprint Backlog
- verstehen, welche Anforderungen wichtig sind
- Anforderungen testbar formulieren
- Shippable Product
- Transparenz
- tägliches Feedback über die Produktqualität
- Input für die Retrospektive
- Kein Waterscrum!
- nicht am Ende des Projektc einen Testsprint
- nicht einen Sprint in die klassischen Stufen unterteilen
Wie lauten die Erfolgsfaktoren bei agilen Testen?
- Testautomatisierung
- Exploratives Testen
- Testexpertise im Team (CI, Test First, Testdesign,…)
- Teamübergreifende Sicht
Test First
- Dreht klassische Reihenfolge “erst programmieren - anschließend testen” um
- Test treiben Entwickler an -> Test-Driven-Developement
Tests risikobasiert planen
- wie viele Tests?
- so viel wie nötig! (nicht alles, was kann ich weglassen?)
- Risiko ist eines der besten Kriterien zum Priorisieren von Testfällen
Wie errechnet sich das Risiko?
Risiko = Schaden x Schadenswahrscheinlichkeit = Kosten des Schadens x Häufigkeit des Eintritts
Risikobasiertes Testen
- nutzt Infos über die Risiken für Planung, Spezifikation, Vorbereitung und Durchführung
- risikoreiche Produktteile intensiver und früher testen als risikoärmere
- alle wesentlichen Elemente der Teststrategie werden risikoorientiert festgelegt:
- Testaufwand
- Verteilung des Testaufwands auf die TOs
- einzusetzende Testmethoden
- Priorität von Testfällen
Wie ist das Vorgehen bei risikobasierten Testen?
- Risikoanalyse
- Anforderungen, Use Cases, Produkt-Features
- bezüglich Produktrisiken bewerten
- Testplanung
- Testumfang orientiert an den Produktrisiken verteilen
- Testmethoden orientiert am angestrebten Testumfang auswählen
- Testfälle orientiert an den adressierten Risiken priorisieren
- Ergebnis
- Risikoorientiert verteiltes Testbudget
- Risikoorientiert priorisierte Liste von Testfällen
Was sind die Kriterien zur Testfall Priorisierung?
- Risiko eines Fehlverhaltens/Schaden
- Nutzungshäufigkeit der Funktion bzw. Eintrittshäufigkeit
- Schwere des Schadens den die Fehlerwirkung erzeugt
- Wahrnehmbarkeit der Fehlerwirkung
- Priorität der zugrundeliegenden Anforderung
- Bedeutung/Relevanz der Anforderung/Funktion
- Bedeutung/Relevanz des Qualitätsmerkmals
- Schwierigkeit der Implementierung
- Komplexität, Neuheit, Termindruck
Leitlinien für die Testplanung
- No risk, no Test!
- Beginne mit dem Testen so frühzeitig wie möglich
- plane Tests so, dass wenn zu irgendeinem Zeitpunkt der Test beendet werden muss, die dann bestmögliche Testabdeckung erzielt ist
Teststatus berichten und Tests steuern
- Testmanager muss regelmäßig Teststatus feststellen, bewerten und berichten
- objektive Aussagen über Qualität, Testfortschritt und Testprozess
- Daten helfen Entscheidungen zu unterstützen