mitglied der fachhochschule ostschweiz fho 1 © fhs st.gallen software engineering qs in...
TRANSCRIPT
Mitglied der Fachhochschule Ostschweiz FHO 1www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
S
oft
war
e E
ng
inee
rin
g
QS in Softwareentwicklungsprojekten II
Testpolitik / Testhandbuch
Teststrategie / Testvorgehen
Mitglied der Fachhochschule Ostschweiz FHO 2www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Lernziele
Sie können ...– den Zweck und Inhalt eines Testhandbuchs darlegen.– eine geschickte Teststrategie wählen.– die Testmethoden erläutern und anwenden.
Mitglied der Fachhochschule Ostschweiz FHO 3www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Literatur
IT-Systeme prüfen– Kapitel 3 – Teststrategie
Mitglied der Fachhochschule Ostschweiz FHO 4www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
S
oft
war
e E
ng
inee
rin
g
Testpolitik – Testhandbuch – Testvorgehen
Mitglied der Fachhochschule Ostschweiz FHO 5www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Vision
Unternehmensstrategie
IT-Strategie
Teststrategie (Testpolitik, Testhandbuch)
Testplan Projekt ...Testplan Projekt B
Testplan Projekt A
QS-Plan
Qualitäts-Management (QM)
... ...
...
Vision Strategie
Mitglied der Fachhochschule Ostschweiz FHO 6www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Teil der Qualitätspolitik
Spiegelt Unternehmensphilosophie wieder
Anzustrebendes Qualitätsniveau
Festlegung des QS-Prozesses– Einbettung/Bedeutung
Evaluierung des Testens– Z.B. Kostenmessung von Fehlern
Verfahrensansatz für die Testprozessverbesserung– Z.B. Maturiätsmodelle (CMM, TMM)
Prüf-/Testpolitik
Mitglied der Fachhochschule Ostschweiz FHO 7www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Testhandbuch als Rahmendokument
Generische projektübergreifende Richtlinien und Methodiken
Darstellung der Risiken und effiziente Massnahmen
Aufzuziehende Testorganisation
Richtlinien für Testumgebung– Infrastruktur– Testwerkzeuge
Workflow des Testprozesses
Einsatz von Testmethoden und Testarten (Teststufen) regeln
Firmeninternes Glossar
Vorlagen für Test- und Berichtsdokumente bzw. Softwareeinsatz
Mitglied der Fachhochschule Ostschweiz FHO 8www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Risikoanalyse
Risiko = Wahrscheinlichkeit eines Ereignisses *Schadensausmass
Mit Risikoanalyse Risiken identifizieren:– Produktrisiken
• Technische Faktoren (z.B. Softwarefehler)• Betriebssicherheit• Datensicherheit
– Projektrisiken• Termin-/Kostenüberschreitung• Politische Faktoren
Mitglied der Fachhochschule Ostschweiz FHO 9www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Kritikalitätsstufen
Mitglied der Fachhochschule Ostschweiz FHO 10www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Risikoorientierte Teststrategie
Planung aufgrund der Kritikalität*:– Auswahl der Testverfahren/Testmethoden/Testarten– Festlegung der Testtiefe je Testobjekt– Testfallpriorisierung (Hardest-First Test)
Prüfen/Testen ist eine präventive Massnahme, um Risiken zu Reduzieren!
* kategorisierte Risiken: gering, mittel, hoch mit quanitativen und qualitativen Bewertungen
Mitglied der Fachhochschule Ostschweiz FHO 11www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Teststrategie (i.e.S.)
Vorgehen im konkreten Projekt
Festlegen:– der Prüfobjekte (was wird getestet)– der Testarten (wie wird getestet)– der Testmethoden (mit welcher Methode wird getestet)
Ziel:– mit möglichst wenigen Fällen– die risikoreichsten Teile abdecken
i.e.S. im engeren Sinne
Mitglied der Fachhochschule Ostschweiz FHO 12www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Zu berücksichtigende Testgrundsätze
Fehlerabwesenheit kann nicht nachgewiesen werden
Die Fehlerbehebungskosten steigen exponential:– Je früher ein Fehler unterläuft– Je später ein Fehler entdeckt wird
Testpsychologie– Prüfen/Testen soll andere als die Autoren sein
Pareto-Prinzip anwenden:– mit 20 % des theoretisch möglichen Testaufwandes
80 % der enthaltenen Fehler finden
Mitglied der Fachhochschule Ostschweiz FHO 13www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Testvorgehen I: Big-Bang
Gesamtes System erst testen, wenn Entwicklung abgeschlossen
Vorteil:– keine Drivers oder Stubs (Testsoftware) notwendig
Nachteil:– Zeitverlust – später Testbeginn– Komplexität – Finden der Fehlerursache
Mitglied der Fachhochschule Ostschweiz FHO 14www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Testvorgehen II: Vertikales Testen
Funktional orientiertes Testen
Vorteil:– Zeitvorteil: sobald eine Funktionalität über alle Schichten fertig erstellt ist,
kann getestet werden– begrenzte Komplexität, keine spezielle Testsoftware notwendig
Mitglied der Fachhochschule Ostschweiz FHO 15www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Testvorgehen III: Horizontales Testen
Schichtenweises Testen– Top-Down (Outsight In) – vom GUI her testen– Bottom-Up (Insight Out) – vom Backend her testen
Vorteil: – Eingrenzung der Komplexität
Nachteil: – Spezielle Testsoftware notwendig
Mitglied der Fachhochschule Ostschweiz FHO 16www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
S
oft
war
e E
ng
inee
rin
g
Testfallermittlung
Mitglied der Fachhochschule Ostschweiz FHO 17www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Testfallermittlung
Problem: immense Anzahl der Testfälle
Geschickte Ermittlung und Auswahl:– Ziel ist, mit möglichst wenig Fällen möglichst viele Fehler entdecken!
Zwei sich ergänzende Arten:– exploratives Testen– methodisches Testen
Mitglied der Fachhochschule Ostschweiz FHO 18www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Exploratives Testen
Intuitives Vorgehen
Unsystematische Testtechnik
Ad-hoc Testen
Zufallstest
Abhängig von der Erfahrung des Testers
Error guessing herausspüren von Fehlern
Sollte in jedem Falle dokumentiert sein
Keine systematische Testabdeckung möglich!
Mitglied der Fachhochschule Ostschweiz FHO 19www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Methodisches Testen
Greybox Test
Komponente
Komponente
Komponente
Komponente
Whitebox Test
Verzweigungen
Anweisungen
Blackbox Test
VerhaltenAnwendungsfälle
Schnittstellen
Mitglied der Fachhochschule Ostschweiz FHO 20www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Whitebox (Glassbox) Testverfahren
Innere Struktur bekannt Strukturtest
Einsatz vor allem beim Unit-Test
Nachweisbare Testabdeckung (Testüberdeckung):– Anweisungsabdeckung– Zweigabdeckung– Bedingungsabdeckung– Pfadabdeckung
Mitglied der Fachhochschule Ostschweiz FHO 21www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Ablaufgraph I
Anweisung, Anweisungsblock
Bedingungen if ... then ... else case
Mitglied der Fachhochschule Ostschweiz FHO 22www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Ablaufgraph II
Schleifen do while repeat until
Mitglied der Fachhochschule Ostschweiz FHO 23www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Testabdeckungsanalyse
Mitglied der Fachhochschule Ostschweiz FHO 24www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Term 1 Term 1 Verknüpfung mit
(A=5) (B=7) AND OR
Testfall 1 wahr wahr wahr wahr
Testfall 2 wahr falsch falsch wahr
Testfall 3 falsch wahr falsch wahr
Testfall 4 falsch falsch falsch falsch
Testabdeckung/Testüberdeckung
100%-ige Anweisungsabdeckung:– Alle Anweisungsblöcke werden mit mindestens einem Testfall durchlaufen
100%-ige Zweigabdeckung:– Alle Zweige werden mit mindestens einem Testfall durchlaufen
100%-ige Bedingungsabdeckung (Termabdeckung):– Für jede Termkombinationen gemäss der Wahrheitstabelle gibt es einen
Testfall:
100%-ige Pfadabdeckung:– Alle mögliche Programmpfade werden mit je einem Testfall abgedeckt
(meist nicht möglich)– Problematik bei Schleifen (Keinmal, Einmal, Mehrmals, Max. Anzahl)
Mitglied der Fachhochschule Ostschweiz FHO 25www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Nachweis der Testabdeckung
Nachweis mittels Coverage Monitor– Instrumentalisieren des Programms– Ausführen aller Testfälle– Auswerten des Testabdeckungsgrads
Mitglied der Fachhochschule Ostschweiz FHO 26www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Blackbox Testverfahren
Interne Funktionsweise unbekannt oder für Test irrelevant
Wichtig für die Bestimmung der Testfälle:– Schnittstellen:
• Input• Output
– erwartetes Verhalten
Einsatz:– Unit-Test (Blackbox ist die einzelne Komponente)– Systemtest (Blackbox ist das ganze System)
Techniken:– Äquivalenzklassenbildung– Grenzwertanalyse– Zustandsbezogene Tests
Mitglied der Fachhochschule Ostschweiz FHO 27www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Äquivalenzklassenbildung
Wertebereich mit gleichartigen Aktionen
Vorgehen zur Bildung:– Auf Zahlengerade pro Parameter beschriebene Werte abtragen– Äquivalenzklassen herauslesen (von einem Wert zum nächst folgenden
Wert)– Äquivalenzklassen überschneiden sich nie– Vollständig: keine Lücken auf Zahlengerade– Zuordnen der Aktionen je Äquivalenzklasse
Beispiel:– Modul mit Nettowarenwertberechnung
• gültiger Bruttowarenwertbereich: 5 – 10000• Beträge zwischen 1000 und 10000 erhalten 5 % Rabatt• Beträge über 5000 erhalten zusäztlich 200 Bonus
Mitglied der Fachhochschule Ostschweiz FHO 28www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Grenzwertanalyse
Ergänzend zur Äquivalenzklassenbildung
Ermitteln von Testfällen rund um die Grenzen der Äquivalenzklassen– Je Äquivalenzklasse je den minimalen und maximalen Wert als konkreten
Testfall nehmen
Zusätzlich sind mögliche Fehler bzw. Extremwerte zu ermitteln
Mitglied der Fachhochschule Ostschweiz FHO 29www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Zustandsbezogener Test I
Einsatz in der objektorientierten Programmierung (OOP)
niemandim Büro
Einige sindanwesend
VolleBesetzung
Zustandsübergang
neuer MAneuer MA[Anzahl = Max - 1]
MA geht[Anzahl = 1]
MA geht
MA geht [Anzahl > 1]
neuer MA [Anzahl < Max - 1]
[Anzahl = 1]
neuer MA *
Zustandsbeschreibung
Start
Ende
Bedingung unter welcher Zustandsübergangvorgenommen wird
Mitglied der Fachhochschule Ostschweiz FHO 30www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Zustandsbezogener Test I
Ableiten der Testfälle anhand des Übergangsbaumes:
I Zustände:I = Initial (Ausgangsbasis)N = Niemand im BüroE = Einige sind anwesendV = Volle BesetzungF = Fehler, nicht erlaubtD = Deleted (Beendigt)
Zustandsübergänge:i = init (Starten)+ = MA kommt- = MA gehtd = delete (Beenden)
i
N
D
d
+
E
V
+ [Anzahl = Max – 1]
+
F
F-
EN
+ [Anzahl < Max – 1]
- [Anzahl > 1]
- [Anzahl = 1]
E
-
Mitglied der Fachhochschule Ostschweiz FHO 31www.fhsg.ch © FHS St.Gallen
So
ftw
are
En
gin
eeri
ng
Übungen
Fallstudien• 3 - Teststrategie• 4 und 5 – Whitebox-Test• 6 und 7 – Black-Box-Test