Wonach lassen sich Softwarefehler klassifizieren?
Ursachen der Fehler:
Phase der Fehlerentstehung:
Fehlerart:
Verteilung der Fehler auf einzelne Module (Pareto-Phänomen)
Wie lassen sich die Begriffe „Fehler“ und „Mangel“ voneinander abgrenzen?
Fehler:
Mangel:
Unterscheidung wichtig für Auftragnehmer und Auftraggeber im Rahmen der Vertragsgestaltung
Wie verhalten sich die Kosten von Fehlern im Projektverlauf?
Aufgrund des Summationseffekts sind die Kosten umso höher ...
Wie kann die Wirtschaftlichkeit von Testaufwänden beurteilt werden?
Testprozesse sind im Rahmen der Softwareentwicklung mit Aufwand und Kosten verbunden:
+ Testen senkt die Wartungskosten und
+ Gefahr von Folgekosten durch Fehler
+ Hohe Produktqualität
- Testen erhöht die Entwicklungskosten und verlängert die Projektdauer
- Entwicklungszeit vs. Fehlerhaftigkeit
Berechnung der Wirtschaftlichkeit durch Test-ROI:
Was bedeuten die Begriffe Qualität, Qualitätsmanagement und Qualitätssicherung?
Qualität:
Qualitätsmanagement (QM):
Qualitätssicherung (QS):
Was versteht man unter einem Qualitätsmanagementsystem(QMS)?
Was ist ein Komponententest?
Basis:
Objekte:
Umgebung:
Ziele:
Was ist ein Integrationstest und welche Strategien gibt es um ihn durchzuführen?
Top-down:
Bottom-up:
Basis:
Objekte:
Umgebung:
Ziele:
Was ist ein Systemtest und welche Tätigkeiten umfasst er?
Leistungstest:
Stresstest:
Basis:
Objekte:
Umgebung:
Ziele:
Was ist ein Abnahmetest/Akzeptanztest und warum ist es wichtig ihn früh durchzuführen?
Basis:
Objekte:
Umgebung:
Ziele:
Test auf Benutzerakzeptanz:
Wie unterscheiden sich produkt- und prozessorientiertes Qualitätsmanagement?
Produktorientiert:
Prozessorientiert:
Wie unterscheiden sich konstruktives und analytisches Qualitätsmanagement?
Konstruktiv:
Analytisch:
Was sind testende Verfahren?
Was versteht man unter Testfall, Test-, Eingabe- Ist- und Soll-Datum?
Testfall:
Testdatum:
Eingabedatum:
Ist-Datum:
Soll-Datum:
Was ist ein Testorakel?
Probleme:
Wie lassen sich Defekt, Fehler und Ausfall voneinander abgrenzen?
Defekt:
Fehler:
Ausfall:
Was versteht man unter dem Überdeckungsgrad?
Was ist ein Regressionstest?
Was ist White-Box- und Black-Box-Testing?
White-Box (auch struktureller oder implementationsorientierter Testansatz genannt):
Black-Box (auch funktionaler Testansatz genannt):
Welche Vor- und Nachteile haben White-Box und Black-Box Testing jeweils?
White-Box:
+ Automatische Tests möglich, da Programm als Testbasis mit wohldefinierter Syntax und Semantik
+ Programme können ohne Spezifikation getestet werden
+ Implementierte, aber nicht spezifizierte Programmteile werden getestet
- Spezifizierte, aber nicht implementierte Programmteile werden nicht entdeckt
Black-Box:
+ Spezifizierte, aber nicht implementierte Programmteile werden entdeckt
+ Aussagekräftige Spezifikation erlaubt systematisches Erstellen von Testdaten (z.B. zum Testen von formal definierten Integritätsbedingungen)
+ Wiederverwendung von Testdaten für verschiedene Plattformen
- Implementierte, aber nicht spezifizierte Programmteile werden nicht entdeckt und nicht getestet
- Wenig aussagekräftige Spezifikation führen zu unrepräsentativen Testdaten
Was sind Kontrollflussbezogene Testverfahren?
Ziel:
Analysemittel:
Welche Fehler können mit kontrollflussbezogenen Verfahren aufgedeckt werden?
Berechnungsfehler:
Bereichsfehler:
Unterbereichsfehler:
Was ist ein Kontrollflussgraph und welche Bestandteile besitzt er?
Der Kontrollflussgraph eines Programms P ist ein gerichteter Graph G = (N,E) mit 2 ausgezeichneten Knoten nstart ,nfinal (Anfangs- und Endanweisung).
Bestandteile:
Welche unterschiedlichen Arten von Überdeckungstest gibt es?
Wie unterscheiden sich systematische und unsystematische Black-Box Verfahren?
Unsystematische Black-Box-Verfahren:
Systematische Black-Box-Verfahren (Auswahl):
Wie werden Äquivalenzklassen gebildet?
Vorgehen:
Was ist Test-Driven-Development (TDD)?
Prinzip/Mantra:
Was sind die Vorteile von TDD?
Wie ist das Risiko für die Einführung von TDD zu bewerten?
Wie wird TDD umgesetzt?
Was ist Behaviour Driven Development (BDD)?