Objektorientiertes Testen und Testautomatisierung in der Praxis: Konzepte, Techniken und Verfahren
Gespeichert in:
Beteilige Person: | |
---|---|
Format: | Buch |
Sprache: | Deutsch |
Veröffentlicht: |
Heidelberg
dpunkt-Verl.
2005
|
Ausgabe: | 1. Aufl. |
Schlagwörter: | |
Links: | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=012882911&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
Beschreibung: | 2. Aufl. u.d.T.: Testen von Software und Embedded Systems |
Umfang: | XV, 331 S. Ill., graph. Darst. |
ISBN: | 3898643050 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV019421267 | ||
003 | DE-604 | ||
005 | 20100310 | ||
007 | t| | ||
008 | 041012s2005 xx ad|| |||| 00||| ger d | ||
020 | |a 3898643050 |9 3-89864-305-0 | ||
035 | |a (OCoLC)76509503 | ||
035 | |a (DE-599)BVBBV019421267 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a ger | |
049 | |a DE-1050 |a DE-859 |a DE-91G |a DE-92 |a DE-573 |a DE-824 |a DE-858 |a DE-M347 |a DE-861 |a DE-29T |a DE-634 |a DE-11 |a DE-523 |a DE-2070s | ||
084 | |a ST 233 |0 (DE-625)143620: |2 rvk | ||
084 | |a DAT 330f |2 stub | ||
100 | 1 | |a Vigenschow, Uwe |d 1961- |e Verfasser |0 (DE-588)129445797 |4 aut | |
245 | 1 | 0 | |a Objektorientiertes Testen und Testautomatisierung in der Praxis |b Konzepte, Techniken und Verfahren |c Uwe Vigenschow |
250 | |a 1. Aufl. | ||
264 | 1 | |a Heidelberg |b dpunkt-Verl. |c 2005 | |
300 | |a XV, 331 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a 2. Aufl. u.d.T.: Testen von Software und Embedded Systems | ||
650 | 0 | 7 | |a Software |0 (DE-588)4055382-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Testen |0 (DE-588)4367264-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Objektorientierung |0 (DE-588)4346172-4 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Software |0 (DE-588)4055382-6 |D s |
689 | 0 | 1 | |a Objektorientierung |0 (DE-588)4346172-4 |D s |
689 | 0 | 2 | |a Testen |0 (DE-588)4367264-4 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=012882911&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-012882911 |
Datensatz im Suchindex
DE-BY-TUM_call_number | 0702 DAT 330 2004 A 376 |
---|---|
DE-BY-TUM_katkey | 1480850 |
DE-BY-TUM_location | 07 |
DE-BY-TUM_media_number | 040070944915 |
_version_ | 1821933092104830976 |
adam_text | xil
Inhaltsverzeichnis
I Warum überhaupt testen? 1
1 Komplexe Systeme führen zu Fehlern 3
1.1 Kommunikation 3
1.2 Gedächtnis 6
1.3 Fachlichkeit 6
1.4 Komplexität 7
1.5 Erstes Fazit 8
2 Programmiersprachen sind fehleranfällig 9
2.1 Die Venussonde Mariner 1 9
2.2 Der Jungfernflug der Ariane 5 10
2.3 Zweites Fazit 12
3 Qualität, Fehler, Test: Versuch einer Begriffsbestimmung 15
3.1 Qualität 15
3.2 Anforderung 17
3.3 Fehler 18
3.4 Test 20
3.4.1 Demonstratives und destruktives Testen 20
3.4.2 White Box und Black Box Testverfahren 21
3.4.3 Testfall und Testdaten 22
3 4.4 Unit Tests: Klassen , Ketten und Modultests 22
3.4 5 Debugging 25
4 Schlussbemerkungen 27
II Verfahren des Softwaretests 29
5 Lösungen für technische Probleme 31
5.1 Unterstützung durch den Compiler 31
5.1.1 Warninglevel 31
5.1.2 Programmierrichtlinien 31
5.2 Was nützen statische strenge Typprüfungen? 41
I xii Inhaitsverzeichnis _____
5.3 Debugging 42
5.3.1 Einplanung der Fehlersuche in Produkt und Prozess 42
5.3.2 Vorbereitung und Ausführung des Debugging 42
5.3.3 Der Debugging Vorgang 44
6 Lösungen für analytische Probleme 47
6.1 Scope: Was will ich testen? 47
6.2 Fachliche Testfälle finden 48
6.2.1 Testdaten ableiten 51
6.2.2 Unit Testfälle ableiten 52
6.2.3 Kettentests ableiten 52
6.2.4 System Testfälle ableiten 53
7 Lösungen für methodische Probleme 55
7.1 Psychologie des Testens 55
7.2 Codereviews 57
7.2.1 Interne Codereviews 58
7.2.2 Externe Codereviews 59
7.2.3 Dokumentreviews 59
7.3 Die richtigen Testdaten finden 60
7.3.1 Grenz und Extremwerte 60
7.3.2 Testdaten als Designkriterium 63
7.3.3 Fehlersensibilität 64
7.3.4 Äquivalenzklassen 65
7.4 Überdeckungen: Wege durch die kombinatorische Explosion 69
7.4.1 Anweisungs , Zweig und Pfadüberdeckung 69
7.4.2 Vereinfachte Schleifenüberdeckung 72
7.4.3 Test von Bedingungen: die Termüberdeckung 73
7.5 Unbezahlbare Erfahrung: Error Guessing und laterale Tests 74
8 Lösungen für fortgeschrittene Probleme 77
8.1 Zustandsraumbasiertes Testen 77
8.2 Rekursion und Nebenläufigkeit 81
8.2.1 Rekursive und iterative Algorithmen 81
8.2.2 Parallele Prozesse 85
9 Lösungen zum Test objektorientierter Software 93
9.1 Testreihenfolge in objektorientierten Programmen 95
9.1.1 Assoziationen 95
9.1.2 Vererbung 96
9.1.3 Testreihenfolge bei Verflechtung von Assoziationen und Vererbung .. 99
9.1.4 Testreihenfolgen für Methoden 100
9.2 Vererbung, das zweischneidige Schwert 101
9.2.1 Prinzipien zur objektorientierten Vererbung 104
Inhaltsverzeichnis xiii I
9.2.2 Flattening: Welche Methoden sind zu testen? 106
9.2.3 Zufällige Korrektheit durch Vererbung 107
9.2.4 Typische Fehler in Vererbungshierarchien 108
9.2.5 Teststrategie bei Vererbung 110
9.3 Testmuster: Tipps für die Praxis 111
9.3.1 Modale Klasse 112
9.3.2 Modale Hierarchie 114
9.3.3 Nicht modaler, polymorpher Server 117
9.4 Struktur von objektorientierten Programmen 119
9.5 Zusammenfassung 123
10 Lösungen für organisatorische Probleme 125
10.1 Testgetriebenes Design: Abläufe und Ausnahmen 125
10.1.1 Vorgehensweisen: Wasserfall oder Iterationen? 126
10.1.2 Testgetriebenes Design 139
10.2 Refactoring 143
10.2.1 Was ist Refactoring? 143
10.2.2 Wie funktioniert Refactoring? 144
10.3 Testkoordination 147
10.4 Aufwandsbetrachtungen 147
10.4.1 Schätzungen 150
10.4.2 Fehlerkorrekturen und Re Tests 150
10.4.3 Fehlermodelle als Rechenmodelle zur Aufwandsschätzung 151
10.5 Testverwaltung 155
IM Umsetzung in die Praxis 157
11 Automatisierung von Entwicklertests 159
11.1 Testfall Findung vs. Testfall Automatisierung 159
11.1.1 Testautomatisierung und testgetriebenes Vorgehen 159
11.1.2 Anforderungen an die Testautomatisierung 160
11.2 Das Konzept der xllnit Familie 160
11.3 Entwicklertests mit xLlnit 162
11.3.1 Design for Testability 163
11.3.2 JUnit 165
11.3.3 CppUnit 173
11.3.4 NUnit JUnit unter NET 176
11.3.5 Stellvertreterobjekte Stub, Dummy und Mock 180
11.4 Drei JUnit Testbeispiele 181
11.4.1 Komplettes Syntaxbeispiel 181
11.4.2 Grenz und Extremwerte für einen Prüfmethoden Test 183
11.4.3 Test eines Zustandsautomaten mit einem Mock Objekt 184
I xiv Inhaltsverzeichnis
11.5 Testautomatisierung über die GUI 191
11.5.1 Lineare Skripte 192
11.5.2 Strukturierte Skripte 193
11.5.3 Verteilte Skripte 193
11.5.4 Datengetriebene Skripte 194
11.5.5 Schlüsselwortgetriebene Skripte 194
11.5.6 GUI Tests mit JUnit 194
11.6 Stresstest Automatisierung 195
11.7 Test von Mehrschicht Anwendungen 196
11.8 Fehlerinjektion: Wie gut sind unsere Tests? 197
11.9 Mehrwert automatisierter Tests 198
12 Was haben wir aus der Betrachtung der Verfahren gelernt? .... 199
12.1 Kriterien für erfolgreiche Projekte 199
12.2 Anforderungen an das Entwicklungsteam 201
12.3 Anforderungen an den Projektleiter 202
13 Teststrategie: Der Weg ist wichtiger als das Ziel 205
13.1 Strategien umsetzen 205
13.2 Inhalte einer pragmatischen Entwicklertest Strategie 208
14 Fehlerkultur 213
14.1 Konstruktive Fehlerkultur: aus Fehlern lernen 214
14.2 Fehlerkultur und Kreativität 215
14.3 Beurteilung und Konsequenzen von Fehlern 216
IV Möglichkeiten und Herausforderungen 219
15 Test von Realtime und Embedded Systems 221
15.1 Was bedeutet eigentlich RTES? 221
15.2 Was ist ein sicheres System? 224
15.3 Warum sind RTES so besonders schwierig? 225
15.3.1 Reaktives System 225
15.3.2 Nebenläufigkeit und Verteilung 225
15.4 Besondere Testverfahren 226
15.4.1 Failure Mode and Effect Analysis FMEA 227
15.4.2 Fault Tree Analysis FTA 228
15.4.3 Classification Tree Method CTM 228
15.4.4 Testbare und robuste Architektur 231
15.4.5 Gemischte Signale und Timing Diagramme 232
Inhaltsverzeichnis xv I
16 UML 1.5 vs. UML 2.0 239
16.1 Aktivitätsdiagramme in der UML 2 239
16.2 Das Testprofil 245
16.2.1 Was ist ein UML Profil? 246
16.2.2 Wie sieht das UML Testprofil aus? 247
16.2.3 Ein Anwendungsbeispiel 250
16.3 Abbildung des UML Testprofils auf JUnit 254
17 Zusammenwachsen von Entwicklung und Qualitätssicherung ... 257
17.1 Ziele für Entwicklung und Qualitätssicherung 257
17.2 Aufgabenteilung zwischen Entwicklung und Qualitätssicherung 258
Anhang 261
A Beispiele für JUnit Tests 261
A.l Ein einfaches Testbeispiel 261
A.2 Grenz und Extremwerte testen 263
A.3 Modale Klasse mit Mock testen 267
B Beispiel für eine JUnit Testsuite 283
C Beispiel eines CppUnit Tests 285
D Beispiel eines NUnit Tests in C# 295
E Beispiel eines Jellytool Tests 297
F Übersicht aller 37 objektorientierten Testmuster 299
Glossar 303
Abbildungsverzeichnis 309
Tabellenverzeichnis 313
Codebeispielverzeichnis 315
Literaturverzeichnis 317
Kolophon 323
Danksagung 325
Index 327
|
any_adam_object | 1 |
author | Vigenschow, Uwe 1961- |
author_GND | (DE-588)129445797 |
author_facet | Vigenschow, Uwe 1961- |
author_role | aut |
author_sort | Vigenschow, Uwe 1961- |
author_variant | u v uv |
building | Verbundindex |
bvnumber | BV019421267 |
classification_rvk | ST 233 |
classification_tum | DAT 330f |
ctrlnum | (OCoLC)76509503 (DE-599)BVBBV019421267 |
discipline | Informatik |
edition | 1. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01684nam a2200397 c 4500</leader><controlfield tag="001">BV019421267</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20100310 </controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">041012s2005 xx ad|| |||| 00||| ger d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3898643050</subfield><subfield code="9">3-89864-305-0</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)76509503</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV019421267</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-1050</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-861</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-2070s</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 233</subfield><subfield code="0">(DE-625)143620:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 330f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Vigenschow, Uwe</subfield><subfield code="d">1961-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)129445797</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Objektorientiertes Testen und Testautomatisierung in der Praxis</subfield><subfield code="b">Konzepte, Techniken und Verfahren</subfield><subfield code="c">Uwe Vigenschow</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Heidelberg</subfield><subfield code="b">dpunkt-Verl.</subfield><subfield code="c">2005</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XV, 331 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">2. Aufl. u.d.T.: Testen von Software und Embedded Systems</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Software</subfield><subfield code="0">(DE-588)4055382-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Testen</subfield><subfield code="0">(DE-588)4367264-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Objektorientierung</subfield><subfield code="0">(DE-588)4346172-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Software</subfield><subfield code="0">(DE-588)4055382-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Objektorientierung</subfield><subfield code="0">(DE-588)4346172-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Testen</subfield><subfield code="0">(DE-588)4367264-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=012882911&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-012882911</subfield></datafield></record></collection> |
id | DE-604.BV019421267 |
illustrated | Illustrated |
indexdate | 2024-12-20T12:00:24Z |
institution | BVB |
isbn | 3898643050 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-012882911 |
oclc_num | 76509503 |
open_access_boolean | |
owner | DE-1050 DE-859 DE-91G DE-BY-TUM DE-92 DE-573 DE-824 DE-858 DE-M347 DE-861 DE-29T DE-634 DE-11 DE-523 DE-2070s |
owner_facet | DE-1050 DE-859 DE-91G DE-BY-TUM DE-92 DE-573 DE-824 DE-858 DE-M347 DE-861 DE-29T DE-634 DE-11 DE-523 DE-2070s |
physical | XV, 331 S. Ill., graph. Darst. |
publishDate | 2005 |
publishDateSearch | 2005 |
publishDateSort | 2005 |
publisher | dpunkt-Verl. |
record_format | marc |
spellingShingle | Vigenschow, Uwe 1961- Objektorientiertes Testen und Testautomatisierung in der Praxis Konzepte, Techniken und Verfahren Software (DE-588)4055382-6 gnd Testen (DE-588)4367264-4 gnd Objektorientierung (DE-588)4346172-4 gnd |
subject_GND | (DE-588)4055382-6 (DE-588)4367264-4 (DE-588)4346172-4 |
title | Objektorientiertes Testen und Testautomatisierung in der Praxis Konzepte, Techniken und Verfahren |
title_auth | Objektorientiertes Testen und Testautomatisierung in der Praxis Konzepte, Techniken und Verfahren |
title_exact_search | Objektorientiertes Testen und Testautomatisierung in der Praxis Konzepte, Techniken und Verfahren |
title_full | Objektorientiertes Testen und Testautomatisierung in der Praxis Konzepte, Techniken und Verfahren Uwe Vigenschow |
title_fullStr | Objektorientiertes Testen und Testautomatisierung in der Praxis Konzepte, Techniken und Verfahren Uwe Vigenschow |
title_full_unstemmed | Objektorientiertes Testen und Testautomatisierung in der Praxis Konzepte, Techniken und Verfahren Uwe Vigenschow |
title_short | Objektorientiertes Testen und Testautomatisierung in der Praxis |
title_sort | objektorientiertes testen und testautomatisierung in der praxis konzepte techniken und verfahren |
title_sub | Konzepte, Techniken und Verfahren |
topic | Software (DE-588)4055382-6 gnd Testen (DE-588)4367264-4 gnd Objektorientierung (DE-588)4346172-4 gnd |
topic_facet | Software Testen Objektorientierung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=012882911&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT vigenschowuwe objektorientiertestestenundtestautomatisierunginderpraxiskonzeptetechnikenundverfahren |
Inhaltsverzeichnis
Paper/Kapitel scannen lassen
Paper/Kapitel scannen lassen
Teilbibliothek Maschinenwesen
Signatur: |
0702 DAT 330 2004 A 376
Lageplan |
---|---|
Exemplar 1 | Ausleihbar Am Standort |