John Callaway, Clayton Hunt
$840Software in 30 Days: How Agile Managers Beat the Odds, Delight Their Customers, And Leave Competitors In the Dust (Paperback)
$1,931A Scrum Book: The Spirit of the Game
Develop applications for the real world with a thorough software testing approach
- Adapt to the mindset of writing tests before code by incorporating business goals, code manageability, and other factors
- Make all your software units and modules pass tests by analyzing failed tests and refactoring code as and when required
Test-Driven Development (TDD) is a methodology that helps you to write as little as code as possible to satisfy software requirements, and ensures that what you've written does what it's supposed to do. If you're looking for a practical resource on Test-Driven Development this is the book for you. You've found a practical end-to-end guide that will help you implement Test-Driven Techniques for your software development projects.
By the end of the book, you'll have all the TDD skills you'll need and you'll be able to re-enter the world as a TDD expert!
What you will learn
- The core concepts of TDD
- Writing proper Unit Tests and testable code for your application
- Using different types of test double such as stubs, spies, and mocks
- Growing an application guided by tests
- Exploring new developments on a green-field application
- Mitigating the problems associated with writing tests for legacy applications
- Modifying a legacy application to make it testable
Who This Book Is For
This book is for software developers with a basic knowledge of Test Driven Development (TDD) who want a thorough understanding of how TDD can benefit them and the applications they produce. The examples in this book are in C#, and you will need a basic understanding of C# to work through these examples.
Table of Contents
- Why TDD is important
- Setting up the Test Environment
- What Else Should I Know Before Getting Started?
- Tabula Rasa - Approaching an Application with TDD in Mind
- Approaching the Problem
- Test Driving C# Applications
- Abstract Away Problems
- Exploring Integrations
- Change in Requirements?
- The Legacy Problem
- Unraveling a Mess
- A Better Foot Forward