1 Grundlagen: Aufzählungen Flashcards
Was ist (SW-)Testen?
Mittel/ Möglichkeit
LZ
SW-Testen ist eine Möglichkeit um
- Qualität von SW zu beurteilen
- Risiken von FW im Betrieb zu reduzieren
Testen, Def. laut
GLOSSAR onl
Der Prozess, der aus allen
- STATISCHEN &
- dynamischen
Lebenszyklusaktivitäten besteht, die sich mit der
- Planung,
- Vorbereitung &
- Bewertung
- einer K. oder eines S. und
- zugehörigen ARBEITSERGEBNISSEN
befassen, um festzustellen, ob sie
- festgelegte Anforderungen erfüllen
- für den Zweck geeignet &
- fehlerfrei sind
Typische Ziele SW-Testen
LANG 1
LZ
Bewerten AE
=> Fehler in AE identifizieren
=> in Folge-AE vermeiden
Verifizieren spezifische Anforderungen
(Überdeckung feststellen)
Vollständigkeit TO prüfen
Validieren, ob funktionieren TO Erwartungen Benutzer & andere Stakeholder entspricht
Typische Ziele SW-Testen
LANG 2
LZ
Vertrauen in Qualität des TO aufbauen
FW und FZ aufdecken
Risiken reduzieren
<= unzureichende Qualität
Informationen liefern für Entscheidungsfindung Stakeholder auf Grundlage Qualität
Konformität (compliance) mit vertraglichen, rechtlichen & regulatorischen Anforderungen/ Standards verifizieren
Typische Ziele SW-Testen
KURZ
LZ
- Bewerten AE > Fehler Folge-AE vermeiden
- Verifizieren spezifische Anforderungen
- Vollständigkeit TO prüfen
- Validieren Umsetzung Erwartungen Benutzer & andere
- Vertrauen in Qualität des TO aufbauen
- FW und FZ aufdecken
- Risiken reduzieren
- Informationen liefern für Entscheidungsfindung Stakeholder
- Konformität (compliance) verifizieren
Typische Ziele SW-Testen
ULTRAKURZ
- Fehler Folge-AE vermeiden
- Verifizieren Anforderungen
- Vollständigkeit TO
- Validieren Erwartungen
- Vertrauen in Qualität
- FW und FZ aufdecken
- Risiken reduzieren
- Informationen Entscheidungsfindung
- Konformität (compliance)
Warum Testen notwendig?
LEHRPLAN
LZ
Risiko von FW von SW im Betrieb reduzieren
Fehler beheben
=> Qualität K. oder S. steigern
vertragliche oder rechtliche Anforderungen/
branchenspezifische Standards erfüllen
Warum ist Testen notwendig?
DOJO
LZ
Gründliches Testen kann dazu beitragen, die
QUALITÄT von
- Komponenten
- System
- weiteren AE
zu erhöhen
Erfolg:
Beitrag des Testens
LZ
Überblick Lehrplan
Erfolg engerer Sinn:
problematische Inbetriebnahmen SW reduzieren
- Fehler
- Bedürfnisse Stakeholder anderweitig nicht erfüllt
Erfolg weiterer Sinn = allgemeiner Erfolg:
- SW-Entwicklung
- SW-Wartung
Erfolg engerer Sinn
durch (frühzeitigen)
Einbezug Tester lang
Überblick Lehrplan
Anforderungsreviews/ User-Story-Refinements:
- Entwicklung fehlerhafte oder nicht-testbare Features reduzieren
Systementwurf
- grundlegende Entwurfsfehler reduzieren
- gemeinsames Verständnis Entwurf & potenzielle Tests verbessern
Code-Entwicklung:
- FZ in Codes und in Tests reduzieren
- gemeinsames Verständnis Code & dessen Testung verbessern
Verifizierung & Validierung vor Freigabe:
- unentdeckte FW reduzieren
- Debugging unterstützen
- erhöhen Wahrscheinlichkeit, dass SW Bedürfnisse der Stakeholder entspricht und Anforderungen erfüllt
ÜBERBLICK
Beziehung zwischen Testen & Qualitätssicherung
Testen als qualitätssichernde Maßnahme im gesamten Entwicklungsprozess
= Implementierung, Wartung, Betrieb
Lernen aus Fehlern vorangegangener Projekte
BEISPIELE
Beziehung zwischen Testen & Qualitätssicherung
Testen als qualitätssichernde Maßnahme im gesamten Entwicklungsprozess
- frühzeitiges Auffinden von FZ durch Reviews
- Identifikation von Anomalien durch statische Analysen
- Auffinden von produktionsverhindernden Fehlern
- Sicherstellung Akzeptanz durch Benutzer
Lernen aus Fehlern vorangegangener Projekte
- Fehlhandlungen identifizieren
- Entwicklungsprozesse verbessern
Grundursachenanalyse:
Schritte
Identifikation von Grundursachen
Konzentration auf Behebung bedeutendste Grundursachen
Grundursachenanalyse:
Nutzen
Effizienter als auf FW zu warten
Auftreten vermeiden von vergleichbaren
- Fehlhandlungen
- Fehlerzuständen
- Fehlerwirkungen
- Auswirkungen
Prozessverbesserungen
Zusammenhang von Grundursache zu Auswirkungen
- Grundursache
- Fehlhandlung/ Umwelteinflüsse
- Fehlerzustand
- Fehlerwirkung
- Auswirkung
Gründe Fehlhandlungen
- Zeitdruck
- Menschliche Fehlbarkeit
- Unerfahrene/ nicht ausreichend ausgebildete Projektbeteiligte
- Fehlkommunikation zwischen Projektbeteiligten, u.a. über Anforderungen und Entwurf
- Komplexität des Codes, Entwurfs, Architektur des zugrunde liegenden zu lösenden Problems, der genutzten Technologien
- Missverständnisse systeminterne und systemübergreifende Schnittstellen
- Neue, unbekannte Technologien
Ursachen falsch - positive und - negative Testergebnisse
Folge von
- Fehlhandlungen in der Durchführung der Tests
- FZ in Testdaten, der Testumgebung und anderen Testmitteln
- …
7 Grundsätze des Testens
- Testen zeigt ANWESENHEIT von FZ
- VOLLSTÄNDIGES Testen unmöglich
- FRÜHES Testen spart Zeit und Geld
- HÄUFUNG FZ
- Pestizid-Paradoxon - Wiederholung
- Kontextabhängigkeit
(Produkt und Projektvorgehensweise) - “Keine Fehler” nicht automatisch brauchbares System
- Grundsatz des Testens
anders ausgedrückt im Hinblick auf Nutzen
Systematisches Testen
erhöht Wahrscheinlichkeit
- FZ aufzudecken
senkt Wahrscheinlichkeit
- von nicht entdeckten FZ
- Grundsatz des Testens:
Hintergrund
nicht-triviale Systeme
hohe Anzahl möglicher
- Eingabewerte
- Vorbedingungen
=> Kombination führt i.d.R zu
nicht beherrschbare Menge von Testfällen
- Grundsatz des Testens:
Schlussfolgerungen
Testen immer nur stichprobenartige Prüfung
Stichproben (Testfälle) für
höchste Wahrscheinlichkeit
aufdecken Fehler
Testaufwand angepasst an
- Risiken
- Prioritäten
- Grundsatz des Testens:
Hintergrund
die relativen Fehlerbehebungskosten
steigen
im Lebenszyklus
- Grundsatz:
Hintergrund & Schlussfolgerung
Kleiner Teil der Module enthält
- meiste FZ entdeckt während Testphase oder
- meiste FW im Betrieb verantwortlich
Dort, wo eine FW nachgewiesen,
finden sich meistens noch weitere FZ.
Testaufwand auf Module fokussieren
proportional zu
- erwarteten und
- später beobachteten Fehlerdichte
- Grundsatz
Hintergrund
Wiederholungen der gleichen Tests
- wirkungslos
- finden irgendwann keine FZ mehr
- Grundsatz
Schlussfolgerungen
Pestizid-Paradox schafft scheinbare Sicherheit
Um neue FZ zu finden, müssen
- bestehende Tests & Testdaten möglicherweise verändert werden
- komplett neue Tests geschrieben werden
- Grundsatz:
Hintergrund & Schlussfolgerung
Testen anpassen je nach - Einsatzgebiet - Umfeld des zu prüfenden Systems
Testen nicht absolut, sondern
- relativ zum geforderten Qualitätsniveau
- Grundsatz:
Schlussfolgerungen/ Mögliche Gegenmaßnahmen
- Frühzeitige Einbeziehung der späteren Nutzer
- Prototyping
für Beantwortung folgende Fragestellungen: - Alle Anforderungen bekannt?
- Alle Anforderungen umgesetzt?
- Alle Interessenvertreter berücksichtigt?
- Decken Tests Anforderungen ab?
Textprozess: Einflussfaktoren Kontext
- SWELZ / Projektmethoden
- Mögliche Teststufen und Testarten
- Produkt- und Projektrisiken
- Geschäftsbereich
- Betriebliche Beschränkungen
- Richtlinien und Praktiken des Unternehmens
- Interne und externe Standards
Testprozess: Betriebliche (operational) Beschränkungen
- Budget & Ressourcen
- Fristen
- Komplexität
- Vertragliche & regulatorische Anforderungen
Testprozess:
Aspekte
- Aktivitäten & Aufgaben
- Arbeitsergebnisse
- Verfolgbarkeit zwischen Testbasis & Arbeitsergebnissen
Testprozess:
Hauptgruppen Aktivitäten & durchführende Partei
- Testplanung: Testmanager
- Testüberwachung und -steuerung: Testmanager
- Testanalyse: Tester
- Testentwurf: Tester
- Testrealisierung: Tester
- Testdurchführung: Tester
- Testabschluss. Testmanager
Testprozess:
durchführende Partei &
Hauptgruppen Aktivitäten
Testmanager
- Testplanung
- Testüberwachung und -steuerung
- Testabschluss
Tester
- Testanalyse
- Testentwurf
- Testrealisierung
- Testdurchführung
Testplanung: Aktivitäten
Bestimmen
- Test- & Qualitätsziele
- zu testende Merkmale & Testumfang
- Projekt- und Produktrisiken
- allgemeine Testvorgehensweise
- Eingangs- und Endekritierien
Planung der Testprozessphasen der Tester
- inkl. Personen, Termine, Budget
Auswahl Metriken zur Testüberwachung & -steuerung
Testüberwachung & -steuerung: Aktivitäten
Kontinuierlicher Vergleich
- tatsächlicher mit geplantem Fortschritt
- unter Verwendung geeigneter Metriken
Veranlassen Korrekturmaßnahmen zur Erreichung der Testziele
durch Bewertung gegen Endekriterien unterstützt
Kommunikation Teststatus- und Fortschritt an Stakeholder, inkl.
- Abweichungen vom Plan
- Informationen als Grundlage Entscheidung Beenden Testen
Testüberwachung & - steuerung: Arbeitsergebnisse
- TESTFORTSCHRITTSBERICHTE
- Testabschlussbericht
(ggf. Testabschlussberichte von Abschlussmeilensteinen) - Details Testfortschritt (zielgruppenrelevant)
- Ergebnisse Testdurchführung, sobald verfügbar
- Abweichungen vom Plan
- Informationen zur Unterstützung Entscheidung für Beenden Testdurchführung
Zu beantwortende Fragen LZ durch - Testanalyse - Testentwurf - Testrealisierung
- Was wird getestet?
- Wie wird getestet?
- Ist alles für die Durchführung der Tests bereit?
Testbedingungen: Mögliche Kategorien
Funktion
Qualitätsmerkmal
strukturelles Element
identifizierbares Risiko
Akzeptanzkriterium
Testanalyse: Aktivitäten
LZ
ÜBERBLICK
Bewertung Testbasis
Identifikation zu testende Leistungsmerkmale
Def. & Priorisierung Testbedingungen
Bidirektionale Verfolgbarkeit
- Testelemente
- Testbedingungen
Def. messbare Überdeckungskriterien
Testbasis: Übersicht
LZ
- Anforderungsspezifikationen
- Entwurfs- und Realisierungsinformationen
- Realisierung der Komponente und des Systems selbst
- Risikoanalyseberichte
Unterschiedliche Fehlerarten
LZ
(Analyse Testbasis und -elemente)
- Mehrdeutigkeiten
- Auslassungen
- Inkonsistenzen
- Ungenauigkeiten
- Widersprüche
- Überflüssige Anweisungen
Definition und Priorisierung der Testbedingungen (Testanalyse)
für jedes zu testende Leistungsmerkmal
auf Grundlage der Analyse der Testbasis
unter Berücksichtigung von
- funktionaler, nicht-funktionaler und struktureller Merkmale
- andere fachliche oder technische Faktoren
- Risikograd
Testanalyse: Arbeitsergebnisse
LZ
Testbedingungen
- definiert & priorisiert
- bidirektional verfolgbar zu Elementen Testbasis
Test-Chartas
Berichte FZ Testbasis
Bidirektionale Verfolgbarkeit:
Nutzen
LZ
effektive AUSWIRKUNGSANALYSE bei
Änderung der
- Testbasis, bzw.
- einzelnen Testelementen
ÜBERDECKUNG
- Testbasis, bzw.
- einzelner Testelemente
Abstrakte <=> konkrete Testfälle
LZ
Abstrakt:
- ohne konkrete Werte für Eingabedaten & erwartete Ereignisse
- logische Operatoren, weil konkrete noch nicht definiert oder verfügbar
- über mehre Testzyklen mit unterschiedl. konkreten Daten wiederverwendbar
Konkret:
- MIT konkreten Werten für Eingabedaten & erwartete Ereignisse
- Logische Operanden durch konkrete Werte ersetzt
Testumgebung
LZ
- Testrahmen
- Service-Virtualisierung
- Simulatoren
- andere Infrastrukturelemente
Testausführungsplan
LZ
AE Testentwurf
Festlegen zeitliche Ausführung Tests
auch Abhängigkeiten zu
- anderen Projektaktivitäten
berücksichtigt
- kann Teil Projektplan sein
Für Testausführung
benötigte Testmittel
LZ
- Testfälle
- Testdaten
- Testumgebung(en)
- Infrastruktur & Werkzeuge
Testentwurf: identifiziert & entworfen
Testrealisierung: verifiziert
Testdaten
konkrete Werte für Eingabe & erwartete Ergebnisse
Testorakel für erwartete Ergebnisse
verwandeln
abstrakte Testfälle
=> konkrete Testfälle
gleiche abstrakte Testfälle
mit anderen TESTDATEN in
anderen Testzyklen/ Releases des TO
Anomalien
LZ
- Fehlerwirkungen
- Falsch positive Testergebnisse
Mögliche Ergebnisse Testdurchführung
LZ
- bestanden
- fehlgeschlagen
- blockiert
Status individuelle Testfälle oder Testabläufe (Arbeitsergebnis Testdurchführung)
LZ
- ausführbar
- bestanden
- fehlgeschlagen
- blockiert
- geplant ausgelassen
Abarbeitung Fehlerberichte Testabschluss
geschlossen nach Behebung FZ
für am Ende des Testzyklus noch nicht behobene FZ:
eintragen von
- Change Requests oder
- Product-Backlog-Elementen
Testabschluss: Arbeitsergebnisse
LZ
- Testabschlussberichte
- offene Punkte zur Verbesserung in nachfolgenden Projekten/ Iterationen
- Change Requests/ Product-Backlog-Elemente
- finalisierte Testmittel
Nutzen Verfolgbarkeit Testbasis - Testarbeitsergebnisse
Lehrplan
LZ
- Bewertung Testüberdeckung
- Auswirkungsanalyse von Änderungen
- Auditierbarkeit Testprozess/ Testen nachvollziehbarer machen
- IT-Governance erfüllen
- Verständlichkeit von Testfortschritts- und -abschlussberichten verbessern
- Stakeholdern technische Aspekte des Testens verständlich darstellen
- Bereitstellung von Informationen zur Beurteilung von Produktqualität, Prozessfähigkeit & Projektfortschritt gegenüber Geschäftszielen
Exploratives Testen & Testprozess
LZ
Keine strenge Trennung, bzw. sequenzieller Ablauf
Testentwurf, -realisierung & -durchführung
- Testentwurf & Testrealisierung können als Teil der Testdurchführung auftreten & dokumentiert werden.
- Explorative Tests unverzüglich durchgeführt, sobald entworfen & realisiert.
- Exploratives Testen kann auf Test-Chartas basieren.
Softwarequalität nach ISO: Übersicht Merkmale
LZ
- Funktionalität
- Performanz/ Effizienz
- Kompatibilität
- Gebrauchstauglichkeit/ Benutzbarkeit
- Zuverlässigkeit
- IT-Sicherheit
- Wartbarkeit
- Übertragbarkeit
Funktionale Eignung
Dimension SW-Qualität nach ISO
Ist die geforderte Funktionalität der SW gegeben?
- Korrektheit
- Vollständigkeit
- Angemessenheit
Performanz
Dimension SW-Qualität nach ISO
Wie effizient arbeitet die SW?
- Zeitverhalten
- Ressourcenverbrauch
- Kapazität
Kompatibilität
Dimension SW-Qualität nach ISO
Wie kompatibel ist die SW beim - Austausch & - Verarbeitung von Daten - mit und - von anderen Systemen?
- Koexistenz
- Interoperabilität
Gebrauchstauglichkeit
Dimension SW-Qualität nach ISO
Ist die SW einfach zu bedienen?
- Angemessenheit
- Erlernbarkeit
- Bedienbarkeit
- Schutz vor Bedienfehlern
- Gestaltung Benutzerschnittstelle
- Zugänglichkeit
Zuverlässigkeit
Dimension SW-Qualität nach ISO
Wie zuverlässig arbeitet die SW?
- Reife
- Verfügbarkeit
- Fehlertoleranz
- Wiederherstellbarkeit
IT-Sicherheit (Dimension SW-Qualität nach ISO)
Wie sicher sind unsere Daten & Programme vor nicht autorisiertem Zugriff?
- Vertraulichkeit
- Integrität
- Nichtabstreitbarkeit
- Haftung
- Authenzität
Wartbarkeit
Dimension SW-Qualität nach ISO
Wie leicht lässt sich SW modifizieren?
- Modularisierung
- Wiederverwendbarkeit
- Analysierbarkeit
- Änderbarkeit
- Testbarkeit
Übertragbarkeit
Dimension SW-Qualität nach ISO
Wie leicht lässt sich SW auf ein anderes System portieren?
- Anpassbarkeit
- Installierbarkeit
- Austauschbarkeit
Softwarequalität: Zielkonflikte und Risikoanalyse
- Zielkonflikte zwischen verschiedenen Merkmalen
=> Risikoanalyse
=> Priorisierung
Testaufwand und Teststrategie
- Große Risiken => großer Testaufwand
- Kleine Risiken => kleiner Testaufwand
Risikoanalyse <= Fehlerfolgekosten
- Test liefern genug Informationen, um über Freigabe entscheiden zu können.
Humanpsychologie & Testen: Warum Thema?
LZ
Spannungen zwischen Testern, einerseits, und andererseits - Entwickler - Designer - Product Owner - Analysten
Psychologische Faktoren, die Erfolg des Testens beeinflussen
LZ
Ursachen Spannungen
Identifizieren von Fehlern und damit
Testen aufgenommen als
- Kritik am Produkt und an seinem Autor
- destruktive Aktivität
- Bestätigungsfehler
- Kognitive Dissonanz
- Überbringer schlechter Nachrichten für diese verantwortlich machen
Denkweisen von Testern & Entwicklern
LZ
Entwickler: Fokus auf
- Produkt entwerfen & realisieren
- Lösungen erstellen
- Bestätigungsfehler
Tester
- Neugier
- professioneller Pessimismus
- kritischer Blick
- Detailgenauigkeit
- Motivation zu guter & positiver Kommunikation & Beziehungen