Zusammenfassung
Zusammenfassung
Zusammenfassung
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