Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

QS in Softwareentwicklungsprojekten II

Ähnliche Präsentationen


Präsentation zum Thema: "QS in Softwareentwicklungsprojekten II"—  Präsentation transkript:

1 QS in Softwareentwicklungsprojekten II
Testpolitik / Testhandbuch Teststrategie / Testvorgehen

2 Lernziele Sie können ... den Zweck und Inhalt eines Testhandbuchs darlegen. eine geschickte Teststrategie wählen. die Testmethoden erläutern und anwenden.

3 Literatur IT-Systeme prüfen Kapitel 3 – Teststrategie

4 Testpolitik – Testhandbuch – Testvorgehen

5 Vision  Strategie Vision Unternehmensstrategie
Qualitäts- Management (QM) IT-Strategie ... ... QS-Plan ... Teststrategie (Testpolitik, Testhandbuch) Testplan Projekt ... Testplan Projekt B Testplan Projekt A

6 Prüf-/Testpolitik 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)

7 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

8 Risikoanalyse Risiko = Wahrscheinlichkeit eines Ereignisses * Schadensausmass Mit Risikoanalyse Risiken identifizieren: Produktrisiken Technische Faktoren (z.B. Softwarefehler) Betriebssicherheit Datensicherheit Projektrisiken Termin-/Kostenüberschreitung Politische Faktoren

9 Kritikalitätsstufen

10 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

11 Teststrategie (i.e.S.) Vorgehen im konkreten Projekt Festlegen: Ziel:
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

12 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

13 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

14 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

15 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

16 Testfallermittlung

17 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

18 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!

19 Methodisches Testen Whitebox Test Greybox Test Blackbox Test
Verzweigungen Anweisungen Greybox Test Komponente Blackbox Test Verhalten Anwendungsfälle Schnittstellen

20 Whitebox (Glassbox) Testverfahren
Innere Struktur bekannt  Strukturtest Einsatz vor allem beim Unit-Test Nachweisbare Testabdeckung (Testüberdeckung): Anweisungsabdeckung Zweigabdeckung Bedingungsabdeckung Pfadabdeckung

21 Ablaufgraph I Anweisung, Anweisungsblock Bedingungen
if ... then ... else case

22 Ablaufgraph II Schleifen do while repeat until

23 Testabdeckungsanalyse

24 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) Term 1 Verknüpfung mit (A=5) (B=7) AND OR Testfall 1 wahr Testfall 2 falsch Testfall 3 Testfall 4

25 Nachweis der Testabdeckung
Nachweis mittels Coverage Monitor Instrumentalisieren des Programms Ausführen aller Testfälle Auswerten des Testabdeckungsgrads

26 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

27 Ä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 erhalten 5 % Rabatt Beträge über 5000 erhalten zusäztlich 200 Bonus

28 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

29 Zustandsbezogener Test I
Einsatz in der objektorientierten Programmierung (OOP) neuer MA [Anzahl < Max - 1] neuer MA * MA geht [Anzahl > 1] Start neuer MA [Anzahl = Max - 1] neuer MA niemand im Büro Einige sind anwesend Volle Besetzung MA geht [Anzahl = 1] MA geht Ende Zustandsbeschreibung Zustandsübergang [Anzahl = 1] Bedingung unter welcher Zustandsübergang vorgenommen wird

30 Zustandsbezogener Test I
Ableiten der Testfälle anhand des Übergangsbaumes: I Zustände: I = Initial (Ausgangsbasis) N = Niemand im Büro E = Einige sind anwesend V = Volle Besetzung F = Fehler, nicht erlaubt D = Deleted (Beendigt) Zustandsübergänge: i = init (Starten) + = MA kommt - = MA geht d = delete (Beenden) i N d - D + F E - [Anzahl = 1] + [Anzahl = Max – 1] + [Anzahl < Max – 1] - [Anzahl > 1] V N E - + F E

31 Übungen Fallstudien 3 - Teststrategie 4 und 5 – Whitebox-Test
6 und 7 – Black-Box-Test


Herunterladen ppt "QS in Softwareentwicklungsprojekten II"

Ähnliche Präsentationen


Google-Anzeigen