Grundlagen Flashcards
Nenne 4 Ziele von Tests
Testziele:
- Aufdecken von Fehlerzuständen
- Erzeugen von Vertrauen bezüglich des Qualitätsniveaus des Systems
- Liefern von Informationen zur Entscheidungsfindung
- Vorbeugen von Fehlerzuständen
Was ist die Definition bzw. der Nutzen von
“Debugging” und “Testen”
Tests können Fehlerwirkungen zeigen, die durch Fehlerzustände verursacht werden.
Anschließende Fehlernachtests durch einen Tester stellen sicher, dass die Lösung wirklich die Fehlerwirkung behoben hat.
Verantwortlich: Tester.
Debugging ist eine Entwicklungsaktivität, die die Ursache einer Fehlerwirkung identifiziert, analysiert und entfernt.
Verantwortlich: Entwickler.
Nenne die 7 Grundsätze des Testens
Grundsatz 1: Testen zeigt die Anwesenheit von Fehlerzuständen
Grundsatz 2: Vollständiges Testen ist nicht möglich
Grundsatz 3: Mit dem Testen frühzeitig beginnen
Grundsatz 4: Häufung von Fehlern
Grundsatz 5: Wiederholungen haben keine Wirksamkeit
Grundsatz 6: Testen ist abhängig vom Umfeld
Grundsatz 7: Trugschluss: „Keine Fehler“ bedeutet ein brauchbares System
Was ist eine Testbedingung?
Eine Testbedingung ist definiert als eine Einheit oder ein Ereignis, z.B. eine Funktion, eine Transaktion, ein Qualitätsmerkmal oder ein strukturelles Element, das durch einen oder mehrere Testfälle verifiziert werden kann.
Nenne 6 Qualitätsmerkmale von Software
Qualitätsmerkmale von Software:
- Änderbarkeit/ Wartbarkeit
- Effizienz
- Übertragbarkeit
- Zuverlässigkeit
- Funktionalität
- Benutzbarkeit
Was ist die zyklomatische Zahl?
Die zyklomatische Zahl misst die strukturelle Komplexität des Quellcodes.
Wie lautet die Definition von Verifikation?
Verifikation:
Eine Sache richtig machen. Bsp: die Umsetzung enthält keinen Spaghetti-Code
Wie lautet die Definition von Validation?
Validation:
Das Richtige machen. Was der Kunde will.
Nenne die 4 Stufen, die im Wasserfall-Modell vor dem Coding kommen, in der richtigen Reihenfolge
Stufen des Wasserfall-Modells:
- User Requirements
- System Requirements
- Global Design („Architecture Design/High Level Design“)
- Detailed Design („Low level design“)
Coding
Testing
Nenne die 12 Aufgaben eines Testmanagers
Aufgaben eines Testmanagers:
- Koordination der Teststrategie und Planung
- Erstellen / Prüfen der Teststrategie für das Projekt und einer Testrichtlinie für die Organisation
- Einbringen der Testperspektive in andere Projektaktivitäten, (Bsp. Integrationsplanung)
- Planen der Tests einschließlich Auswahl der Testvorgehensweise, Schätzen der Zeit, des Aufwands und der Kosten des Testens, Ressourcenbeschaffung, Definition der Teststufen, Testzyklen und Planen des Abweichungsmanagements
- Initiieren der Spezifikation, Vorbereiten, Implementieren und Durchführen von Tests, Überwachen der Testergebnisse und Prüfen der Endekriterien
- Anpassen der Planung an Testergebnisse und Testfortschritt (manchmal in den Statusberichten dokumentiert) und Einleiten aller erforderlichen Maßnahmen bei Problemen
- Aufbau eines angemessenen Konfigurationsmanagements der Testmittel zur Rückverfolgbarkeit
- Einführen passender Metriken zum Messen des Testfortschritts und zur Bewertung der Qualität des Testens und des Produkts
- Entscheidung, was zu welchem Grad und wie automatisiert werden sollte
- Auswahl der Werkzeuge zur Testunterstützung und Organisation sämtlicher Werkzeugschulungen
- Entscheiden über die Implementierung der Testumgebung
- Schreiben von Testabschlussberichten
Nenne die 10 Aufgaben eines Testers
Aufgaben eines Testers:
- Mitarbeit an und Prüfung von Testkonzepten
- Analyse, Prüfung und Bewertung von Benutzeranforderungen, Spezifikationen und Modellen im Hinblick auf Testbarkeit
- Erstellen von Testspezifikationen
- Aufbau der Testumgebung (oft in Abstimmung mit System- und Netzwerkadministration).
- Vorbereiten oder Anfordern von Testdaten
- Implementieren von Tests auf allen Stufen, Durchführen der Tests und ihre Protokollierung, Auswerten der Testergebnisse und Dokumentation der Abweichungen von erwarteten Ergebnissen
- Einsetzen von Testadministrations- oder Testmanagement- und Testüberwachungswerkzeugen wie gefordert
- Automatisieren von Tests
- Messen der Leistungsfähigkeit/Performanz von Komponenten und Systemen
- Prüfen der Tests, die von anderen entwickelt wurden
Nenne 10 Testplanungsaktivitäten
Testplanungsaktivitäten:
- Festlegen des Umfangs und der Risiken sowie Identifizierung der Testziele
- Definieren des allgemeinen Testansatzes, einschließlich Definition der Teststufen und der Eingangs- und Endekriterien
- Koordinieren und Integrieren der Testaktivitäten in die Aktivitäten des Softwarelebenszyklus (Beschaffung, Bereitstellung, Entwicklung, Betrieb und Wartung)
- Entscheiden, was zu testen ist, welche Rollen welche Testaktivitäten ausführen werden, wann und wie die Testaktivitäten auszuführen sind und wie die Testergebnisse bewertet werden
- Testanalyse und Entwurfsaktivitäten planen
- Testimplementierung, -ausführung und -bewertung planen
- Ressourcen den verschiedenen definierten Aufgaben zuordnen
- Definieren des Umfangs, des Detaillierungsgrads, der Struktur und der Vorlagen für die Testdokumentation
- Selektieren der Metriken zur Überwachung und Steuerung der Testvorbereitung und -durchführung, Fehlerzustandsbehebung und Risikofaktoren
- Bestimmen des Detaillierungsgrads für Testablaufspezifikationen, um genügend Informationen in Hinblick auf eine reproduzierbare Testvorbereitung und -durchführung zu liefern