Growing Object Oriented Software Guided by Tests

Author: Steve Freeman
Publisher: Pearson Education
ISBN: 9780321699763
Format: PDF
Download Now
Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this "simple" idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and “grow” software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you’ll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD—from integrating TDD into your processes to testing your most difficult features. Coverage includes Implementing TDD effectively: getting started, and maintaining your momentum throughout the project Creating cleaner, more expressive, more sustainable code Using tests to stay relentlessly focused on sustaining quality Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project Using Mock Objects to guide object-oriented designs Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency

Langlebige Software Architekturen

Author: Carola Lilienthal
Publisher: dpunkt.verlag
ISBN: 3960882459
Format: PDF, ePub, Docs
Download Now
Zu Beginn eines Projekts erarbeiten die Architekten und das Entwicklungsteam eine zugeschnittene Architekturblaupause für die anstehende Entwicklung. Aber während der Implementierung weicht das Team häufig ungewollt von dieser Vorgabe ab. Die Folge davon: Die Architektur des Systems erodiert, die Komplexität nimmt zu, und es werden technische Schulden aufgebaut. Wartung und Erweiterung der Software werden immer aufwendiger. In diesem Buch zeigt die Autorin, welche Fehler in Softwareprojekten bei der Umsetzung der Architektur vermieden werden sollten und welche Prinzipien eingehalten werden müssen, um langlebige Architekturen zu entwerfen oder bei bestehenden Systemen zu langlebigen Architekturen zu gelangen. Sie geht auf Muster in Softwarearchitekturen und Mustersprachen ein, erläutert verschiedene Architekturstile und zeigt, welche Vorgaben letztlich zu Architekturen führen, die für Entwickler noch gut durchschaubar sind. Mit über 200 farbigen Bildern aus real existierenden Softwaresystemen und etlichen Fallbeispielen werden schlechte und gute Lösungen verständlich und nachvollziehbar dargestellt. Empfehlungen und vielfältige Hinweise aus Praxisprojekten erlauben dem Leser einen direkten Transfer zu seiner täglichen Arbeit. Die 2. Auflage misst Microservices und Domain-Driven Design mehr Gewicht bei. Hinzugekommen sind die Themen Vergleichbarkeit von verschiedenen Systemen durch den Modularity Maturity Index sowie Mob Architecting. "Ihre langjährigen Erfahrungen auf dem Gebiet der Architekturanalyse von Systemen unterschiedlicher Technologien sind einzigartig. Dadurch stellt sie [Carola Lilienthal] in jedem Winkel dieses Buches den nötigen Praxisbezug her." Aus dem Geleitwort von Gernot Starke

The Art of Unit Testing

Author: Roy Osherove
Publisher: MITP-Verlags GmbH & Co. KG
ISBN: 3826687221
Format: PDF, Docs
Download Now
Lesbare, wartbare und zuverlässige Tests entwickelnStubs, Mock-Objekte und automatisierte FrameworksEinsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator Unit Testing, richtig durchgeführt, kann den Unterschied ausmachen zwischen einem fehlgeschlagenen Projekt und einem erfolgreichen, zwischen einer wartbaren Code-Basis und einer, die niemand freiwillig anpackt, zwischen dem Nach-Hause-Kommen um 2 Uhr nachts oder zum Abendessen, selbst noch kurz vor dem Release-Termin. Roy Osherove führt Sie Schritt für Schritt von einfachen Tests zu Tests, die wartbar, lesbar und zuverlässig sind. Er geht danach auf die Grundlagen des Interaction Testings ein und stellt schließlich bewährte Vorgehensweisen für das Schreiben, das Verwalten und das Warten der Unit Tests in echten Projekten vor. Darüber hinaus werden auch fortgeschrittene Themen behandelt wie Mocks, Stubs und Frameworks wie etwa Typemock Isolator und Rhino Mocks. Sie werden eine Menge zu fortgeschrittenen Testmustern und zur Testorganisation, zum Arbeiten mit Legacy Code und auch zu untestbarem Code erfahren. Und Sie lernen Werkzeuge kennen, die Sie beim Testen von Datenbanken und anderen Technologien brauchen werden. Alle Beispiele sind mit Visual Studio in C# geschrieben, so dass die Beispiele insbesondere für .NET-Entwickler nützlich sind. Aber auch für Programmierer anderer Sprachen wird das Buch von großem Nutzen sein, da die Prinzipien des Unit Testings für andere Sprachen dieselben sind. Roys Blog finden Sie auf ISerializable.com. Aus dem Inhalt: Verwenden eines Test-Frameworks (NUnit)Grundlegende TestattributeStubs zum Auflösen von AbhängigkeitenInteraction Testing mit Mock-ObjektenTesthierarchie und OrganisationDie Säulen guter TestsIntegration von Unit Testing in das UnternehmenUmgang mit Legacy Code

Testgetriebene Entwicklung mit JUnit FIT

Author: Frank Westphal
Publisher: dpunkt.verlag
ISBN: 3898649962
Format: PDF, Kindle
Download Now
Bei der Weiterentwicklung einer Software können durch das Hinzufügen neuer Fähigkeiten unbeabsichtigte Änderungen an vorhandener Funktionalität entstehen. In der testgetriebenen Entwicklung wird jede Änderung an der Funktionalität eines Programms zuvor durch einen neuen Test motiviert. Dieses Buch führt mit praktischen Beispielen in die testgetriebene Entwicklung mit dem frei verfügbaren Regressionstest-Framework JUnit ein und erklärt das Vorgehen bei Akzeptanztests mit FIT.