Growing Object-Oriented Software, Guided by Tests
Software teams often don't fail delivering the first version of a software. They fail...more
I did not realize how much I still have to learn about writing good object-oriented (OO) code, and about hewing to a tight test driven development (TDD) methodology, before I read Growing Object-Oriented Software, Guided By Tests. My education in OO and unit testing has been largely theoretical, with no time spent directly learning from experienced OO programmers; my best mentor was a COBOL coder. Books like Design Patterns: Elements of Reusable Object-Oriented Software, Patterns of Enterprise A...more
I really liked the emphasis on making the software responsive to change along with separating acceptance and unit tests. The book uses Junit 4.6 and ther...more
I finished Growing Object-Oriented Software Guided by Tests (GOOS) this afternoon. It’ a book that I sincerely hope I would have had the patience to read years ago. It answers one deceivingly simple question in software development that has bothered me for a long time: How to practice TDD (Test Driven Development)?
When I first heard about the Golden Rule of TDD – “Never write new functionality without a failing test”, I was quite skeptical about it. But after several years building so...more
Well worth the read, whether you're new to TDD or if you're a seasoned practitioner. Part I and II lay out how TDD works and the authors' philosophy with regard to writing software. Many other books describe TDD and the authors are candid when it comes to their personal practices. YMMV. Part III is a very comprehensive case study where they use the practices in anger, that is, trying to ac...more
Ke knize bych měl jen...more
Some time later, I started working with mocks as a way to isolate unit tests from "slow" dependencies, such as databases, trying to make them run more quickly. I didn't have much success, though, because I was still writing my tests in a classicist style.
This book helped open my eyes to how the "mockist" style really...more
I might try to pick this up again if I want to dig deeper into architecting a large scale systems.
Read it if you're new to TDD, if not got get yourself a copy of "xUnit Test Patterns: Refactoring Test Code" book.
Part IV is also really good, with examples of test smells and patterns of good and bad test code.
You can see that some ideas from the book have evolved to features of the current unit test frameworks.
Examples are clear and concise. Worth a read.
Additionally, the use of Java, jUnit, and jMock made the contents not highly relevant to my current line of work writing Objective-C. It is useful to have some insight into the Java world and how testing has influenced it, but Objective...more
- Focus on the communication between objects.
- Ports and adapters architecture to separate the domain.
- Proper division between unit, integration and acceptance tests.
- Use test builders for complex test setup.
- Transactional tests are a hack bec...more
If you stuck in a middle - just skip several pages. The end of the boo...more
Goodreads is hiring!
Learn more »