

Test Driven Development: By Example [Beck, Kent] on desertcart.com. *FREE* shipping on qualifying offers. Test Driven Development: By Example Review: Allows you to judge TDD for yourself - Let me say first off that I agree with much that Kent Beck has to say: 1. Testing should be done along with the coding. 2. Use regression tests to be confident of making changes. 3. In many ways testing can be used as documentation since it is much more definitive than specification documents. 4. Testing should be used to have the client sign off on a product. In reading the book I learned the specifics of how tests are designed in TDD. It seems reasonable and I am going to make a conscious effort at designing my tests in the way suggested. Where I disagree is in the use of the tests to drive software design. In the first part of the book, which I think is the most important part, a very good coding problem is analyzed - it is realistic, limited in scope and far from trivial. I followed along until I reached a point where things stopped making sense. I skipped ahead to see where things were headed and then things became clear. What is being advocated is a type of bottom up design approach. This may work for some. It may even be that the book faithfully reproduced Beck's reasoning process. It does not work for me. I first have to see the larger picture, what he refers to as the "metaphor." The whole thing would have been much clearer to me if at the beginning I was told that one approach to summing money in different currencies would be to use an array to store the information but that instead the implementation would create a list similar to how things are done in LISP. I urge the reader to judge for him/herself. Like I said this is a good example to go through. I even learned some things about more advanced uses of object oriented programming. As for software design I am going to stick with dataflow diagrams. They are still the best tool that I know of for putting together software, UML notwithstanding. Review: A must have for developers - This book is a must have if you really want to dig into the practice of TDD. Kent Beck describes how you should begin, how to step through tests and production code and comes with handy examples. The book begins with a full example of how to create and evolve software completely test driven. You'll learn how to write the tests, how to fill leaps if you don't have any clue how to write the next test on the list with intermediate tests and you see, how easy design decisions can be applied or reverted if necessary. At the end of the book there is also a discussion about what TDD is all about, how you can apply it to your own skills/practices and what you have to look for when applying it onto new but also existing applications. I liked reading it very much.




