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

Have one to sell? Sell yours here
or
Get a £0.25 Amazon.co.uk Gift Card
Test Driven Development in .NET (Microsoft Professional)
 
 
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.

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

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

Available from these sellers.


Formats

Amazon Price New from Used from
Kindle Edition £16.67  
Paperback --  
Trade In this Item for up to £0.25
Get an extra £5 when you trade in books worth £10 or more until June 30, 2012. Trade in Test Driven Development in .NET (Microsoft Professional) for an Amazon.co.uk gift card of up to £0.25, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Find more products eligible for trade-in.


Product details

  • Paperback: 270 pages
  • Publisher: MICROSOFT PRESS; 1 edition (1 Mar 2004)
  • Language English
  • ISBN-10: 0735619484
  • ISBN-13: 978-0735619487
  • Product Dimensions: 23 x 18.7 x 2.2 cm
  • Average Customer Review: 3.0 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: 372,193 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

James Newkirk
Discover books, learn about writers, and more.

Visit Amazon's James Newkirk Page

Product Description

Product Description

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

Inside This Book (Learn More)
First Sentence
In this chapter, we define test-driven development (TDD) and then describe a process for applying it when developing software. Read the first page
Explore More
Concordance
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product)
 
(4)

Your tags: Add your first tag
 


Customer Reviews

4 star
0
3 star
0
2 star
0
Most Helpful Customer Reviews
11 of 12 people found the following review helpful
Format:Paperback
This book gives only a very basic introduction to the concepts of unit testing and test-driven development (TDD).

Much of the volume of the book is taken up with examples and "test cases" which are listed explicitly and in full detail. A better approach may have been: to explain the concepts of "test cases"; cover only one or two "test cases" in detail; leave the fully worked example as a code listing (where the user can read the tests and understand what each is meant to achieve).

Where it most noticably falls down is in dealing with difficult test scenarios (such as code dependant on Singletons), and how to write code in order for it to be testable. A section on maintaining legacy code would also be a welcome addition, which is sadly amiss. Concepts of abstraction layers, mocking and extension classes (all vital in effective unit testing) are not mentioned at all.

On a personal note, as a purist I would also question the use of some of the unit tests, as they seem rather to be functional tests. Dependence on config settings, pre-configured databases and XML files break away from the concepts of unit testing.

I would not recommend this book, except possibly to developers new to the field of unit testing and TDD, and even then I would be hesitant.
Comment | 
Was this review helpful to you?
Format:Kindle Edition
I found this a very useful introduction to the subject with straightforward examples that were easy to follow. At the time of reading I was just starting out with TDD and this was just what I needed. Apart from unit and integration testing the book also covers related practices such as refactoring and Customer tests.

I would also recommend Roy Osherove's "The Art of Unit Testing", his web site with video examples, and "Working Effectively with Legacy Code" by Michael Feathers.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com:  16 reviews
55 of 63 people found the following review helpful
Good, but derivate and incomplete 13 Jun 2004
By David Laub - Published on Amazon.com
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!

16 of 17 people found the following review helpful
You need this book in your Agile Library!!! 29 July 2005
By John Alexander - Published on Amazon.com
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.
16 of 17 people found the following review helpful
7/10 18 July 2004
By Dr. Neil - Published on Amazon.com
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.

Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Look for similar items by category


Look for similar items by subject


Feedback