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?