| Best Sellers Rank | #210,282 in Books ( See Top 100 in Books ) #23 in Software Testing #91 in Software Development (Books) #499 in Computer Software (Books) |
| Customer Reviews | 4.5 out of 5 stars 520 Reviews |
M**N
Allows you to judge TDD for yourself
Let me say first off that I agree with much that Kent Beck has to say: 1. Testing should be done along with the coding. 2. Use regression tests to be confident of making changes. 3. In many ways testing can be used as documentation since it is much more definitive than specification documents. 4. Testing should be used to have the client sign off on a product. In reading the book I learned the specifics of how tests are designed in TDD. It seems reasonable and I am going to make a conscious effort at designing my tests in the way suggested. Where I disagree is in the use of the tests to drive software design. In the first part of the book, which I think is the most important part, a very good coding problem is analyzed - it is realistic, limited in scope and far from trivial. I followed along until I reached a point where things stopped making sense. I skipped ahead to see where things were headed and then things became clear. What is being advocated is a type of bottom up design approach. This may work for some. It may even be that the book faithfully reproduced Beck's reasoning process. It does not work for me. I first have to see the larger picture, what he refers to as the "metaphor." The whole thing would have been much clearer to me if at the beginning I was told that one approach to summing money in different currencies would be to use an array to store the information but that instead the implementation would create a list similar to how things are done in LISP. I urge the reader to judge for him/herself. Like I said this is a good example to go through. I even learned some things about more advanced uses of object oriented programming. As for software design I am going to stick with dataflow diagrams. They are still the best tool that I know of for putting together software, UML notwithstanding.
M**R
A must have for developers
This book is a must have if you really want to dig into the practice of TDD. Kent Beck describes how you should begin, how to step through tests and production code and comes with handy examples. The book begins with a full example of how to create and evolve software completely test driven. You'll learn how to write the tests, how to fill leaps if you don't have any clue how to write the next test on the list with intermediate tests and you see, how easy design decisions can be applied or reverted if necessary. At the end of the book there is also a discussion about what TDD is all about, how you can apply it to your own skills/practices and what you have to look for when applying it onto new but also existing applications. I liked reading it very much.
G**E
Well Presented
A great exposition on the idea of developing code based on continuous testing. As long as each test passed during the development, did the code will have a high assurance of being correct. Author did a great job of presenting material.
M**N
Valuable testing patterns and gainful techniques
While the first two parts of the book: "The Money Example" and "The xUnit Example" may seem discontenting for an experienced XP'er, the third part: "Patterns for Test-Driven Development" is amazingly impressive. It brings lot of valuable patterns: Test-Driven Development Patterns, Red Bar Patterns, Testing Patterns, Green Bar Patterns, xUnit Patterns and Design Patterns. Despite the book "Design Patterns" seems to be provisioning, design in test-driven-development requires a slightly different look at design patterns, and Kent Beck has done his best in providing not only the common vocabulary, but a gainful technique not known to be described anywhere else before. Before the publication of this book, there was a lack of a good manual for xUnit testing framework. The title "Testing Extreme Programming" by Lisa Crispin and Tip House, released a couple of month before this book, didn't fill the gap. This book is the first significant guidebook for xUnit ever released. While the work "Extreme Programming Installed" exposes most valuable testing experience among other XP titles, it didn't focus on xUnit as well. I would recommend "Design Pattern" and "Refactoring" in addition to this book, assuming that you are aware of the XP manifesto: "Extreme Programming Explained".
C**Y
helpful for cross-platform coding too
It's about time that someone wrote this book. Some programmers have been doing test-driven-development since the earliest days of our profession, and the rest of us have been wondering why it is so hard to development software the "traditional" (non-TDD) way. Test-driven development (or as I prefer to call it, test-driven-design) helps you figure out the most useful interface to your class-under-test, without getting you into the psychological trap of not "really" wanting to test (and thus prove faulty) your "wonderful" code, because your code doesn't exist yet. The tests help you think about the implementation in small, mostly painless, steps. TDD also helps you write portable code. By getting portions of the logical parts of your application done first (the "model" of "model-view-controller"), you easily keep the logic code OUT of the GUI code. Typically, programming without test-driven-design makes it too easy to put all your logic into your GUI class. Almost all books on how to use MFC and other GUI class frameworks mix the logic code with view code -- you should read this book so you can be a better programmer.
E**C
A great book for anyone looking to get started with TDD as well as TDD veterans.
Kent Beck is one of my favorite authors. Learning and becoming proficient at TDD requires a shift in how software development is approached. Lots of people who have been doing TDD for quite a while make it seem like a trivial task to utilize, but for beginners who wonder how in the heck you start with a test it's not so easy. This book goes a long way to providing real world examples as well as demonstrates how to utilize TDD and will help anyone looking to wrap their brain around the TDD approach of software development.
S**S
A little outdated, but still a useful book for the uninitiated
This book is a bit of a classic. These days I think we have worked past test driven development into other more interesting ideas such as domain driven design and algebra driven design. Separating out the semantic layer (domain model, mathematics) from the implementation layer (code) seems to be a more efficient way to drive us toward a good way to understand both the meaning of our the requirements for code and its implementation as satisfying the designed solution in terms of semantics. This is obviously a fairly early idea still, and so meantime this book can provide us with a foundational step in the process for the unfamiliar and uninitiated in software design, so it still holds value, but hopefully it will be redundant in the not too distant future as domain driven design, algebraic design and more mathematical modelled programming languages emerge as more important and more popular. I have no idea if this will happen, but I hope it does.
S**N
It presents a pretty simple and seemingly silly process of writing the tests ...
Mr Beck is my hero. This book is short and focused. It presents a pretty simple and seemingly silly process of writing the tests before the code that implements it. The way he does it is where the magic is. Its simple, humorous, and surprisingly humble. He presents a few simple but non trivial coding problems and the TDD process which leads to the solution. His humility is so strong its hard to believe he's the master craftsman that he is. I think any serious software developer that hasn't read this book and spent time with this approach is missing out. I considered myself a great developer before I read this book and it changed everything for me. Maybe I wasn't a great developer or maybe I got even better, hard to say. I recommend it 100%
TrustPilot
2 周前
1 个月前