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

Buy Used
Used - Very Good See details
$5.88 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Kindle Edition
 
   
Have one to sell? Sell yours here
Test-Driven Development in Microsoft  .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 Microsoft .NET (Microsoft Professional) [Paperback]

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


Available from these sellers.


Formats

Amazon Price New from Used from
Kindle Edition $17.59  
Paperback --  

Book Description

Microsoft Professional April 14, 2004

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


Editorial Reviews

About the Author

James W. Newkirk has been a software practitioner for more than 18 years. He has been involved with the agile processes community since its inception. He has contributed to many books, written many articles, and is a frequent speaker at XP/Agile Universe and OOPSLA. He has been a frequent contributor to the development of NUnit, a unit testing tool for the .NET environment, and is now the administrator of this open source project.

Alexei A. Vorontsov has been a software developer for more than eight years. He has developed software in a variety of environments, from scientific mathematical applications to enterprise systems. His interests include development, testing, and management of large distributed software solutions and pragmatic application of agile methods to meet the goals of enterprise system development in a cost-efficient manner.


Product Details

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

More About the Author

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

 

Customer Reviews

16 Reviews
5 star:
 (8)
4 star:
 (2)
3 star:
 (3)
2 star:
 (2)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
3.9 out of 5 stars (16 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

55 of 63 people found the following review helpful:
3.0 out of 5 stars Good, but derivate and incomplete, June 12, 2004
By 
Amazon Verified Purchase(What's this?)
This review is from: Test-Driven Development in Microsoft .NET (Microsoft Professional) (Paperback)
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!

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


16 of 17 people found the following review helpful:
5.0 out of 5 stars You need this book in your Agile Library!!!, July 29, 2005
By 
This review is from: Test-Driven Development in Microsoft .NET (Microsoft Professional) (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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


16 of 17 people found the following review helpful:
3.0 out of 5 stars 7/10, July 18, 2004
This review is from: Test-Driven Development in Microsoft .NET (Microsoft Professional) (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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



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
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
automatic transaction management, int rating, push null, programmer tests, test runner, guard clause, customer tests, recording database, return recording, data access layer, ignore attribute, topmost element, string content, code duplication, private static, code compiles, test list, schema file, test assembly, object sender, existing review, string nothing, existing recording, test code, test fixtures
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Bruce Springsteen, After Push, The Rising, Driving Development, Fake Artist Name, Repeater Web, Visual Studio, Martin Fowler, Modified Name, Deleted Artist, Fake Review Content, Test Reviewer
New!
Books on Related Topics | Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:





Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(8)

Your tags: Add your first tag
 

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
   





Look for Similar Items by Category


Look for Similar Items by Subject