12.08.2013 Aufrufe

Zusammenfassung

Zusammenfassung

Zusammenfassung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Testaufwandschätzung<br />

Seminar: Software-Qualitätssicherung<br />

Yi Tan 08.Juli.2008


Übersicht<br />

1. Einleitung<br />

2. Grundprinzip<br />

3. Methoden der Testaufwandschätzung<br />

4. Vergleich der Methoden<br />

55. <strong>Zusammenfassung</strong><br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 2


Übersicht<br />

1. Einleitung<br />

2. Grundprinzip<br />

3. Methoden der Testaufwandschätzung<br />

4. Vergleich der Methoden<br />

55. <strong>Zusammenfassung</strong><br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 3


Motivation<br />

„Qualität ist heute kein Zufall, sondern kann und muss<br />

genau geplant werden“ (Bundschuh und Fabry 2004, S. 69)<br />

Qualitätsplanung Testaufwandschätzung<br />

Aber<br />

Was soll geschätzt werden?<br />

Wie? – Nur Empirismus? p<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 4


Ziel des Vortrags<br />

Zielgruppe:<br />

Projektmanager eines Softwareprojekts<br />

Qualitätsbeauftragter eines Softwareprojekts<br />

Ziele:<br />

Vorstellung des Grundprinzips<br />

Vorstellung der Methoden<br />

Vergleich der Methoden<br />

Welche Methode –<br />

Für welche Zwecke –<br />

Wann –<br />

Unter welchen Umständen - eingesetzt werden können<br />

Unterstützen der Qualitätsplanung des Projektmanagers<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 5


Übersicht<br />

1. Einleitung<br />

2. Grundprinzip<br />

3. Methoden der Testaufwandschätzung<br />

4. Vergleich der Methoden<br />

55. <strong>Zusammenfassung</strong><br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 6


Grundprinzip<br />

Einflussfaktor<br />

Erfahrung der<br />

Mitarbeiter<br />

gut<br />

Klarheit der<br />

Anforderungen<br />

gut<br />

Prozessreife schlecht<br />

Werkzeugeinsatz mittel<br />

… …<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 7


Übersicht<br />

1. Einleitung<br />

2. Grundprinzip<br />

3. Methoden der Testaufwandschätzung<br />

4. Vergleich der Methoden<br />

55. <strong>Zusammenfassung</strong><br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 8


Entwicklungshistorie<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 9


Übersicht<br />

1. Einleitung<br />

2. Grundprinzip<br />

3. Methoden<br />

Use Case Points Methode nach Nageswaran<br />

Wert-basierte Softwarequalitätsmodell nach Huang und Boehm<br />

Produkt – und Prozessmetriken für den Softwaretest nach Sneed<br />

und Jungmayr<br />

Testspezifikation Testspezifikation-basierte basierte Methode nach Aranha und Borba<br />

4. Vergleich der Methoden<br />

55. <strong>Zusammenfassung</strong><br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 10


Entwicklungshistorie<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 11


Use Case Points Methode<br />

nach Nageswaran<br />

Zweck:<br />

Testaufwand in Person-Monaten (man-hours) zu schätzen<br />

Schätzobjekte:<br />

UUse CCases<br />

Einflussfaktoren:<br />

9 Einflussparametern<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 12


Use Case Points Methode<br />

nach Nageswaran<br />

Grundlagen: V-Modell<br />

Use Cases Test Cases<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 13


Use Case Points Methode<br />

nach Nageswaran<br />

1. Ermittlung des unangepassten Akteur Gewicht in System<br />

(engl. The unadjusted actor weights): UAW<br />

