Definitionen Flashcards
Sach- und Folgeziele des Testens
Testen ist eine Aufgabe mit dem Sachziel, die Qualität einer Software nachweisbar zu bewerten (Transparenz zu schaffen).
Folgeziele
- Qualitätsrisiken reduzieren
- Prüfen, ob Anforderungen erfüllt sind
- Vertrauen in das Qualitätsniveau der Software schaffen
- Infos zum Qualitätsniveau unterstützt die Entscheidungsfindung
Testobjekt und Testelement
Testobjekt - Das zu testende Arbeitsobjekt
Testelement - Teil des Testobjekts, das in einem Testprozess verwendet wird
Debugging
Debugging hat das Ziel, ausgehend von einer wahrgenommenen Fehlerwirkung, die Ursache zu finden, zu analysieren und zu beheben
Debugging ist NICHT Bestandteil des Testens!
Unterscheidung Qualitätssicherung und Testen
Qualitätssicherung kann als vorbeugende Maßnahme verstanden werden
Testen dient als prüfende Maßnahme zur Qualitätssteuerung und -lenkung.
Zusammenhang zwischen Fehlerhandlung, Fehlerzustand und Fehlerwirkung.
Fehlerhandlung (Error)
menschlicher Irrtum, der zu einem Fehler in einem Arbeitsergebnis führen kann
Fehlerzustand (Defect)
Unzulänglichkeit in einem Arbeitsergebnis, welche die Notwendigkeit einer Korrektur bedarf
Fehlerwirkung (Failure)
Tatsächliches Verhalten einer Software weicht bei einer Ausführung aufgrund eines Fehlers vom erwarteten Verhalten ab
7 Grundsätze des Softwaretestens
- Testen zeigt die Anwesenheit von Fehlern (Fehlerzuständen), nicht deren Abwesenheit.
- Vollständiges Testen ist NICHT möglich!
- Frühes Testen spart Zeit und Geld
- Häufung von Fehlern - Fehler treten nicht gleichverteilt auf
- Pestizid-Paradoxon (Fehlerfindungseffektivität sinkt)
- Testen ist kontextabhängig
- Trugschluss “keine Fehler bedeutet ein brauchbares System”
Phasen des Testprozesses
Testplanung
(Testziele - Testvorgehensweise - Testkonzept)
Testanalyse - Was wird getestet?
(Bewertung der vorhandenen Testbasis - Testbedingungen)
Test(fall)entwurf - Wie wir getestet?
(Abstrakte Testfälle - Bedarf Testfälle - Entwurf Testumgebung - Bedarf Infrastruktur und Werkzeuge)
Testrealisierung - Ist alles für die Durchführung der Tests bereit?
(Testdaten generieren - Konkrete Testfälle - Testabläufe - Testsuites - Testausführungsplan - Testumgebung - Infrastruktur und Werkzeuge)
Testdurchführung
(Testprotokoll - Abweichungen)
Testabschluss
(Testabschlussbericht - Testmittel archivieren - Lessons Learned)
Begleitend findet die Testüberwachung und -steuerung statt (Testfortschrittsberichte)
Testmanagement
- Planung
- Überwachung & Steuerung
- Abschluss
Zusammenhand Testabläufe - Testsuites
Testablauf
Eine Folge von Testfällen in der Reihenfolge ihrer Durchführung, mit allen erforderlichen Aktionen zur Herstellung der Vorbedingungen und zum Aufräumen nach der Durchführung
Testsuite
Eine Menge von Testfällen oder Testabläufen, welche in einem bestimmten Testzyklus ausgeführt werden sollen
Merkmale für gut integriertes Testen im Softwareentwicklungslebenszyklus
Zu jeder Entwicklungsaktivität gibt es eine Aktivität im Testen
Jede Teststufe hat spezifische Testziele
Testanalyse und -entwurf für eine Teststufe beginnen während der zugehörigen Entwicklungsaktivität
Tester nehmen an der Diskussion zur Definition & Verfeinerung von Anforderungen teil
Tester sind früh am Review von Arbeitsergebnissen beteiligt
Definition und Merkmale einer Teststufe
Eine spezifische Instanziierung des Testprozesses
Merkmale:
- Spezifische Ziele
- Testbasis
- Testobjekt
- Typische Fehler und Fehlerwirkungen die gefunden werden
- spezifische Ansätze und Verantwortlichkeiten
- Anforderungen an die Testumgebung, Infrastruktur & Tools
Definition Komponententest
Testen der einzelnen Hardware- oder Softwarekomponente
Komponente: Kleinste Einheit eines Systems, die für sich alleine getestet werden kann.
Definition Komponentenintegrationstest
Testen der Schnittstellen und des Zusammenwirkens integrierter Komponenten
Definition Systemtest
Testen eines integrierten Systems
Definition Systemintegrationstest
Testen der Verbindung und Interaktion von Systemen
Definition Abnahmetest
Testen hinsichtlich der definierten Anforderungen
Entscheidung auf der Basis der Abnahmekriterien ermöglichen, ob ein System anzunehmen ist oder nicht