Gib 9 typische Testziele an
Evaluieren von Arbeitsergeabnissen wie Anforderungen, User Storys, Entwürfe und Code
Auslösen von Fehlerwirkungen und Finden von Fehlerzuständen
Sicherstellen der erforderlichen Überdeckung eines Testobjekts
Verringern des Risikos einer unzureichenden Softwarequalität
Verifizieren, ob spezifizierte Anforderungen erfüllt wurden
Verifizieren, ob ein Testobjekt den vertraglichen, rechtlichen und regulatorischen Anforderungen entspricht
Bereitstellen von Informationen für die Stakeholder, damit diese fundierte Entscheidungen treffen können
Aufbauen von Vertrauen in die Qualität des Testobjekts
Validieren, ob das Testobjekt vollständig ist und aus Sicht der Stakeholder wie erwartet funktioniert.
Gib 5 Dinge an, die zum Kontext gehören und Einfluss auf die Testziele haben können
Das zu testende Arbeitsergebnis
Die Teststufe
Risiken
Der Softwareentwicklungslebenszyklus
Faktoren im Zusammenhang mit dem geschäftlichen Kontext, z.B.
die Unternehmensstruktur
Wettbewerbserwägungen
die Zeit bis zur Markteinführung.
Was identifiziert dynamischer vs. statischer Test?
Dynamisch:
Fehlerwirkungen, die durch Fehlerzustände in der Software verursacht werden
Statisch
Direkt Fehlerzustände im Testobjekt finden
Angenommen du findest im dynamischen Test eine Fehlerwirkung. Was ist das Ziel von Debugging? Aus welchen 3 Schritten besteht der Debugging-Prozess? Was folgt darauf?
Ziel: Die Ursachen für die Fehlerwirkung (die Fehlerzustände) zu finden, diese zu analysieren und zu beseitigen. Schritte_
Reproduzieren einer Fehlerwirkung
Diagnose (Finden der Grundursache)
Behebung der Ursache
Fehlernachtests, Regressionstests
Angenommen du findest beim statischen Test einen Fehlerzustand. Was ist das Ziel vom Debugging? Welchen Einfluss hat der statische Befund auf den Debugging-Prozess?
Ziel: Beseitigen des Fehlerzustands.Beim Debugging-Prozess fallen die Reproduktion und Diagnose heraus. Folglich reduziert sich der Prozess auf:
Behebung
Gib 6 Beispiele für den Beitrag vom Testen zum Projekterfolg
Kosteneffizientes Mittel zur Erkennung von Fehlerzuständen
Höhere Qualität der Testobjekte (wenn Fehlerzustände behoben werden)
Direkte Bewertung der Qualität des Testobjekts
Beitrag zu Entscheidungen
Indirekte Repräsentation von Benutzern im Projekt
Kann erforderlich sein (vertraglich, gesetzlich, regulatorisch)
Erkläre den Zusammenhang zwischen Testen, Qualitätssicherung und Qualitätssteuerung.
Was ist QS?
Was ist das Ziel von Qualitätssicherung?
Welche 2 Kernattribute hat es?
Was ist das Ziel von Qualitätssteuerung?
Gib 4 Beispiele, wo auch immer es passt.
Qualitätssteuerung: Ziel = Hohe Produktqualität durch Evaluation des Produkts
Produkorientiert
Korrigierend
Beispiele:
Testen
Prototypen
Simulation
Modellprüfung und Korrektheitsbeweis
QS = Qualitätssicherung
Qualtitätssicherung: Überwacht Entwicklungs und Testprozess um hohe Prozessqualität zu erreichen
Prozessorientiert
Präventiv
Erkläre die Unterschiede zwischen
Grundursache
Fehlhandlung
Fehlerzustand
Fehlerwirkung
Eigentliche Ursache. Bspw. Müdigkeit, unzureichende Schulung
Die Handlung, die ein Problem verursacht. Also das Schreiben inkorrekter Anweisungen
Der fehlerhafte Zustand im Produkt (bspw. fehlerhafter Code oder falsche Anforderung)
Fehlerhaftes Ergebnis verursacht durch den Fehlerzustand.
Nenne die sieben Grundsätze des Testens
Testen zeigt das Vorhandensein, nicht die Abwesenheit von Fehlerzuständen
Vollständiges Testen ist unmöglich
Frühes Testen spart Zeit und Geld
Fehlerzustände treten gehäuft auf
Tests nutzen sich ab
Testen ist kontextabhängig
Trugschluss: „Keine Fehler“ bedeutet ein brauchbares System
Was sind die 7 Aktivitäten des Testprozesses?
Testplanung
Testüberwachung und Teststeuerung
Testanalyse
Testentwurf
Testrealisierung
Testdurchführung
Testabschluss
Was sind die 2 Aufgaben der Testplanung?
Testziele definieren
Testkonzept festlegen
Was sind die Aufgaben der Testüberwachung und Teststeuerung? (je 1)
Testüberwachung: Vergleich des Testfortschritts mit dem Plan
Teststeuerung: Ergreifen von Korrekturmaßnahmen
Was sind die 4 Aufgaben der Testanalyse? Welche Frage beantwortet es (und wie)? Welches Hifsmittel kann zu trage kommen?
Ableiten von Testbedingungen aus der Testbasis
Ableiten von Risiken und Risikostufen
Prüfen der Testbasis (und ggf. -objekte) auf Fehlerzustände
Testbarkeit der Testbasis (und ggf. -objekte) prüfen
Beantwortet Frage: Was soll getestet werden? Und zwar in Form messbarer Überdeckungskriterien. Hilfsmittel: Testverfahren
Was sind die 5 Aufgaben des Testentwurfs? Welche Frage wird beantwortet? Welches Hilfsmittel kommt oft zum Einsatz?
Ausarbeiten von Testbedingungen zu Testfällen und sonstigen Testmitteln
Identifizierung von Überdeckungselementen (nicht -kriterien!)
Definition von Anforderungen an die Testdaten
Entwurf der Testumgebung
Identifizierung sonstiger benötigter Werkzeuge und Infrastruktur
Beantwortet die Frage: Wie soll getestet werden?
Hilfsmittel: Testverfahren
Was sind die 5 Aufgaben der Testrealisierung?
Erstellung und Beschaffung von Testmitteln für Testdurchführung (bspw. Testdaten)
Organisation von Testfällen in Testabläufe und Testsuiten
Erstellung (manueller oder automatischer) Testskripte
Priorisierung von Testabläufen und Anordnung in Testausführungsplan
Aufbau der Testumgebung
Was sind die 4 Aufgaben der Testdurchführung?
Ausführung der Tests
Protokollieren der Ergebnisse
Vergleich der Ergebnisse mit den Erwartungen
Ursachenanalyse für Abweichungen
Wann findet der Testabschluss statt? Was sind seine 5 Aufgaben?
Der Testabschluss findet idR zu Projektmeilensteinen statt (Freigabe, Ende einer Iteration oder einer Teststufe).Aufgaben:
Änderungsanträge (Change Requests) oder Product-Backlog-Elemente für nicht-behobene Fehlerzustände erstellen
Testmittel archivieren
Testumgebung in einem vereinbarten Zustand hinterlassen
Lessons-Learned ermitteln
Testabschlussbericht erstellen
Welche 8 kontextuellen Aspekte haben Einfluss auf den Testprozess?
Stakeholder
Bedürfnisse, Erwartungen, Anforderungen, Bereitschaft zur Zusammen- arbeit
Teammitglieder
Kompetenz, Wissen, Erfahrungsstand, Verfügbarkeit, Schulungsbedarf
Unternehmensbereich
Kritikalität des Testobjekts, identifizierte Risiken, Marktbedürfnisse, spezifische gesetzliche Vorschriften
Technische Faktoren
Art der Software, Produktarchitektur, verwendete Technologie
Projektbedingte Randbedingungen
Umfang, Zeit, Budget, Ressourcen
Organisatorische Faktoren
Organisationsstruktur, bestehende Richtlinien angewandte Praktiken
Softwareentwicklungslebenszyklus
technologische Praktiken, Entwicklungsmethoden
Werkzeuge
Verfügbarkeit, Gebrauchstauglichkeit, Konformität
Was sind die 4 Arbeitsergebnisse der Testplanung?
Testkonzept
Testzeitplan
Risikoverzeichnis
eine Liste von Risiken mit ihrer jeweiligen Eintrittswahrscheinlichkeit, ihrem Schadensausmaß und Informationen zur Risikominderung
Eingangs- und Endekriterien
Was sind die 3 Arbeitsergebnisse der Testüberwachung und -steuerung?
Testfortschrittsberichte
Dokumentation der Steuerungsmaßnahmen
Risikoinformationen
Was sind die 2 Arbeitsergebnisse der Testanalyse:?
(priorisierte) Testbedingungen (z. B. Abnahmekriterien)
Fehlerberichte über Fehlerzustände in der Testbasis (falls nicht direkt behoben)
Was sind die 4 Arbeitsergebnisse des Testentwurfs?
(priorisierte) Testfälle
Test-Chartas
Überdeckungselemente
Anforderungen an Testdaten und an Testumgebungen
Was sind die 6 Arbeitsergebnisse der Testrealisierung?
Testabläufe
automatisierte Testskripte
Testsuiten
Testdaten
Testausführungspläne
Bestandteile der Testumgebung
Platzhalter, Treiber, Simulatoren und Dienst-Virtualisierungen (service virtualizations)
Was sind die 2 Arbeitsergebnisse der Testdurchführung?
Testprotokolle
Fehlerberichte
Was sind die 4 Arbeitsergebnisse des Testabschlusses?
Testabschlussberichte
Maßnahmen zur Verbesserung nachfolgender Projekte oder Iterationen
dokumentierte Lessons Learned
Änderungsanträge (z. B. als Elemente des Produkt-Backlogs).
Welche 4 Dinge verbindet Verfolgbarkeit? Welche 3 positiven Effekte erzielt man durch Verfolgbarkeit?
Die Verfolgbarkeit verbindet:
Testbasis
Testmittel
Testergebnisse
Fehlerzustände
Positive Effekte durch Verfolgbarkeit:
Unterstützt die Bewertung der Überdeckung
Hilft Auswirkung / Effekte von Änderungen abzuschätzen
Macht Testfortschrittsberichte für Stakeholder einfacher verständlich
Welche 2 Rollen des Testens haben wir kennengelernt? Was sind ihre Gesamtverantwortungen (3 und 1), sowie Kernaktivitäten (3 und 4)?
Rolle: TestmanagementGesamtverantwortung für:
Testprozess
Testteam
Leitung der Testaktivitäten
Aktivitäten:
Rolle: Testen
Gesamtverantwortung für:
operative Aspekte des Testens
Aktvitäten:
Welche 6 allgemeinen Kompetenzen sind wichtig für Tester und warum?
Testwissen
zur Steigerung der Effektivität des Testens, z. B. durch den Einsatz von Testverfahren)
Gründlichkeit, Neugier. methodisches Vorgehen
um Fehlerzustände zu erkennen, insbesondere solche, die schwer zu finden sind
Gute Kommunikationsfähigkeit, aktives Zuhören, Teamfähigkeit
um mit allen Stakeholdern effektiv zu interagieren, Informationen an andere weiterzugeben, verstanden zu werden und Fehlerzustände zu berichten und zu diskutieren
Analytisches Denken, kritisches Denken, Kreativität
zur Steigerung der Effektivität des Testens
Technische Kenntnisse
um die Effizienz des Testens zu steigern, z. B. durch den Einsatz geeigneter Testwerkzeuge
Wissen in der Anwendungsdomäne
um Endanwender/Fachbereichsvertreter verstehen und mit ihnen kommunizieren zu können
Warum ist Kommunikationsfähigkeit so zentral für Tester? Wie hängt es mit Bestätigungsfehlern (confirmation Bias) zusammen?
Weil Tester oft als Überbringer schlechter Nachrichten angesehen werden. Ein besonderes Problem ist, wenn die Entwickler nicht glauben, dass die Tests tatsächliche Fehler aufzeigen, weil sie so selbstüberzeugt vom Code sind (Bestätigungsfehler, confirmation Bias).
Welche 2 Dinge zeichnen den Whole-Team-Ansatz aus?
Nenne 3 Vorteile.
Gib 2 Beispiele.
Wann ist der Whole-Team-Ansatz nicht geeignet?
Der Whole-Team Ansatz:
Jedes Teammitglied mit entsprechenden Kompetenen kann jede Aufgabe ausführen und ist für die Qualität mitverantwortlich
Dafür haben alle Mitglieder einen (phyischen oder virtuellen) gemeinsamen Arbeitsplatz
Vorteile:
Verbessert Team-Dynamik
Fördert Kommunikation und Zusammenarbeit
Schafft Synergien
Tester arbeiten mit Fachbereichsvertretern zusammen an Abnahmetests
Tester entwickeln Testkonzept und Testautomatisierung zusammen mit Entwicklern
Wann nicht geeignet?
Wenn ein hohes Maß an Unabhängigkeit zwischen Testern und Entwicklern gefordert wird. Bspw. bei sicherheitskritischen Systemen.
Gib die 4 Stufen von Unabhängigkeit beim Testen inkl. Beispielen an.
Keine Unabhängigkeit = Autor vom getesteten Code
Etwas Unabhängigkeit = Kollege aus dem selben Team
Hohe Unabhängigkeit = Tester aus der eigenen Organisation
Sehr hohe Unabhängigkeit = Tester aus externer Organisation
Mit welcher Unabhängkeitsstufe sollte man in einem Projekt testen?
Am besten man nimmt verschiedene, bspw. abhängig von der Teststufe (Kompontenten- vs. Systemtest).
Was sind die 2 Vorteile und 3 Nachteile hoher Unabhängigkeit beim Testen?
Führt zum Aufdecken anderer Fehler durch anderen Hintergrund und Voreingenommenheit
Annahmen in Anfoderungen, Spezifikation und Implementation werden durch externen Blick neu bewertet
Nachteile:
Kann zu Isolation des Testers vom Entwicklungsteam führen
Das kann in mangelnder Zusammenarbeit und Kommunikation führen
Dies kann wiederum zum Aufbau von Fronten führen
Entwickler können das Gefühl der eigenen Verantwortung für die Produktqualität verlieren
Last changed4 months ago