Test-Driven Development in Microsoft® .NET and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
More Buying Choices
Have one to sell? Sell yours here
Start reading Test-Driven Development in Microsoft® .NET on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Test-Driven Development in Microsoft .NET (Microsoft Professional) [Paperback]

James W. Newkirk , Alexei A. Vorontsov
3.9 out of 5 stars  See all reviews (16 customer reviews)

List Price: $39.99
Price: $26.65 & FREE Shipping. Details
You Save: $13.34 (33%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 3 left in stock (more on the way).
Ships from and sold by Amazon.com. Gift-wrap available.
Want it Wednesday, May 29? Choose One-Day Shipping at checkout. Details

Formats

Amazon Price New from Used from
Kindle Edition $17.59  
Paperback $26.65  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

April 14, 2004 Microsoft Professional

With the clarity and precision intrinsic to the Test-Driven Development (TDD) process itself, experts James Newkirk and Alexei Vorontsov demonstrate how to implement TDD principles and practices to drive lean, efficient coding—and better design. The best way to understand TDD is to see it in action, and Newkirk and Vorontsov walk step by step through TDD and refactoring in an n-tier, .NET-connected solution. And, as members of the development team for NUnit, a leading unit-testing framework for Microsoft .NET, the authors can offer matchless insights on testing in this environment—ultimately making their expertise your own.

Test first—and drive ambiguity out of the development process:

  • Document your code with tests, rather than paper
  • Use test lists to generate explicit requirements and completion criteria
  • Refactor—and improve the design of existing code
  • Alternate programmer tests with customer tests
  • Change how you build UI code—a thin layer on top of rigorously tested code
  • Use tests to make small, incremental changes—and minimize the debugging process
  • Deliver software that’s verifiable, reliable, and robust

Frequently Bought Together

Test-Driven Development in Microsoft  .NET (Microsoft Professional) + The Art of Unit Testing: With Examples in .Net + Test Driven Development: By Example
Price for all three: $85.02

Buy the selected items together


Editorial Reviews

About the Author

James W. Newkirk, coauthor of Enterprise Solution Patterns in .NET and Extreme Programming in Practice, led the development of NUnit 2.0. He’s currently the development lead for the Microsoft Platform Architecture Guidance team, which provides guidance and reusable assets to enterprise customers through the Patterns & Practices reference series.

Alexei A. Vorontsov has been developing software in a variety of environments—from scientific and mathematical applications to enterprise systems—for more than eight years. He specializes in developing, testing, and managing large distributed software solutions—applying agile development methods for more pragmatic, cost-efficient results.


Product Details

  • Paperback: 304 pages
  • Publisher: Microsoft Press; First Edition edition (April 14, 2004)
  • Language: English
  • ISBN-10: 0735619484
  • ISBN-13: 978-0735619487
  • Product Dimensions: 7.3 x 0.9 x 9.1 inches
  • Shipping Weight: 1.2 pounds (View shipping rates and policies)
  • Average Customer Review: 3.9 out of 5 stars  See all reviews (16 customer reviews)
  • Amazon Best Sellers Rank: #96,297 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

This book is descriptive and explained with simple examples. Ashish Mahajan  |  2 reviewers made a similar statement
This is a great book for experienced developers. Randy Given  |  2 reviewers made a similar statement
Oversimplification may lead to bad code. Mikhail Arkhipov     
Most Helpful Customer Reviews
56 of 64 people found the following review helpful
3.0 out of 5 stars Good, but derivate and incomplete June 12, 2004
Format:Paperback|Amazon Verified Purchase
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!

Comment | 
Was this review helpful to you?
18 of 19 people found the following review helpful
5.0 out of 5 stars You need this book in your Agile Library!!! July 29, 2005
Format:Paperback
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.
Comment | 
Was this review helpful to you?
16 of 17 people found the following review helpful
3.0 out of 5 stars 7/10 July 18, 2004
Format:Paperback
I give this book seven out of ten

What I liked about it:
It is easily to read. The topics are well presented and clearly defined.
The book introduces the concepts behind TDD (Test Driven Development)
Some of the less trivial aspects of TDD are discussed, like testing web services or using transactions.
Refactoring is introduced very well in chapter three.
The concepts of FIT are well explained and demonstrated.

In order to get a ten:
The book needs to decide who the target audience is. The material seemed too hard for a first introduction book and too simple for advanced developers.
As the book is about TDD it should have spent more time examining the benefits of developing software using this approach.
I would have liked to have seen more real world (hard to solve) problems tackled.

Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
2.0 out of 5 stars Expected more in-depth
The book was a decent into to TDD, however given the description I expected it to go more in depth into handling the issues of database access testing, ASP. Read more
Published on December 21, 2009 by Jason Beau Christian
5.0 out of 5 stars Good, simple and descriptive information
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. Read more
Published on October 24, 2008 by Ashish Mahajan
4.0 out of 5 stars Great pump-primer for ASP.NET developers
For .NET developers new to test-driven-development who want a recipe for the process, an invaluable book. Read more
Published on September 1, 2006 by Richard J. Cabral
5.0 out of 5 stars First exposure to test driven development
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. Read more
Published on September 29, 2005 by Scott Brookhart
5.0 out of 5 stars Great Book for Experienced Developers
This is a great book for experienced developers. It covers a wide range of realistic uses in .NET and has plenty of detailed examples. Read more
Published on June 20, 2005 by Randy Given
5.0 out of 5 stars Changes Your View
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... Read more
Published on January 28, 2005 by John Matlock
4.0 out of 5 stars Great intro to TDD and more
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.
Published on July 7, 2004 by "joannie89"
5.0 out of 5 stars Great introduction to TDD on .NET
Obviously, the best way to learn TDD is by doing it, but a short tutorial like this helps immensely. Read more
Published on June 28, 2004 by J. Jacob
2.0 out of 5 stars Too shallow
The book provides only shallow explanation of how TDD is supposed to work. Oversimplification may lead to bad code. Read more
Published on June 11, 2004 by Mikhail Arkhipov
3.0 out of 5 stars Average
I bought this book hoping it would clarify some of the issues I have with TDD, but not so. Granted the book does a decent job explaining what TDD is, but the level of coverage and... Read more
Published on June 6, 2004 by Manny
Search Customer Reviews
Only search this product's reviews




What Other Items Do Customers Buy After Viewing This Item?


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 





Look for Similar Items by Category