Mitglied der Fachhochschule Ostschweiz FHO 1 © FHS St.Gallen Software Engineering QS in...

31
Mitglied der Fachhochschule Ostschweiz FHO 1 g.ch © FHS St.Gallen Software Engineering Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch Teststrategie / Testvorgehen

Transcript of Mitglied der Fachhochschule Ostschweiz FHO 1 © FHS St.Gallen Software Engineering QS in...

Page 1: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 2: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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.

Page 3: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 4: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 5: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 6: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 7: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 8: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 9: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

Mitglied der Fachhochschule Ostschweiz FHO 9www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Kritikalitätsstufen

Page 10: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 11: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 12: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 13: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 14: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 15: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 16: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 17: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 18: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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!

Page 19: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 20: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 21: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 22: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 23: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

Mitglied der Fachhochschule Ostschweiz FHO 23www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Testabdeckungsanalyse

Page 24: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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)

Page 25: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 26: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 27: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 28: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 29: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

Page 30: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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

-

Page 31: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering QS in Softwareentwicklungsprojekten II Testpolitik / Testhandbuch.

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