Test-Driven Development in Microsoft .NET (Microsoft Professional)
| |||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||
| Sort customer reviews by: | |||||||||||||||||||||||||||||
|
Show All Reviews on Page
Hide All Reviews on Page
| |||||||||||||||||||||||||||||
| Test-Driven Development in Microsoft .NET (Microsoft Professional) | |||||||||||||||||||||||||||||
|
Learn how to apply the concepts and techniques of Test-Driven Development (TDD) to writing software for Microsoft .NET. Two experts in agile software development teach#151;using a wealth of pragmatic examples in C# and other .NET development tools#151;how to use automated tests to drive lean, efficient coding and better design. You'll focus on .NET-specific issues for TDD, including the best time to employ the inherent features of .NET class libraries and how to use NUnit, a leading unit-testing framework for .NET. And you'll see real-world examples of TDD-for .NET projects, including a Microsoft ADO.NET relational database, a user interface created with Microsoft ASP.NET and Microsoft Windows- Forms, Web services, and other useful applications.
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 15 of 15 | |||||||||||||||||||||||||||||
| Review Date |
Review Rating(5 High) |
Review Helpful to: |
Customer Review | Reviewer Info |
Permanent Link |
||||||||||||||||||||||||
| Reader Reviews Below Sorted by Newest First | |||||||||||||||||||||||||||||
| 10-25-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I am new to TDD. This book does a very good job for me to get first time insight into test driven development. I highly recommend this book for first timers in TDD. I bought this book after so much research in book stores and amazon. I am glad I bought this book. This book is descriptive and explained with simple examples. It does a good job for me to prepare myself in TDD.
(Review Data Last Updated: 2009-01-02 07:26:47 EST)
|
|||||||||||||||||||||||||||||
| 09-02-06 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
For .NET developers new to test-driven-development who want a recipe for the process, an invaluable book. This is not a concept book, but rather a concrete example that gets a little loose towards the end. Those who have also adopted Model-View-Controller for their ASP.NET applications will be able to logically extend the first half of the book to test their web interfaces, something that is admittedly difficult using the "stock" ASP.NET design philosophy.
I would supplement this book with Pragmatic Unit Testing with nUnit and C#, which gives you a much higher-level view of how to utilize TDD on a daily basis. (Review Data Last Updated: 2008-10-25 04:25:02 EST)
|
|||||||||||||||||||||||||||||
| 09-30-05 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I attended a workshop on test driven development presented by James Newkirk. I was so intrigued with the concept that I had to go out and get his book to find out more. As a result our project now uses NUnit, TestDriven.net for test driven development and find that this has really boosted confidence in the developers and their code. The concept of test-driven development is a very useful agile method of writing code to the requirements based on tests (Red/Green/Refactor). This has certainly changed my perspective towards development and want to thank James Newkirk for purveying this concept.
(Review Data Last Updated: 2007-07-10 18:50:14 EST)
|
|||||||||||||||||||||||||||||
| 07-30-05 | 5 | 13\13 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Test-Driven Development in Microsoft.NET rises head and shoulders above the other books on the subject. While I know that is a very strong statement to make, the authors have made the focus of the book a very practical one. Don't get me wrong, there are several other great books on this subject, but they all seem to fall down when it comes to real-world situations.
The book is split into two parts; Part I is an overview of Test-Driven Development, and Part II covers using TDD to develop an example application. Chapter 1 frames the entire discussion with an overview of Test-Driven Development concepts, including some straightforward guidelines for design. I thought it was laid out in very logical fashion. Chapter 2 throws you right into the process it's a classic stack example, found in many other TDD books. What I liked most about it though, was that the chapter began with discussing HOW you start figuring out WHAT tests to write as you develop an application. Chapter 3 covers another critical concept of TDD Refactoring. (What's Refactoring? You askread chapter 3 ;) ). Again, the authors walk you through a short yet concise primer using the Sieve of Eratosthenes implemented in C#. They introduce the algorithm and then discuss it in light of code refactoring techniques as implemented originally in Martin Fowler's Refactoring: Improving the Design of Existing Code. Chapter 4 is the introduction of the example application that will be the focus of the remainder of the book. It lays out the scenario, project features and constraints of the fictitious project. Chapter 5 covers an area that I've found generates a ton of interest when developers start thinking about TDD, namely data access. I really appreciated the practical approach that the authors took when writing the implementation chapters for the example application. I found the tests surrounding entities and relationships and the resulting explanations to be very good. Chapter 6 covers how you create tests when implementing Web Services. In the process, the service interface pattern is discussed along with refactoring Web Services. The authors attempt to lead you through a "thought framework" for creating tests through each of the implementation chapters. Chapters 7, 8, and 9 make a shift from programmer testing to customer testing and cover differing aspects of customer or acceptance testing. This group of chapters starts with an overview of acceptance testing and techniques. The middle chapter deals with driving development up through the implemented layers from a user or customer perspective. Chapter 9 rounds out the discussion by focusing on handling faults and how acceptance testing allows you to tighten things up. Chapter 10 leads us back to the programmer testing side by dealing with transactions. Following this, Chapter 11 introduces the reader to Service-level refactoring, leading you through the thought process behind different techniques. The story winds down in Chapter 12 with applying the process of TDD to implementing a web client. All in all, while I'd have like to have seen a both a simpler example and always more "real world" tips and tricks, I can tell you from my own experience that finding that balance is extremely difficult. I believe the authors have made a significant attempt at striking the "real world" / simplicity balance and that the resulting outcome is an excellent resource for learning TDD. When that is combined with the level of effort the authors are putting in to maintaining the code and forums at their GotDotNet workspace, this makes Test-Driven Development in Microsoft .NET an excellent choice for your library. (Review Data Last Updated: 2007-07-10 18:50:14 EST)
|
|||||||||||||||||||||||||||||
| 07-29-05 | 5 | 8\8 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Test-Driven Development in Microsoft.NET rises head and shoulders above the other books on the subject. While I know that is a very strong statement to make, the authors have made the focus of the book a very practical one. Don't get me wrong, there are several other great books on this subject, but they all seem to fall down when it comes to real-world situations.
The book is split into two parts; Part I is an overview of Test-Driven Development, and Part II covers using TDD to develop an example application. Chapter 1 frames the entire discussion with an overview of Test-Driven Development concepts, including some straightforward guidelines for design. I thought it was laid out in very logical fashion. Chapter 2 throws you right into the process it's a classic stack example, found in many other TDD books. What I liked most about it though, was that the chapter began with discussing HOW you start figuring out WHAT tests to write as you develop an application. Chapter 3 covers another critical concept of TDD Refactoring. (What's Refactoring? You askread chapter 3 ;) ). Again, the authors walk you through a short yet concise primer using the Sieve of Eratosthenes implemented in C#. They introduce the algorithm and then discuss it in light of code refactoring techniques as implemented originally in Martin Fowler's Refactoring: Improving the Design of Existing Code. Chapter 4 is the introduction of the example application that will be the focus of the remainder of the book. It lays out the scenario, project features and constraints of the fictitious project. Chapter 5 covers an area that I've found generates a ton of interest when developers start thinking about TDD, namely data access. I really appreciated the practical approach that the authors took when writing the implementation chapters for the example application. I found the tests surrounding entities and relationships and the resulting explanations to be very good. Chapter 6 covers how you create tests when implementing Web Services. In the process, the service interface pattern is discussed along with refactoring Web Services. The authors attempt to lead you through a "thought framework" for creating tests through each of the implementation chapters. Chapters 7, 8, and 9 make a shift from programmer testing to customer testing and cover differing aspects of customer or acceptance testing. This group of chapters starts with an overview of acceptance testing and techniques. The middle chapter deals with driving development up through the implemented layers from a user or customer perspective. Chapter 9 rounds out the discussion by focusing on handling faults and how acceptance testing allows you to tighten things up. Chapter 10 leads us back to the programmer testing side by dealing with transactions. Following this, Chapter 11 introduces the reader to Service-level refactoring, leading you through the thought process behind different techniques. The story winds down in Chapter 12 with applying the process of TDD to implementing a web client. All in all, while I'd have like to have seen a both a simpler example and always more "real world" tips and tricks, I can tell you from my own experience that finding that balance is extremely difficult. I believe the authors have made a significant attempt at striking the "real world" / simplicity balance and that the resulting outcome is an excellent resource for learning TDD. When that is combined with the level of effort the authors are putting in to maintaining the code and forums at their GotDotNet workspace, this makes Test-Driven Development in Microsoft .NET an excellent choice for your library. (Review Data Last Updated: 2006-06-29 13:05:00 EST)
|
|||||||||||||||||||||||||||||
| 06-20-05 | 5 | 6\9 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is a great book for experienced developers. It covers a wide range of realistic uses in .NET and has plenty of detailed examples. It gets you into the mindset of Test-Driven Development (TDD) in good increments. The NUnit discussed is a free download and is very easy to start using with your own software quickly, so you can come up to speed right away and begin using it on your projects. One of the better TDD books that I have read, possibly the best. It will certainly remain on my bookshelf for some time.
(Review Data Last Updated: 2007-07-10 18:50:14 EST)
|
|||||||||||||||||||||||||||||
| 01-29-05 | 5 | 4\4 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Many people think that Test-Driven Development (TDD) is all about testing software. In fact, test-driven development's main goal is not testing software, but aiding the programmer and customer during the development process with unambiguous requirements. The requirements are in the form of tests that the software must pass along the development process.
This procedure helps to insure that problems are found early and corrected while they are still small. This book first discusses TDD from a conceptual point of view then gives a TDD example using a realistic application. (Review Data Last Updated: 2007-07-10 18:50:14 EST)
|
|||||||||||||||||||||||||||||
| 01-28-05 | 5 | 3\3 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Many people think that Test-Driven Development (TDD) is all about testing software. In fact, test-driven development's main goal is not testing software, but aiding the programmer and customer during the development process with unambiguous requirements. The requirements are in the form of tests that the software must pass along the development process.
This procedure helps to insure that problems are found early and corrected while they are still small. This book first discusses TDD from a conceptual point of view then gives a TDD example using a realistic application. (Review Data Last Updated: 2006-06-29 13:05:00 EST)
|
|||||||||||||||||||||||||||||
| 09-29-04 | 3 | 0\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I was really looking forward to this book as a complement to Kent Beck's more generic book on test-driven development. I was hoping it would cover a lot of "real-world" issue like web page development, databases, web services, etc.
To be fair, the book did try to cover these, but didn't do a great job of it. The database access layer was just plain boring to read through and the web page development chapter was thin on content. I was actually surprised how short the book was - about 170 pages actually covering the problems discussed. I also felt the ratio of code to discussion was too high. Lots of code, then 'the tests passed so we move on'... I would love to see a book with better coverage of test-driven web development in .NET and perhaps with discussions of mock objects. I still think this is a decent book, partly because I am not aware of a direct competitor. (Review Data Last Updated: 2006-06-29 13:05:00 EST)
|
|||||||||||||||||||||||||||||
| 07-19-04 | 3 | 14\14 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I give this book seven out of ten
What I liked about it: In order to get a ten: (Review Data Last Updated: 2007-07-10 18:50:14 EST)
|
|||||||||||||||||||||||||||||
| 07-18-04 | 3 | 14\14 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I give this book seven out of ten
What I liked about it: In order to get a ten: (Review Data Last Updated: 2006-06-29 13:05:00 EST)
|
|||||||||||||||||||||||||||||
| 07-07-04 | 4 | 3\7 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This books fits in fine with our recent search of .net enterprise devlopment material and we have out it to good use. Some of the chapters seem out of place.
(Review Data Last Updated: 2006-06-29 13:05:00 EST)
|
|||||||||||||||||||||||||||||
| 06-29-04 | 5 | 12\13 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Obviously, the best way to learn TDD is by doing it, but a short tutorial like this helps immensely. I bought this book to fill in TDD and NUnit gaps after learning the ropes at work from an experienced TDD Java developer. The book covers the basic principals of TDD and provides a thorough NUnit tutorial. Other reviewers nitpicked the web unit testing section and the depth of coverage, but all neglected to mention that the book is mercifully short. What sort of depth do you want on a very complex and subjective topic like TDD in ~250 pages? In my opinion:
1) A good xUnit tutorial This book provides all three. After reading through just a few chapters, I embarked on a TDD-based project at work that now has several hundred tests. The info in the book directly contributed to a solid design for my tests, which has proven to be quite scalable across dozens of classes and an extreme amount of refactoring due to new requirements and bug fixing. I can't ask for more than that from such a short book. In my opinion, it's not the author's responsibility to dictate the best tools to use for every single TDD situation--NUnit coverage is good enough to get any experienced programmer started, and it's really up to you to experience and discover the right tools for the job. TDD is a fairly new concept for .NETers (so new that MS won't have any tools of their own for TDD until Visual Studio 2005 is released), and tools are popping up almost monthly on SourceForge for testing ASP.NET, WinForms, and for integrating NUnit into Visual Studio. Cheers to James and Alexei for putting forth such a great, short introduction to TDD for everyone on .NET. (Review Data Last Updated: 2006-06-29 13:05:00 EST)
|
|||||||||||||||||||||||||||||
| 06-13-04 | 3 | 28\34 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
If you want to really learn about test driven development, go to the original book by Beck. If you really want to learn about refactoring, go to the original book by Fowler.
This book does try to cover virgin territory with testing apps that use databases and web interfaces - but it really falls apart at the Web GUI interface level (not to be confused with the Web services interface level, which the book covers well). The techniques recommended in the book essentially try to simulate a web GUI interface with nUnit versus actually using an existing web GUI interface. With one Web form, maybe this isn't too much duplication, but with a large Web app, this is just silly - plus it never tests the actual Web client, so the test results are obviously incomplete. The authors neglect how easy it is to truly test a Web GUI interface - with java based tools (JWebUnit & HttpUnit) which build on top of xUnit, and which work fine on any web app (including asp.net) dot net programmers will need a little understanding of java syntax to use these tools, but java and c# and so nearly identical syntactically for the subset needed, that this is not much of an issue. I hope native ports of these tools to the dot net world are coming soon, but you can live without them and still test Web GUIs easily enough with a little java knowledge, and the authors are remiss in neglecting this. Plus the blurb on Amazon about the book promised a Windows Form based example - and this is NOT in the book at all! (Review Data Last Updated: 2006-06-29 13:05:00 EST)
|
|||||||||||||||||||||||||||||
| 06-11-04 | 2 | 6\14 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The book provides only shallow explanation of how TDD is supposed to work. Oversimplification may lead to bad code. For example, Red/Green/Refactor principle is only good if your first test is comrehensice enough. Imagine you are writing a parser for a complex language (HTML, C++, whatever). You simply can't write it piece by piece, i.e. write test for parsing a simple construct and then add more code to parse more complex constructs. What you end up with is a bunch of spagetti ifs. Your first test should be large enough to force you to use lex/yacc approach. The grammar does not have to be complete, but the framework has to be there from the beginning. Stack example is way too simple. C'mon, decent developer should be able to implement it correctly on whiteboard in 30 minutes. NUnit software is mentioned too many times, the book begins to look like a commercial.
(Review Data Last Updated: 2006-06-29 13:05:00 EST)
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 15 of 15 | |||||||||||||||||||||||||||||
| All Books | Arts | Biography | Click Here For An A-Z Index Of All 213 Best-Seller Subjects | Business | Children's | Comics | ||||||
| Computers | Cooking | Engineering | Entertainment | Health | History | Home | Horror | Humor | Law | Fiction | Medicine | Mystery |
| Nonfiction | Outdoors | Parenting | Professional | Reference | Religion | Romance | Science | Sci-Fi | Sports | Teens | Travel | |