Your email was sent successfully. Check your inbox.

An error occurred while sending the email. Please try again.

Proceed reservation?

Export
  • 1
    UID:
    kobvindex_ERBEBC6947550
    Format: 1 online resource (312 pages)
    Edition: 2
    ISBN: 9783826687211
    Note: Cover -- Titel -- Impressum -- Inhaltsverzeichnis -- Vorwort zur zweiten Auflage -- Vorwort zur ersten Auflage -- Einleitung -- Kapitel 1: Die Grundlagen des Unit Testings -- 1.1 Unit Testing - Schritt für Schritt definiert -- 1.1.1 Die Bedeutung guter Unit Tests -- 1.1.2 Wir alle haben schon Unit Tests geschrieben (irgendwie) -- 1.2 Eigenschaften eines »guten« Unit Tests -- 1.3 Integrationstests -- 1.3.1 Nachteile von nicht automatisierten Integrationstests im Vergleich zu automatisierten Unit Tests -- 1.4 Was Unit Tests »gut« macht -- 1.5 Ein einfaches Unit-Test-Beispiel -- 1.6 Testgetriebene Entwicklung -- 1.7 Die drei Schlüsselqualifikationen für erfolgreiches TDD -- 1.8 Zusammenfassung -- Kapitel 2: Ein erster Unit Test -- 2.1 Frameworks für das Unit Testing -- 2.1.1 Was Unit-Testing-Frameworks bieten -- 2.1.2 Die xUnit-Frameworks -- 2.2 Das LogAn-Projekt wird vorgestellt -- 2.3 Die ersten Schritte mit NUnit -- 2.3.1 Die Installation von NUnit -- 2.3.2 Das Laden der Projektmappe -- 2.3.3 Die Verwendung der NUnit-Attribute in Ihrem Code -- 2.4 Sie schreiben Ihren ersten Test -- 2.4.1 Die Klasse Assert -- 2.4.2 Sie führen Ihren ersten Test mit NUnit aus -- 2.4.3 Sie fügen positive Tests hinzu -- 2.4.4 Von Rot nach Grün: das erfolgreiche Ausführen der Tests -- 2.4.5 Test-Code-Gestaltung -- 2.5 Refactoring zu parametrisierten Tests -- 2.6 Weitere NUnit-Attribute -- 2.6.1 Aufbau und Abbau -- 2.6.2 Auf erwartete Ausnahmen prüfen -- 2.6.3 Das Ignorieren von Tests -- 2.6.4 Die fließende Syntax von NUnit -- 2.6.5 Das Festlegen der Testkategorien -- 2.7 Das Testen auf Zustandsänderungen des Systems statt auf Rückgabewerte -- 2.8 Zusammenfassung -- Kapitel 3: Die Verwendung von Stubs, um Abhängigkeiten aufzulösen -- 3.1 Die Stubs werden vorgestellt -- 3.2 Die Identifizierung einer Dateisystemabhängigkeit 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 können -- 3.4.2 Dependency Injection: Injiziere eine Fake-Implementierung in die zu testende Unit -- 3.4.3 Injiziere einen Fake auf Konstruktor-Ebene (Construktor Injection) -- 3.4.4 Simuliere Ausnahmen über Fakes -- 3.4.5 Injiziere ein Fake als Property Get oder Set -- 3.4.6 Injiziere einen Fake unmittelbar vor einem Methodenaufruf -- 3.5 Variationen der Refactoring-Technik -- 3.5.1 Die Verwendung von Extract and Override, um Fake-Resultate zu erzeugen -- 3.6 Die Überwindung des Kapselungsproblems -- 3.6.1 Die Verwendung von internal und [InternalsVisibleTo] -- 3.6.2 Die Verwendung des Attributs [Conditional] -- 3.6.3 Die Verwendung von #if und #endif zur bedingten Kompilierung -- 3.7 Zusammenfassung -- Kapitel 4: Interaction Testing mit Mock-Objekten -- 4.1 Wertbasiertes Testen versus zustandsbasiertes Testen versus Testen versus Interaction Testing -- 4.2 Der Unterschied zwischen Mocks und Stubs -- 4.3 Ein einfaches manuelles Mock-Beispiel -- 4.4 Die gemeinsame Verwendung von Mock und Stub -- 4.5 Ein Mock pro Test -- 4.6 Fake-Ketten: Stubs, die Mocks oder andere Stubs erzeugen -- 4.7 Die Probleme mit handgeschriebenen Mocks und Stubs -- 4.8 Zusammenfassung -- Kapitel 5: Isolation-(Mock-Objekt-)Frameworks -- 5.1 Warum überhaupt Isolation-Frameworks? -- 5.2 Das dynamische Erzeugen eines Fake-Objekts -- 5.2.1 Die Einführung von NSubstitute in Ihre Tests -- 5.2.2 Das Ersetzen eines handgeschriebenen Fake-Objekts durch ein dynamisches -- 5.3 Die Simulation von Fake-Werten -- 5.3.1 Ein Mock, ein Stub und ein Ausflug in einen Test -- 5.4 Das Testen auf ereignisbezogene Aktivitäten , 5.4.1 Das Testen eines Event Listeners -- 5.4.2 Der Test, ob ein Event getriggert wurde -- 5.5 Die aktuellen Isolation-Frameworks für .NET -- 5.6 Die Vorteile und Fallstricke von Isolation-Frameworks -- 5.6.1 Fallstricke, die man bei der Verwendung von Isolation-Frameworks besser vermeidet -- 5.6.2 Unlesbarer Testcode -- 5.6.3 Die Verifizierung der falschen Dinge -- 5.6.4 Die Verwendung von mehr als einem Mock pro Test -- 5.6.5 Die Überspezifizierung von Tests -- 5.7 Zusammenfassung -- Kapitel 6: Wir tauchen tiefer ein in die Isolation-Frameworks -- 6.1 Eingeschränkte und uneingeschränkte Frameworks -- 6.1.1 Eingeschränkte Frameworks -- 6.1.2 Uneingeschränkte Frameworks -- 6.1.3 Wie Profiler-basierte uneingeschränkte Frameworks arbeiten -- 6.2 Werte guter Isolation-Frameworks -- 6.3 Eigenschaften, die Zukunftssicherheit und Benutzerfreundlichkeit unterstützen -- 6.3.1 Rekursive Fakes -- 6.3.2 Ignoriere Argumente als Voreinstellung -- 6.3.3 Umfangreiches Fälschen -- 6.3.4 Nicht striktes Verhalten von Fakes -- 6.3.5 Nicht strikte Mocks -- 6.4 Isolation-Framework-Design-Antimuster -- 6.4.1 Konzept-Konfusion -- 6.4.2 Aufnahme und Wiedergabe -- 6.4.3 Klebriges Verhalten -- 6.4.4 Komplexe Syntax -- 6.5 Zusammenfassung -- Kapitel 7: Testhierarchie und Organisation -- 7.1 Automatisierte Builds, die automatisierte Tests laufen lassen -- 7.1.1 Die Anatomie eines Build-Skripts -- 7.1.2 Das Anstoßen von Builds und Integration -- 7.2 Testentwürfe, die auf Geschwindigkeit und Typ basieren -- 7.2.1 Der menschliche Faktor beim Trennen von Unit und Integrationstests -- 7.2.2 Die sichere grüne Zone -- 7.3 Stellen Sie sicher, dass die Tests zu Ihrer Quellcodekontrolle gehören -- 7.4 Das Abbilden der Testklassen auf den zu testenden Code -- 7.4.1 Das Abbilden von Tests auf Projekte -- 7.4.2 Das Abbilden von Tests auf Klassen , 7.4.3 Das Abbilden von Tests auf bestimmte Methoden -- 7.5 Querschnittsbelang-Injektion -- 7.6 Der Bau einer Test-API für Ihre Applikation -- 7.6.1 Die Verwendung von Testklassen-Vererbungsmustern -- 7.6.2 Der Entwurf von Test-Hilfsklassen und -Hilfsmethoden -- 7.6.3 Machen Sie Ihre API den Entwicklern bekannt -- 7.7 Zusammenfassung -- Kapitel 8: Die Säulen guter Unit Tests -- 8.1 Das Schreiben vertrauenswürdiger Tests -- 8.1.1 Die Entscheidung, wann Tests entfernt oder geändert werden -- 8.1.2 Vermeiden Sie Logik in Tests -- 8.1.3 Testen Sie nur einen Belang -- 8.1.4 Trennen Sie Unit Tests von Integrationstests -- 8.1.5 Stellen Sie Code-Reviews mit Codeabdeckung sicher -- 8.2 Das Schreiben wartbarer Tests -- 8.2.1 Das Testen privater oder geschützter Methoden -- 8.2.2 Das Entfernen von Duplizitäten -- 8.2.3 Die Verwendung von Setup-Methoden in einer wartbaren Art und Weise -- 8.2.4 Das Erzwingen der Test-Isolierung -- 8.2.5 Vermeiden Sie mehrfache Asserts für unterschiedliche Belange -- 8.2.6 Der Vergleich von Objekten -- 8.2.7 Vermeiden Sie eine Überspezifizierung der Tests -- 8.3 Das Schreiben lesbarer Tests -- 8.3.1 Die Benennung der Unit Tests -- 8.3.2 Die Benennung der Variablen -- 8.3.3 Benachrichtigen Sie sinnvoll -- 8.3.4 Das Trennen der Asserts von den Aktionen -- 8.3.5 Aufbauen und Abreißen -- 8.4 Zusammenfassung -- Kapitel 9: Die Integration von Unit Tests in die Organisation -- 9.1 Schritte, um ein Agent des Wandels zu werden -- 9.1.1 Seien Sie auf die schweren Fragen vorbereitet -- 9.1.2 Überzeugen Sie Insider: Champions und Blockierer -- 9.1.3 Identifizieren Sie mögliche Einstiegspunkte -- 9.2 Wege zum Erfolg -- 9.2.1 Guerilla-Implementierung (Bottom-up) -- 9.2.2 Überzeugen Sie das Management (Top-down) -- 9.2.3 Holen Sie einen externen Champion -- 9.2.4 Machen Sie Fortschritte sichtbar -- 9.2.5 Streben Sie bestimmte Ziele an , 9.2.6 Machen Sie sich klar, dass es Hürden geben wird -- 9.3 Wege zum Misserfolg -- 9.3.1 Mangelnde Triebkraft -- 9.3.2 Mangelnde politische Unterstützung -- 9.3.3 Schlechte Implementierungen und erste Eindrücke -- 9.3.4 Mangelnde Teamunterstützung -- 9.4 Einflussfaktoren -- 9.5 Schwierige Fragen und Antworten -- 9.5.1 Wie viel zusätzliche Zeit wird der aktuelle Prozess für das Unit Testing benötigen? -- 9.5.2 Ist mein Job bei der QS in Gefahr wegen des Unit Testing? -- 9.5.3 Woher wissen wir, dass Unit Tests wirklich funktionieren? -- 9.5.4 Gibt es denn einen Beweis, dass Unit Testing hilft? -- 9.5.5 Warum findet die QS immer noch Bugs? -- 9.5.6 Wir haben eine Menge Code ohne Tests: Wo fangen wir an? -- 9.5.7 Wir arbeiten mit mehreren Sprachen: Ist Unit Testing da praktikabel? -- 9.5.8 Was ist, wenn wir eine Kombination aus Soft- und Hardware entwickeln? -- 9.5.9 Wie können wir wissen, dass wir keine Bugs in unseren Tests haben? -- 9.5.10 Mein Debugger zeigt mir, dass mein Code funktioniert: Wozu brauche ich Tests? -- 9.5.11 Müssen wir Code im TDD-Stil schreiben? -- 9.6 Zusammenfassung -- Kapitel 10: Der Umgang mit Legacy-Code -- 10.1 Wo soll man mit dem Einbauen der Tests beginnen? -- 10.2 Bestimmen Sie eine Auswahlstrategie -- 10.2.1 Vor- und Nachteile der Strategie »Einfaches zuerst« -- 10.2.2 Vor- und Nachteile der Strategie »Schwieriges zuerst« -- 10.3 Schreiben Sie Integrationstests, bevor Sie mit dem Refactoring beginnen -- 10.4 Wichtige Tools für das Unit Testing von Legacy-Code -- 10.4.1 Abhängigkeiten isolieren Sie leicht mit uneingeschränkten Isolation-Frameworks -- 10.4.2 Verwenden Sie JMockit für Java-Legacy-Code -- 10.4.3 Verwenden Sie Vise beim Refactoring Ihres Java-Codes -- 10.4.4 Verwenden Sie Akzeptanztests, bevor Sie mit dem Refactoring beginnen -- 10.4.5 Lesen Sie das Buch von Michael Feathers zu Legacy-Code , 10.4.6 Verwenden Sie NDepend, um Ihren Produktionscode zu untersuchen
    Additional Edition: Print version: Osherove, Roy The Art of Unit Testing Frechen : mitp,c2015
    Keywords: Electronic books.
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
  • 2
    Online Resource
    Online Resource
    [Frechen] :mitp,
    UID:
    almahu_BV042499839
    Format: 1 Online-Ressource (309 Seiten) : , Illustrationen, Diagramme (teilweise farbig).
    Edition: Deutsche Ausgabe, 2. Auflage
    ISBN: 978-3-82668-721-1
    Uniform Title: The art of unit testing 2013
    Additional Edition: Erscheint auch als Druck-Ausgabe ISBN 978-3-8266-9712-8
    Language: German
    Subjects: Computer Science
    RVK:
    Keywords: Komponententest ; Microsoft dot net ; Softwaretest ; Microsoft dot net
    Author information: Osherove, Roy.
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
  • 3
    Online Resource
    Online Resource
    [Place of publication not identified] :mitp,
    UID:
    edocfu_9961553962002883
    Format: 1 online resource (578 p.)
    Edition: 2nd ed.
    ISBN: 3-8266-8721-3 , 3-8266-8722-1
    Series Statement: mitp Professional
    Content: Unit Testing: Grundlagen Test-Hierarchien und -Organisation Mit Legacy Code arbeiten Das einzige deutsche Buch zu Unit Testing mit .NET Vieles wäre besser, wenn Software fehlerfrei wäre. Leider tendiert sie dazu, Fehler zu beinhalten. Daher wird Software normalerweise während der Entwicklung getestet; jedoch kann dies gerade bei großen Projekten ein mühsames Unterfangen sein. Unit Tests sind Programme, die überprüfen, ob die von den Entwicklern geschriebenen Komponenten so arbeiten, wie diese es beabsichtigen. Dieses Buch führt den Leser Schritt für Schritt von einfachen Tests bis hin zu Tes
    Note: Description based upon print version of record. , Impressum; Vorwort zur zweiten Auflage; Vorwort zur ersten Auflage; Einleitung; Teil I: Erste Schritte; Kapitel 1: Die Grundlagen des Unit Testings; 1.1 Unit Testing - Schritt für Schritt definiert; 1.1.1 Die Bedeutung guter Unit Tests; 1.1.2 Wir alle haben schon Unit Tests geschrieben (irgendwie); 1.2 Eigenschaften eines »guten« Unit Tests; 1.3 Integrationstests; 1.3.1 Nachteile von nicht automatisierten Integrationstests im Vergleich zu automatisierten Unit Tests; 1.4 Was Unit Tests »gut« macht; 1.5 Ein einfaches Unit-Test-Beispiel; 1.6 Testgetriebene Entwicklung , 1.7 Die drei Schlüsselqualifikationen für erfolgreiches TDD1.8 Zusammenfassung; Kapitel 2: Ein erster Unit Test; 2.1 Frameworks für das Unit Testing; 2.1.1 Was Unit-Testing-Frameworks bieten; 2.1.2 Die xUnit-Frameworks; 2.2 Das LogAn-Projekt wird vorgestellt; 2.3 Die ersten Schritte mit NUnit; 2.3.1 Die Installation von NUnit; 2.3.2 Das Laden der Projektmappe; 2.3.3 Die Verwendung der NUnit-Attribute in Ihrem Code; 2.4 Sie schreiben Ihren ersten Test; 2.4.1 Die Klasse Assert; 2.4.2 Sie führen Ihren ersten Test mit NUnit aus; 2.4.3 Sie fügen positive Tests hinzu , 2.4.4 Von Rot nach Grün: das erfolgreiche Ausführen der Tests2.4.5 Test-Code-Gestaltung; 2.5 Refactoring zu parametrisierten Tests; 2.6 Weitere NUnit-Attribute; 2.6.1 Aufbau und Abbau; 2.6.2 Auf erwartete Ausnahmen prüfen; 2.6.3 Das Ignorieren von Tests; 2.6.4 Die fließende Syntax von NUnit; 2.6.5 Das Festlegen der Testkategorien; 2.7 Das Testen auf Zustandsänderungen des Systems statt auf Rückgabewerte; 2.8 Zusammenfassung; Teil II: Zentrale Methoden; Kapitel 3: Die Verwendung von Stubs, um Abhängigkeiten aufzulösen; 3.1 Die Stubs werden vorgestellt , 3.2 Die Identifizierung einer Dateisystemabhängigkeit in LogAn3.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 können; 3.4.2 Dependency Injection: Injiziere eine Fake-Implementierung in die zu testende Unit; 3.4.3 Injiziere einen Fake auf Konstruktor-Ebene (Construktor Injection); 3.4.4 Simuliere Ausnahmen über Fakes; 3.4.5 Injiziere ein Fake als Property Get oder Set , 3.4.6 Injiziere einen Fake unmittelbar vor einem Methodenaufruf3.5 Variationen der Refactoring-Technik; 3.5.1 Die Verwendung von Extract and Override, um Fake-Resultate zu erzeugen; 3.6 Die Überwindung des Kapselungsproblems; 3.6.1 Die Verwendung von internal und [InternalsVisibleTo]; 3.6.2 Die Verwendung des Attributs [Conditional]; 3.6.3 Die Verwendung von #if und #endif zur bedingten Kompilierung; 3.7 Zusammenfassung; Kapitel 4: Interaction Testing mit Mock-Objekten; 4.1 Wertbasiertes Testen versus zustandsbasiertes Testen versus Testen versus Interaction Testing , 4.2 Der Unterschied zwischen Mocks und Stubs
    Language: German
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
  • 4
    Online Resource
    Online Resource
    Frechen :mitp-Verlag,
    UID:
    edoccha_9960781302702883
    Format: Online-Ressource (288 Seiten).
    Edition: 2., überarbeitete Auflage 2015
    ISBN: 9783826687211
    Series Statement: mitp Professional
    Additional Edition: ISBN 9783826697128
    Language: German
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
Did you mean 9783826687235?
Did you mean 9783826697210?
Did you mean 9783826087219?
Close ⊗
This website uses cookies and the analysis tool Matomo. Further information can be found on the KOBV privacy pages