Tbll Tabelle 1: 1At Acteur Gewicht G iht(UAW (UAW) BBeispiel: i i l<br />

Quelle: [Nageswaran2001], S. 5<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 14


Use Case Points Methode<br />

nach Nageswaran<br />

2. Ermittlung des unangepassten Use Case Gewicht in<br />

System: UUCW Beispiel: p<br />

Use Case Type Factor Number of<br />

Use Cases<br />

Tbll Tabelle 2: 2 Use-Case U C GGewicht i ht<br />

(UUCW) Simple 1 10 10<br />

Average 2 6 12<br />

Complex 3 11 33<br />

Quelle: vgl. [Claim05]<br />

Total 55<br />

Weight<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 15


Use Case Points Methode<br />

nach Nageswaran<br />

3. Berechnung des unangepassten Use Case Points<br />

UUCP = UAW + UUCW<br />

(Beispiel: UUCP = 64 + 55 = 119)<br />

4. Berechnung des Technik – und Umgebungsfaktors:<br />

TEF<br />

(Berechnungstabelle und Beispiel siehe nächste Folie)<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 16


Use Case Points Methode<br />

nach Nageswaran<br />

Tabelle 3: Technik– und Umgebungsfaktor (TEF) Beispiel:<br />

TEF = 87<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 17


Use Case Points Methode<br />

nach Nageswaran<br />

5. Berechnung des angepassten UCP (engl. adjusted UCP):<br />

AUCP = UUCP * (0,65 + (0,01 * TEF))<br />

Beispiel: AUCP = 119 *(0,65 +0,01* 87) = 180,88<br />

6. Schätzung des Aufwands<br />

AUCP * Konvertierungsfaktor<br />

Unterschiedliche Konvertierungsfaktoren je nach<br />

Programmiersprache / Technik<br />

Ergebnis: Person-Stunden (man-hours)<br />

Beispiel: Testaufwand = AUCP * Konvertierungsfaktor für COM/DCOM<br />

Testen = 180,88 * 13 = 2351,44 (Person-Stunden) = 294 (Person-<br />

Tage)<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 18


Methoden<br />

1. Einleitung<br />

2. Grundprinzip<br />

3. Methoden<br />

Use Case Points Methode nach Nageswaran<br />

Wert-basierte Softwarequalitätsmodell nach Huang und<br />

Boehm<br />

Produkt – und Prozessmetriken für den Softwaretest nach Sneed<br />

und Jungmayr<br />

Testspezifikation-basierte Methode nach Aranha und Borba<br />

4. Vergleich g der Methoden<br />

5. <strong>Zusammenfassung</strong><br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 19


Entwicklungshistorie<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 20


Wert-basierte Softwarequalitätsmodell<br />

nach Huang und Boehm<br />

Zweck:<br />

Passende Qualitätsniveau für ein Projekt<br />

Testaufwand in Person-Monaten<br />

Testdauer<br />

Schätzobjekte:<br />

TTausend d von CCodezeilen d il (KLOC)<br />

Einflussfaktoren:<br />

22 Parametern vom COCOMO II Modell<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 21


Wert-basierte Softwarequalitätsmodell<br />

nach Huang und Boehm<br />

COCOMO II (Constructive Cost Model):<br />

RELY-Parameter (required reliability) Softwarequalität<br />

Quelle: [HuangAndBoehm06], S. 90<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 22


Wert-basierte Softwarequalitätsmodell<br />

nach Huang und Boehm<br />

COQULAMO (Constructive Quality Model):<br />

RELY-Niveau vs. Fehlerdichte (defect density)<br />

Quelle: [HuangAndBoehm06], S. 90<br />

RELY<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 23


Wert-basierte Softwarequalitätsmodell<br />

nach Huang und Boehm<br />

Wert-basierte Modelle:<br />

Pareto-Verteilung von dem Wert des Tests<br />

Wertverlust vs. Systemablieferzeit<br />

Quelle: [HuangAndBoehm06] [HuangAndBoehm06], SS. 92<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 24


Wert-basierte Softwarequalitätsmodell<br />

nach Huang und Boehm<br />

Wert-basierte Softwarequalitätsmodell (VBSQM):<br />

RE: Risiko der Softwarequalitätsinvestition = P(L) * S(L)<br />

P(L): Verlustwahrscheinlichkeit S(L): Verlustgröße<br />

Quelle: [HuangAndBoehm06], S. 93<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 25


Wert-basierte Softwarequalitätsmodell<br />

nach Huang und Boehm<br />

Ergebnis von VBSQM:<br />

1. RELY-Wert RELY Wert für den<br />

COCOMO II<br />

2. Testaufwand in Person-<br />

Monaten<br />

3. Testdauer in Monaten<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 26


Übersicht<br />

1. Einleitung<br />

2. Grundprinzip<br />

3. Methoden<br />

Use Case Points Methode nach Nageswaran<br />

Wert-basierte Softwarequalitätsmodell nach Huang und Boehm<br />

Produkt – und Prozessmetriken für den Softwaretest nach<br />

Sneed und Jungmayr<br />

Testspezifikation Testspezifikation-basierte basierte Methode nach Aranha und Borba<br />

4. Vergleich der Methoden<br />

55. <strong>Zusammenfassung</strong><br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 27


Entwicklungshistorie<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 28


Produkt – und Prozessmetriken für<br />

den softwaretest<br />

Zweck:<br />

Testumfang g durch zahlreichen Metriken zu messen<br />

Testaufwand in Person-Monaten zu schätzen<br />

Schätzobjekte:<br />

Verschiedene Objekte in unterschiedlichen<br />

Softwareentwicklungsphasen<br />

Use Cases, Benutzeroberfläche..<br />

Komponente, Schnittstelle..<br />

Code, Datenbanktabelle..<br />

Testfälle, automatische Testfälle..<br />

Einflussfaktoren:<br />

Inklusive in den Schätzobjekte<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 29


Produkt – und Prozessmetriken für<br />

den softwaretest<br />

Hauptmetrik des Testaufwands:<br />

RF: Anzahl Testwiederholungen<br />

#TestCases: Anzahl der erforderlichen Testfälle<br />

Test_Productivity: Produktivität der Tester<br />

TF: Testbarkeit der Software<br />

(Wiederum ein Metrik)<br />

(Wiederum ein Metrik)<br />

(M (Metrik) t ik) TF = Unit_Testability U it T t bilit * Integration_Testability I t ti T t bilit * SSystem_Testability t T t bilit<br />

Ergebnis: Testaufwand in Person Person-Monaten<br />

Monaten<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 30


Übersicht<br />

1. Einleitung<br />

2. Grundprinzip<br />

3. Methoden<br />

Use Case Points Methode nach Nageswaran<br />

Wert-basierte Softwarequalitätsmodell nach Huang und Boehm<br />

Produkt – und Prozessmetriken für den Softwaretest nach Sneed<br />

und Jungmayr<br />

Testspezifikation-basierte Methode nach Aranha und Borba<br />

4. Vergleich der Methoden<br />

55. <strong>Zusammenfassung</strong><br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 31


Testspezifikation-basierte<br />

Testaufwandschätzung<br />

(Die Methode ist noch in der Forschung)<br />

Zweck:<br />

Testaufwand für einzelnen Testfall<br />

Priorisierung der Durchführung derTestfälle<br />

Entscheidung von Einsatz der Testautomatisierung<br />

Priorisierung der Testfälle zur Testautomatisierung<br />

SSchätzobjekte: hät bj kt<br />

Testfälle<br />

Einflussfaktoren:<br />

Noch nicht bekannt<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 32


Testspezifikation-basierte<br />

Testaufwandschätzung<br />

Grundlage: Kontrollierte Natural Sprache (CNL)<br />

Spezifizierung jedes Testfalls streng im Form:<br />

Ein Hauptverb p und null bis beliebige g viele Argumenten g<br />

(Beispiel „start the message center“)<br />

Vier Anwendungsfälle: (sieh nächsten Folien)<br />

Testaufwand für einzelnen Testfall<br />

Priorisierung der Durchführung derTestfälle<br />

Entscheidung von Einsatz der Testautomatisierung<br />

Priorisierung der Testfälle zur Testautomatisierung<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 33


Übersicht<br />

1. Einleitung<br />

2. Grundprinzip<br />

3. Methoden<br />

4. Vergleich der Methoden<br />

55. <strong>Zusammenfassung</strong><br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 34


Vergleich der Methoden<br />

Methoden Vorbedingung Schätzobjekt Anzahl der<br />

Einflussfaktoren<br />

UCP nach<br />

Nageswaran<br />

• Use Cases<br />

• V-Modell (Use<br />

Case zu Test<br />

Case)<br />

Ergebnis<br />

• Use Cases 9 Aufwand in<br />

Person-Stunden<br />

VBSQM • Vorpriorisieren • KLOC 21 Parameter •RELY – Niveau<br />

der Testfälle von COCOMO II •Aufwand Aufwand<br />

•Testdaur<br />

Metriken nach<br />

Sneed S eed und u d<br />

Jungmayr<br />

Testspezifikation-basierte<br />

Schätzung<br />

kein • Verschiedene<br />

Objekt Obje t in de der<br />

Softwareentwicklung<br />

• Testfälle durch<br />

CNL spezifiziert p<br />

• Testfälle Noch nicht<br />

bekannt<br />

Inklusive in den Aufwand in<br />

Schätzobjekte<br />

Sc ät obje te Person-Monaten<br />

eso o ate<br />

• Aufwand der<br />

manuelle und<br />

automatische<br />

Test<br />

• Aut. Test vs.<br />

man man. Test<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 35


Vergleich der Methoden<br />

Methoden Einsatzzeitpunkt<br />

UCP nach<br />

Nageswaran<br />

Anforderungsanalyse<br />

Phase<br />

VBSQM Nach dem<br />

Programmierung<br />

g g<br />

-sphase<br />

Metriken nach Nach dem<br />

Sneed und Programmierung<br />

Jungmayr -sphase<br />

Testspezifikati<br />

tion-basierte b i t<br />

Schätzung<br />

Nach Testfälle-<br />

DDefinition fi iti<br />

Aufwand Werkzeug<br />

Unterstützung<br />

• Niedrig Ja Hoch<br />

• Hoch ja Hoch<br />

• Hoch Ja (Teilweise) Mittel<br />

• unbekannt nein Niedrig<br />

Praxistauglicht<br />

-keit<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 36


Übersicht<br />

1. Einleitung<br />

2. Grundprinzip<br />

3. Methoden<br />

4. Vergleich der Methoden<br />

55. <strong>Zusammenfassung</strong><br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 37


<strong>Zusammenfassung</strong><br />

1. Wiederholung<br />

Grundprinzip p p<br />

Methoden der Testaufwandschätzung<br />

Vergleich der Methoden<br />

22. Empirische Daten ist wichtig!!!<br />

3. Siehe nächste Folie …<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 38


Iterativer Prozess<br />

Kein Angst vor<br />

Schätzungsfehler<br />

Geschätzt ist besser als<br />

nichts.<br />

Testaufwandschätzung ist<br />

ein iterativer Prozess.<br />

Je mehr geschätzt g desto<br />

genauer die Schätzung des<br />

nächsten Testprojekts.<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 39


Literatur<br />

[bundschuhandfabry2004] Axel Fabry,<br />

<br />

Manfred Bundschuh. Aufwandschtätzung von IT-Projekten.<br />

mitp-Verlag, Bonn, 2 edition, 2004.<br />

[claim05] Claim Ray. Projekt Estimation with Use Case<br />

PPoints. i t 2005. 2005<br />

http://www.codeproject.com/KB/architecture/usecasep.aspx<br />

[h [huangandboehm06] db h 06] LiG LiGuo HHuang and d BBarry BBoehm. h<br />

How much software quality investment is enough: A value-<br />

based approach. approach IEEE Softw Softw., 23(5):88–95 23(5):88 95, 2006 2006.<br />

[nageswaran2001] Suresh Nageswaran. Test effort<br />

estimation using use case points. In Quality Week 2001,<br />

2001.<br />

Yi Tan 08.Juli. 2008 40


Testaufwandschätzung<br />

Danke für Ihre Aufmerksamkeit<br />

Frage? g<br />

Yi Tan 08.Juli. 2008 Seminar: Software-Qualitätssicherung 41


Testspezifikation-basierte<br />

Testaufwandschätzung<br />

1. Aufwand für manuelle Testdurchführung<br />

2. Testaufwand vs. Testabdeckung<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 42


Testspezifikation-basierte<br />

Testaufwandschätzung<br />

1. Aufwand für den automatischen Test<br />

2. Aufwand vom manuellen Test vs. Aufwand vom<br />

automatischen Test<br />

Einleitung Grundprinzip Testaufwandschätzungsmethoden Vergleich der Methoden <strong>Zusammenfassung</strong> 43

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!