The art of Unit Testing: [lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator]
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Heidelberg [u.a.]
mitp
2010
|
Ausgabe: | Dt. Ausg., 1. Aufl. |
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | 300 S. Ill., graph. Darst. |
ISBN: | 9783826690235 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV036854004 | ||
003 | DE-604 | ||
005 | 20120105 | ||
007 | t | ||
008 | 101206s2010 gw ad|| |||| 00||| ger d | ||
015 | |a 10,N03 |2 dnb | ||
016 | 7 | |a 999187899 |2 DE-101 | |
020 | |a 9783826690235 |c PB. : ca. EUR 39.95 |9 978-3-8266-9023-5 | ||
024 | 3 | |a 9783826690235 | |
028 | 5 | 2 | |a 826690230 |
035 | |a (OCoLC)695567460 | ||
035 | |a (DE-599)DNB999187899 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-BW | ||
049 | |a DE-92 |a DE-12 |a DE-91G |a DE-83 |a DE-634 |a DE-20 |a DE-1049 |a DE-M347 |a DE-703 | ||
082 | 0 | |a 005.14 |2 22/ger | |
084 | |a ST 233 |0 (DE-625)143620: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 330f |2 stub | ||
100 | 1 | |a Osherove, Roy |e Verfasser |0 (DE-588)142933740 |4 aut | |
240 | 1 | 0 | |a The art of unit testing with examples in .NET |
245 | 1 | 0 | |a The art of Unit Testing |b [lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator] |c Roy Osherove |
250 | |a Dt. Ausg., 1. Aufl. | ||
264 | 1 | |a Heidelberg [u.a.] |b mitp |c 2010 | |
300 | |a 300 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Microsoft dot net |0 (DE-588)4645646-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwaretest |0 (DE-588)4132652-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Komponententest |0 (DE-588)4674453-8 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Komponententest |0 (DE-588)4674453-8 |D s |
689 | 0 | 1 | |a Microsoft dot net |0 (DE-588)4645646-6 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Softwaretest |0 (DE-588)4132652-0 |D s |
689 | 1 | 1 | |a Microsoft dot net |0 (DE-588)4645646-6 |D s |
689 | 1 | |8 1\p |5 DE-604 | |
856 | 4 | 2 | |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=3406522&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m SWB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020769903&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-020769903 |
Datensatz im Suchindex
_version_ | 1805095069936517120 |
---|---|
adam_text |
IMAGE 1
INHALTSVERZEICHNIS
EINLEITUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 1 7
UEBER DIESES BUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 18
WIE SIE DIESES BUCH VERWENDEN . . . . . . . . . . . . . . . . . . . . .
. . . 18
WER DIESES BUCH LESEN SOLLTE . . . . . . . . . . . . . . . . . . . . . .
. . . . . 18
MEILENSTEINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 18
CODEKONVENTIONEN UND DOWNLOADS . . . . . . . . . . . . . . . . . . . . .
19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SOFTWAREANFORDERUNGEN 20
DANKSAGUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 20
TEIL I ERSTE SCHRITTE . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
.P. . .
DIE GRUNDLAGEN DES UNIT TESTINGS . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
UNIT TESTING . DIE KLASSISCHE DEFINITION . . . . . . . . . . . . . . . .
. . . . . . . .
1.1.1 DIE BEDEUTUNG »GUTER UNIT TESTS . . . . . . . . . . . . . . . . .
. . . . .
1.1.2 WIR ALLE HABEN SCHON UNIT TESTS GESCHRIEBEN
(IRGENDWIE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
EIGENSCHAFTEN EINES »GUTEN UNIT TESTS . . . . . . . . . . . . . . . . .
. . . . . . .
INTEGRATION TESTS . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1.3.1 NACHTEILE VON INTEGRATION TESTS IM VERGLEICH ZU
AUTOMATISIERTEN UNIT TESTS . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
»GUTE UNIT TESTS - EINE DEFINITION . . . . . . . . . . . . . . . . . .
. . . . . . . . .
EIN EINFACHES UNIT-TEST-BEISPIEL . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
TESTGETRIEBENE ENTWICKLUNG . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
2 EIN ERSTER UNIT TEST . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
2.1 FRAMEWORKS FUER DAS UNIT TESTING . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 2.1.1 WAS UNIT TESTING FRAMEWORKS
BIETEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 DIE XUNIT FRAMEWORKS . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 2 . 2 DAS LOGAN-PROJEKT WIRD VORGESTELLT
IMAGE 2
INHALTSVERZEICHNIS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . / 2.3
DIE ERSTEN SCHRITTE MIT NUNIT . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 2.3.1 DIE INSTALLATION VON NUNIT . . . . . . . . . . . . .
. . . . . . . . . . . . . 2.3.2 DAS LADEN DER PROJEKTMAPPE . . . . . .
2.33 DIE VERWENDUNG DER NUNIT-ATTRIBUTE IN IHREM CODE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 WIR
SCHREIBEN UNSEREN ERSTEN TEST 2.4.1 DIE KLASSE ASSERT . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 WIR FUEHREN UNSEREN ERSTEN TEST MIT NUNIT AUS . . . . . . . . . . .
2.4.3 FEHLERBEHEBUNG UND EIN ERFOLGREICHER TESTLAUF . . . . . . . . . .
. 2.4.4 VON ROT NACH GRUEN . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
2.5 WEITERE NUNIT-ATTRIBUTE . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
2.5.1 AUFBAU UND ABBAU . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
2.5.2 AUF ERWARTETE AUSNAHMEN PRUEFEN . . . . . . . . . . . . . . . . . .
. . .
2.5.3 DAS IGNORIEREN VON TESTS . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
2.5.4 DAS FESTLEGEN DER TESTKATEGORIEN . . . . . . . . . . . . . . . . .
. . . . .
2.6 INDIREKTE ZUSTANDSTESTS . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
2.7 ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
TEIL II ZENTRALE METHODEN . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . 1 DIE VERWENDUNG VON STUBS. UM ABHAENGIGKEITEN AUFZULOESEN 3.1
DIE STUBS WERDEN VORGESTELLT . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . 3.2 DIE IDENTIFIZIERUNG EINER DATEISYSTEMABHAENGIGKEIT IN
LOGAN 3.3 DIE ENTSCHEIDUNG. WIE LOGANALYZER AM EINFACHSTEN GETESTET
WERDEN KANN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . 3.4 DESIGN-REFACTORING ZUR VERBESSERUNG DER
TESTBARKEIT 3.4.1 EXTRAHIERE EIN INTERFACE. UM DIE DAHINTER LIEGENDE
IMPLEMENTIERUNG DURCH EINE ANDERE ERSETZEN ZU KOENNEN . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
3.4.2 INJIZIERE EINE STUB-IMPLEMENTIERUNG IN DIE ZU TESTENDE KLASSE . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.3 UEBERGEBE DEM KONSTRUKTOR EIN INTERFACE (CONSTRUCTOR INJECTION) . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.4 UEBERGEBE EINER PROPERTY EIN INTERFACE . . . . . . . . . . . . . .
. . . .
3.4.5 HOLE EINEN STUB UNMITTELBAR VOR EINEM METHODENAUFRUF . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 VARIATIONEN DER REFACTORING-TECHNIK . . . . . . . . . . . . . . . .
. . . . . . . . . .
3.5.1 DIE VERWENDUNG VON EXTRACT AND OVERRIDE, UM STUB-RESULTATE ZU
ERZEUGEN . . . . . . . . . . . . . . . . . . . . . . . . . . .
IMAGE 3
INHALTSVERZEICHNIS
DIE UEBERWINDUNG DES KAPSELUNGSPROBLEMS . . . . . . . . . . . . . . . . .
. . . . 95
. . . . . J.G.1 DIE VERWENDUNG VON INTERNAL UND [INTERNALSVISIBLETO] 96
3.6.2 DIE VERWENDUNG DES ATTRIBUTS [CONDITIONAL] . . . . . . . . . . . .
. . 96
3.6.3 DIE VERWENDUNG VON #IF UND #ENDIF ZUR BEDINGTEN KOMPILIERUNG . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . ZUSAMMENFASSUNG 98
INTERACTION TESTING MIT MOCK-OBJEKTEN . . . . . . . . . . . . . . . . .
. . . . . . . 99
ZUSTANDSBASIERTES TESTEN GEGENUEBER INTERACTION TESTING . . . . . . . . .
. 99 DER UNTERSCHIED ZWISCHEN MOCKS UND STUBS . . . . . . . . . . . . .
. . . . . . . 101
EIN EINFACHES MANUELLES MOCK-BEISPIEL . . . . . . . . . . . . . . . . .
. . . . . . . 103
DIE GEMEINSAME VERWENDUNG VON MOCK UND STUB . . . . . . . . . . . . . .
. 106 EIN MOCK PRO TEST . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 111
. . . . . . . . STUB-KETTEN: STUBS. DIE MOCKS ODER ANDERE STUBS ERZEUGEN
111 DIE PROBLEME MIT HANDGESCHRIEBENEN MOCKS UND STUBS . . . . . . . . .
. 112 ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 113
ISOLATION (MOCK-OBJEKT-)FRAMEWORKS . . . . . . . . . . . . . . . . . . .
. . . . . . . 115
WARUM UEBERHAUPT ISOLATION FRAMEWORKS? . . . . . . . . . . . . . . . . .
. . . . . 116
DAS DYNAMISCHE ERZEUGEN EINES FAKE-OBJEKTS . . . . . . . . . . . . . . .
. . . . 118
5.2.1 DIE EINFUEHRUNG VON RHINO MOCKS IN IHRE TESTS . . . . . . . . . . .
118 5.2.2 DAS ERSETZEN EINES HANDGESCHRIEBENEN MOCK-OBJEKTS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DURCH EIN
DYNAMISCHES 119
STRIKTE UND NICHT-STRIKTE MOCK-OBJEKTE . . . . . . . . . . . . . . . . .
. . . . . . . . 1 2 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 5.3.1 STRIKTE MOCKS 1 2 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2 NICHT-STRIKTE MOCKS 122
DIE RUECKGABE VON WERTEN AUS FAKE-OBJEKTEN . . . . . . . . . . . . . . .
. . . . 124
DAS ERZEUGEN SCHLAUER STUBS MIT EINEM ISOLATION FRAMEWORK . . . . . 126
. . . . . . . . . . . . . . . 5.5.1 DAS ERZEUGEN EINES STUBS IN RHINO
MOCKS 126
. . . . . . 5.5.2 DIE KOMBINATION VON DYNAMISCHEN STUBS UND MOCKS 128 .
. . . . . . . . . . . . . . . . . . . PARAMETER CONSTRAINTS FUER MOCKS
UND STUBS 131
. . . . 5.6.1 DAS UEBERPRUEFEN VON PARAMETERN MIT STRING CONSTRAINTS 1 3 1
5.6.2 DAS UEBERPRUEFEN VON PARAMETER OBJECT PROPERTIES MIT . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONSTRAINT S 1 3 3
. . . 5.6.3 DIE AUSFUEHRUNG VON CALLBACKS ZUR PARAMETERVERIFIKATIO~~ 135
. . . . . . . . . . . . . . . . . . . . . DAS TESTEN AUF EVENT-BEZOGENE
AKTIVITAETEN 136
5.7.1 WIR TESTEN, OB EIN EVENT ABONNIERT WURDE . . . . . . . . . . . . .
. . . 1 3 7
. . . . . 5.7.2 DAS TRIGGERN VON EVENTS AUS MOCKS UND STUBS HERAUS 138
5.7.3 WIR TESTEN, OB EIN EVENT AUSGELOEST WURDE . . . . . . . . . . . . .
. . . . 139
I
IMAGE 4
INHALTSVERZEICHNIS
. 1 5.8 DIE ARRANGE-ACT-ASSERT-SYNTAX FUER DIE ISOLATION
141
. 5.9 DIE AKTUELLEN ISOLATION FRAMEWORKS FUER .NE T. 144
5.9.1 NUNIT.MOCKS. . 145
5.9.2 NMOCK . 146
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 5.9.3 NMOCKZ 146
. 5.9.4 TYPEMOCK ISOLATOR 146
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 5.9.5 RHINOMOCKS 147
5.9.6 MOQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 148
. . . . . . . . . . . . . . . . . . . . . . . . I DIE VORTEILE VON
ISOLATION FRAMEWORKS 149
5.11 MOEGLICHE FALLSTRICKE BEI DER VERWENDUNG VON ISOLATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . FRAMEWORKS 149
. 5.11.1 UNLESBARER TESTCODE 150
. . . . . . . . . . . . . . . . . . . 5.11.2 DIE VERIFIZIERUNG DER
FALSCHEN DINGE 150
I DIE VERWENDUNG VON MEHR ALS EINEM MOCK PRO TEST . 150
. . . . . . . . . . . . . . . . . . . . . . 5.11.4 DIE
UEBER~PEZIFIZIERUN~ VON TESTS 150
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 5.12 ZUSAMMENFASSUNG 151
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . TEIL I I I DER TESTCODE 153
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
TESTHIERARCHIE UND ORGANISATION 155
. 6.1 MIT AUTOMATISIERTEN BUILDS AUTOMATISIERTE TESTS LAUFEN LASSEN
155 . . . . . . . . . . . . . . 6.1.1 DIE ANATOMIE EINES AUTOMATISIERTEN
BUILDS 156
6.1.2 DAS ANSTOGEN VON BUILDS UND DIE KONTINUIERLICHE . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INTEGRATION 158
6.1.3 AUTOMATISIERTE BUILD.TYPEN . . . . . . . . . . . . . . . . . . . .
. . . . . . . 158
. 6.2 TESTENTWUERFE, DIE AUF GESCHWINDIGKEIT UND TYP BASIEREN 159
6.2.1 DER MENSCHLICHE FAKTOR BEIM TRENNEN VON UNIT
. UND INTEGRATION TESTS 160
6.2.2 DIE SICHERE GRUENE ZONE . 161
6.3 STELLEN SIE SICHER, DASS DIE TESTS ZU IHRER QUELLCODEKONTROLLE
GEHOEREN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 161
6.4 DAS ABBILDEN DER TESTKLASSEN AUF DEN ZU TESTENDEN CODE . . . . . . .
. . 162 6.4.1 DAS ABBILDEN VON TESTS AUF PROJEKTE . . . . . . . . . . .
. . . . . . . . 162
6.4.2 DAS ABBILDEN VON TESTS AUF KLASSEN . 162
6.4.3 DAS ABBILDEN VON TESTS AUF BESTIMMTE METHODEN . 164 6.5 WIR
BAUEN EINE TEST-API FUER IHRE APPLIKATION . 164
I DIE VERWENDUNG VON TESTKLASSEN-VERERBUNGSMUSTEM . 165
IMAGE 5
6.5.2 DER ENTWURF VON TEST-HILFSKLASSEN UND -HILFSMETHODEN . . . . 181
6.5.3 MACHEN SIE IHRE API DEN ENTWICKLERN BEKANNT . . . . . . . . . . .
182 6.6 ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 183
7 DIE SAEULEN GUTER TESTS . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
7.1 DAS SCHREIBEN VERTRAUENSWUERDIGER TESTS . . . . . . . . . . . . . . .
. . . . . . . .
7.1.1 DIE ENTSCHEIDUNG. WANN TESTS ENTFERNT ODER GEAENDERT WERDEN . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.2 VERMEIDEN SIE LOGIK IN TESTS . . . . . . . . . . . . . . . . . . .
. . . . . . .
7.1.3 TESTEN SIE NUR EINE SACHE . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
7.1.4 MACHEN SIE ES LEICHT. DIE TESTS AUSZUFUHREN . . . . . . . . . . .
. . .
7.1.5 STELLEN SIE DIE CODE-ABDECKUNG SICHER . . . . . . . . . . . . . .
. . . .
7.2 DAS SCHREIBEN WARTBARER TESTS . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . 7.2.1 DAS TESTEN PRIVATER ODER GESCHUETZTER
METHODEN . . . . . . . . . . . . . . . . . . . . . . . . 7.2.2 DAS
ENTFERNEN VON DUPLIZITAETEN 7.2.3 DIE VERWENDUNG VON SETUP-METHODEN IN
EINER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
WARTBAREN ART UND WEISE
. . . . . . . . . . . . . . . . . . . . . 7.2.4 DAS ERZWINGEN DER
TEST-ISOLIERUNG . . . . . . . . . . . . . . . . . . . . . . 7.2.5
VERMEIDEN SIE MEHRFACHE ASSERTS 7.2.6 VERMEIDEN SIE ES, MEHRERE ASPEKTE
DES GLEICHEN OBJEKTS ZU TESTEN . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . 7.2.7 VERMEIDEN SIE EINE UEBERSPEZIFIZIERUNG DER TESTS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3
DAS SCHREIBEN LESBARER TESTS . . . . . . . . . . . . . . . . . . . . . .
. . . 7.3.1 DIE BENENNUNG DER UNIT TESTS . . . . . . . . . . . . . . . .
. . . . . . . . . . 7.3.2 DIE BENENNUNG DER VARIABLEN
. . . . . . . . . . . . . . . . . . . . . . . 7.3.3 BENACHRICHTIGEN SIE
SICH SINNVOLL . . . . . . . . . . . . . . 7.3.4 DAS TRENNEN DER ASSERTS
VON DEN AKTIONEN 7.3.5 AUFBAUEN UND ABREISSEN . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
7.4 ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
TEIL IV DESIGN UND DURCHFDHRUNG . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 229
8 DIE INTEGRATION VON UNIT TESTS IN DAS UNTERNEHMEN . . . . . . . . . .
. . . . 231
8.1 SCHRITTE. UM EIN AGENT DES WANDELS ZU WERDEN . . . . . . . . . . . .
. . . . . . 231
. . . . . . . . . . . . 8.1.1 SEIEN SIE AUF DIE SCHWEREN FRAGEN
VORBEREITET 232
. . . . . . . 8.1.2 UEBERZEUGEN SIE INSIDER: CHAMPIONS UND BLOCKIERER 232
. . . . . . . . . . . . . . 8.1.3 IDENTIFIZIEREN SIE MOEGLICHE
EINSTIEGSPUNKTE 234
IMAGE 6
IALTSVERZEICHNIS INH
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 8.2 WEGE ZUM ERFOLG . . . . . . . . . . . . . . . . . 8.2.1
GUERILLA-IMPLEMENTIERUNG (BOTTOM-UP) . . . . . . . . . . . 8.2.2
UEBERZEUGEN SIE DAS MANAGEMENT (TOP-DOWN) . . . . . . . . . . . . . . . .
. . . 8.2.3 HOLEN SIE EINEN EXTERNEN CHAMPION
. . . . . . . . . . . . . . . . . . . . . . . 8.2.4 MACHEN SIE
FORTSCHRITTE SICHTBAR . . . . . . . . . . . . . . . . . . . . . . .
8.2.5 STREBEN SIE BESTIMMTE ZIELE AN . . . . . . . . 8.2.6 MACHEN SIE
SICH KLAR, DASS ES HUERDEN GEBEN WIRD 8.3 WEGE ZUM MISSERFOLG . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.1 MANGELNDE TRIEBKRAFT . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
8.3.2 MANGELNDE POLITISCHE UNTERSTUETZUNG . . . . . . . . . . . . . . . .
. . .
8.33 SCHLECHTE IMPLEMENTIERUNGEN UND ERSTE EINDRUECKE . . . . . . . 8.3.4
MANGELNDE TEAMUNTERSTUETZUNG . . . . . . . . . . . . . . . . . . . . . .
.
8.4 SCHWIERIGE FRAGEN UND ANTWORTEN . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
8.4.1 WIE VIEL ZUSAETZLICHE ZEIT WIRD FUER DEN AKTUELLEN PROZESS BENOETIGT?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.2 IST DESWEGEN MEIN JOB BEI DER QS IN GEFAHR? . . . . . . . . . . .
.
8.4.3 WOHER WISSEN WIR, DASS ES WIRKLICH FUNKTIONIEREN WIRD? . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . .
8.4.4 GIBT ES DENN EINEN BEWEIS, DASS UNIT TESTING HILFT? . . . . . . .
8.4.5 WARUM FINDET DIE QS IMMER NOCH BUGS? . . . . . . . . . . . . . . .
8.4.6 WIR HABEN EINE MENGE CODE OHNE TESTS: WO FANGEN WIR AN? . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.7 WIR ARBEITEN MIT MEHREREN SPRACHEN: IST UNIT TESTING DA
PRAKTIKABEL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
8.4.8 WAS IST, WENN WIR EINE KOMBINATION AUS SOFT- UND HARDWARE
ENTWICKELN? . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.9 WIE KOENNEN WIR WISSEN, DASS WIR KEINE BUGS IN UNSEREN TESTS HABEN?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.10 MEIN DEBUGGER ZEIGT MIR, DASS MEIN CODE FUNKTIONIERT: WOZU
BRAUCHE ICH TESTS? . . . . . . . . . . . . . . . . . . . . . . . . . . .
. .
8.4." MUESSEN WIR CODE IM TDD-STIL SCHREIBEN? . . . . . . . . . . . . . .
.
8.5 ZUSAMMENFASSUNG . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
G DER UMGANG MIT LEGACY CODE . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
9.1 WO SOLL MAN MIT DEM EINBAUEN DER TESTS BEGINNEN? . . . . . . . . . .
. .
9.2 BESTIMMEN SIE EINE AUSWAHLSTRATEGIE . . . . . . . . . . . . . . . .
. . . . . . . . .
9.2.1 VOR- UND NACHTEILE DER STRATEGIE »EINFACHES ZUERST . . . . . . .
9.2.2 VOR- UND NACHTEILE DER STRATEGIE »SCHWIERIGES ZUERST* . . . . .
IMAGE 7
INHALTSVERZEICHNIS
9.3 SCHREIBEN SIE INTEGRATION TESTS. BEVOR SIE MIT DEM REFACTORING
BEGINNEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 256
9.4 WICHTIGE TOOLS FUER DAS UNIT TESTING VON LEGACY CODE . . . . . . . .
. . . . . 257 9.4.1 ABHAENGIGKEITEN ISOLIEREN SIE LEICHT MIT TYPEMOCK
ISOLATOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 258
9.4.2 TESTBARKEITSPROBLEME FINDEN SIE MIT DEPENDER . . . . . . . . . . .
259 9.4.3 VERWENDEN SIE JMOCKIT FUER JAVA-LEGACY-CODE . . . . . . . . . .
. . . 260
9.4.4 VERWENDEN SIE VISE BEIM REFACTORING IHRES JAVA.CODES . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
262
9.4.5 VERWENDEN SIE FITNESSE FUER AKZEPTANZTESTS, BEVOR SIE MIT DEM
REFACTORING BEGINNEN . . . . . . . . . . . . . . . . . . . . . . . . .
263
9.4.6 LESEN SIE DAS BUCH VON MICHAEL FEATHERS ZU LEGACY CODE . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
9.4.7 VERWENDEN SIE NDEPEND. UM IHREN PRODUKTIONSCODE . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ZU UNTERSUCHEN
264
9.4.8 VERWENDEN SIE RESHARPER FUER DIE NAVIGATION UND . . . . . . . . . .
. . . . . . . . . DAS REFACTORING DES PRODUKTIONSCODES 265
. . . . . 9.4.9 SPUEREN SIE CODE-DUPLIKATE (UND BUGS) MIT SIMIAN AUF 265
9.4.10 SPUEREN SIE THREADING-PROBLEME MIT TYPEMOCK RACER AUF . . 266 . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 9.5 ZUSAMMENFASSUNG 266
A DESIGN UND TESTBARKEIT . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 267
A.I WARUM SOLLTE ICH MIR GEDANKEN UM DIE TESTBARKEIT IN MEINEM DESIGN
MACHEN? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 267
A.2 DESIGNZIELE FUER DIE TESTBARKEIT . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 268
A.2.1 DEKLARIEREN SIE METHODEN STANDARDMAESSIG ALS VIRTUELL . . . . . .
269 A.2.2 BENUTZEN SIE EIN INTERFACE-BASIERTES DESIGN . . . . . . . . .
. . . . . 270
A.2.3 DEKLARIEREN SIE KLASSEN STANDARDMAESSIG ALS NICHT VERSIEGELT . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 271
A.2.4 VERMEIDEN SIE ES. KONKRETE KLASSEN INNERHALB VON . . . . . . . . .
. . . . . . . . . . METHODEN MIT LOGIK ZU INSTANZIIEREN 271
A.Z.5 VERMEIDEN SIE DIREKTE AUFRUFE VON STATISCHEN
METHODEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 271
A.2.G VERMEIDEN SIE KONSTRUKTOREN UND STATISCHE . . . . . . . . . . . .
. . . . . . . . . KONSTRUKTOREN. DIE LOGIK ENTHALTEN 272
. . . . . A.2.7 TRENNEN SIE DIE SINGLETON-LOGIK UND SINGLETON-HALTER 272
. . . . . . A.3 VOR- UND NACHTEILE DES DESIGNS ZUM ZWECKE DER
TESTBARKEIT 274 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . A.3.1 ARBEITSUMFANG 274
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . A.3.2 KOMPLEXITAET 275
I
IMAGE 8
INHALTSVERZEICHNIS
. . . . . . . . . . . . . . . . . . . . . . A.3.3 DAS PREISGEBEN VON
SENSIBLEM IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. A.3.4 MANCHMAL GEHT'S NICHT ALTERNATIVEN DES DESIGNS ZUM ZWECKE DER
TESTBARKEIT . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . ZUSAMMENFASSUNG
TOOLS UND FRAMEWORKS . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
ISOLATION FRAMEWORKS . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
B.I.I MOQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
B . I . ~ RHINO MOCKS . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.1.3 TYPEMOCK ISOLATOR B.1.4 NMO& . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
B . I . ~ NUNIT.MO&S. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . TEST FRAMEWORKS . . . . . . . . . . . . . . . . . . . .
B.Z.1 MICROSOFTS UNIT TESTING FRAMEWORK B . 2 . 2 NUNIT . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . B.Z.3 MBUNIT B . 2 . 4 GALLIO
.
B.2.5 XUNIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
B.2.G PEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
DEPENDENCY INJECTION UND 1OC.CONTAINER . . . . . . . . . . . . . . . . .
. . . . .
B.J.1 STRUCTUREMAP . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
B.3.Z MICROSOFI UNITY . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
B 3 3 CASTLE WINDSOR . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
B.3.4 AUTOFAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
B.3.5 COMMON SEMCE LOCATOR LIBRARY . . . . . . . . . . . . . . . . . . .
. . .
B.3.6 SPRING.NET .
B.3.7 MICROSOFI MANAGED EXTENSIBILITY FRAMEWORK . . . . . . . . . . . .
.
B.3.8 NINJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
DATENBANKTESTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
B.Q.1 VERWENDEN SIE INTEGRATION TESTS FUER IHRE DATENSCHICHT . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B . 4 . 2 VERWENDEN SIE ROLLBACK-ATTRIBUTE . . . . . . . . . . . . . . .
. . . . . .
B.4.3 VERWENDEN SIE TRANSACTIONSCOPE FUER EIN ROLLBACK . . . . . . . .
WEBTESTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
B.5.1 IVONNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
B.5.2 TEAM SYSTEM WEB TEST .
5 3 NUNITASP .
B.5.4 WATIR .
IMAGE 9
INHALTSVERZEICHNIS
B.5.5 WATIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 290
B.5.G SELENIUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 290
B.G UI-TESTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 291
B.G.1 NUNITFORMS . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 291
B.G.2 PROJECT WHITE . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 291
B.G.3 VISUAL STUDIO U1 TEST . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 292
B.7 THREAD-BEZOGENE TESTS . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 292
B.7.1 TYPEMOCK RACER . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 292
B.7.2 MICROSOFT CHESS . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 293
B.7.3 0SHEROVE.THREADTESTER . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 293
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . B.8 AKZEPTANZTESTS 293
B.8.1 FITNESSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 294
B.8.2 STORYTELLER . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 294
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . C LEITFADEN TEST- REVIEW 295
STICHWORTVERZEICHNIS . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 297 |
any_adam_object | 1 |
author | Osherove, Roy |
author_GND | (DE-588)142933740 |
author_facet | Osherove, Roy |
author_role | aut |
author_sort | Osherove, Roy |
author_variant | r o ro |
building | Verbundindex |
bvnumber | BV036854004 |
classification_rvk | ST 233 |
classification_tum | DAT 330f |
ctrlnum | (OCoLC)695567460 (DE-599)DNB999187899 |
dewey-full | 005.14 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.14 |
dewey-search | 005.14 |
dewey-sort | 15.14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | Dt. Ausg., 1. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV036854004</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20120105</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">101206s2010 gw ad|| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">10,N03</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">999187899</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783826690235</subfield><subfield code="c">PB. : ca. EUR 39.95</subfield><subfield code="9">978-3-8266-9023-5</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783826690235</subfield></datafield><datafield tag="028" ind1="5" ind2="2"><subfield code="a">826690230</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)695567460</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB999187899</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-BW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-92</subfield><subfield code="a">DE-12</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-1049</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-703</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.14</subfield><subfield code="2">22/ger</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">004</subfield><subfield code="2">sdnb</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">Osherove, Roy</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)142933740</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">The art of unit testing with examples in .NET</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">The art of Unit Testing</subfield><subfield code="b">[lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator]</subfield><subfield code="c">Roy Osherove</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Dt. Ausg., 1. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Heidelberg [u.a.]</subfield><subfield code="b">mitp</subfield><subfield code="c">2010</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">300 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="650" ind1="0" ind2="7"><subfield code="a">Microsoft dot net</subfield><subfield code="0">(DE-588)4645646-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwaretest</subfield><subfield code="0">(DE-588)4132652-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Komponententest</subfield><subfield code="0">(DE-588)4674453-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Komponententest</subfield><subfield code="0">(DE-588)4674453-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Microsoft dot net</subfield><subfield code="0">(DE-588)4645646-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Softwaretest</subfield><subfield code="0">(DE-588)4132652-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Microsoft dot net</subfield><subfield code="0">(DE-588)4645646-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=3406522&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">SWB 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=020769903&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-020769903</subfield></datafield></record></collection> |
id | DE-604.BV036854004 |
illustrated | Illustrated |
indexdate | 2024-07-20T10:53:26Z |
institution | BVB |
isbn | 9783826690235 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-020769903 |
oclc_num | 695567460 |
open_access_boolean | |
owner | DE-92 DE-12 DE-91G DE-BY-TUM DE-83 DE-634 DE-20 DE-1049 DE-M347 DE-703 |
owner_facet | DE-92 DE-12 DE-91G DE-BY-TUM DE-83 DE-634 DE-20 DE-1049 DE-M347 DE-703 |
physical | 300 S. Ill., graph. Darst. |
publishDate | 2010 |
publishDateSearch | 2010 |
publishDateSort | 2010 |
publisher | mitp |
record_format | marc |
spelling | Osherove, Roy Verfasser (DE-588)142933740 aut The art of unit testing with examples in .NET The art of Unit Testing [lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator] Roy Osherove Dt. Ausg., 1. Aufl. Heidelberg [u.a.] mitp 2010 300 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier Microsoft dot net (DE-588)4645646-6 gnd rswk-swf Softwaretest (DE-588)4132652-0 gnd rswk-swf Komponententest (DE-588)4674453-8 gnd rswk-swf Komponententest (DE-588)4674453-8 s Microsoft dot net (DE-588)4645646-6 s DE-604 Softwaretest (DE-588)4132652-0 s 1\p DE-604 text/html http://deposit.dnb.de/cgi-bin/dokserv?id=3406522&prov=M&dok_var=1&dok_ext=htm Inhaltstext SWB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020769903&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Osherove, Roy The art of Unit Testing [lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator] Microsoft dot net (DE-588)4645646-6 gnd Softwaretest (DE-588)4132652-0 gnd Komponententest (DE-588)4674453-8 gnd |
subject_GND | (DE-588)4645646-6 (DE-588)4132652-0 (DE-588)4674453-8 |
title | The art of Unit Testing [lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator] |
title_alt | The art of unit testing with examples in .NET |
title_auth | The art of Unit Testing [lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator] |
title_exact_search | The art of Unit Testing [lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator] |
title_full | The art of Unit Testing [lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator] Roy Osherove |
title_fullStr | The art of Unit Testing [lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator] Roy Osherove |
title_full_unstemmed | The art of Unit Testing [lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator] Roy Osherove |
title_short | The art of Unit Testing |
title_sort | the art of unit testing lesbare wartbare und zuverlassige tests entwickeln stubs mock objekte und automatisierte frameworks einsatz von net tools inkl nunit rhino mocks und typemock isolator |
title_sub | [lesbare, wartbare und zuverlässige Tests entwickeln ; Stubs, Mock-Objekte und automatisierte Frameworks ; Einsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator] |
topic | Microsoft dot net (DE-588)4645646-6 gnd Softwaretest (DE-588)4132652-0 gnd Komponententest (DE-588)4674453-8 gnd |
topic_facet | Microsoft dot net Softwaretest Komponententest |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=3406522&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020769903&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT osheroveroy theartofunittestingwithexamplesinnet AT osheroveroy theartofunittestinglesbarewartbareundzuverlassigetestsentwickelnstubsmockobjekteundautomatisierteframeworkseinsatzvonnettoolsinklnunitrhinomocksundtypemockisolator |