Fast Track Test-Driven Development: Testify Your Project
Published November 9th, 2009 Under Agile, Open Source Tools, Software Testing | Leave a Comment
This video presents the technical challenges that teams discover when adopting TDD difficult and a set of principles for successful TDD. it contains a demonstration of the Testify tool and how to use it to introduce TDD on your own project.
http://skillsmatter.com/podcast/agile-scrum/fast-track-test-driven-development-testify-your-project
TDD in a Desgin by Contract World
Published November 2nd, 2009 Under General | Leave a Comment
After presenting some basics of Design by Contract using Microsoft’s SpecSharp framework, Greg Young explains how we can keep the Test First mentality in a Contract First world.
http://www.infoq.com/presentations/TDD-in-a-DbC-World-Greg-Young
Advanced ASP.NET MVC
Published August 24th, 2009 Under Agile, Coding, Software Testing | Leave a Comment
Learn how to extend the ASP.NET MVC framework with dependency injection, view engines, action filters, and more. We’ll see how to apply Test Driven Development and write unit tests with mock objects.
Eliminating Static Dependencies
Published August 21st, 2009 Under Agile, Software Testing | Leave a Comment
Nature abhors a vacuum. It turns out she also abhors static dependencies (I have my sources). Static dependencies are the modern-day globals, often exposed through classes named “Helper”. I’ve certainly been guilty of overusing static dependencies in the past, with classes like “LoggingHelper”, “SessionHelper”, “DBHelper” and so on. The problem with static dependencies is that they are opaque to the extreme, enforcing a strong coupling that is impossible to see from users of the class. To demonstrate techniques for eliminating static dependencies, Ray Houston and Jimmy Bogard created a short screencast. The screencast demonstrates using TDD along with ideas and techniques laid out in Michael Feathers’ Working Effectively with Legacy Code and Joshua Kerievsky’s Refactoring to Patterns. It details how to make safe, responsible changes to an existing legacy codebase, while improving the design by breaking out dependencies to a static class.
Watch this screencast on Pablo TV
The Joys and Pains of a Long Lived Codebase
Published June 12th, 2009 Under Agile, Coding, Software Testing | Leave a Comment
Agile development practices and good Object Oriented Design principles are supposed to enable unending, gentle modification of an existing codebase. Is this really true, though? In the course of 5+ years developing and evolving an open source framework, I’ve learned a lot of painful lessons about the issues that retard code extensions and modifications. I’ve also learned a little bit about the design decisions that dramatically increased my ability to extend the code. In this talk I’ll show several instances of how failing to heed design fundamentals introduced code viscosity, and how some strategic refactorings opened up the flood gates for new functionality.
Undoubtedly, the practice of Test Driven Development directly supports your ability to modify a system, but I found out the hard way that there are also plenty of ways to do it wrong. I’ll share examples of high friction TDD and the changes in strategy I employed to reduce that friction to wring more value out of TDD. The programming languages we use for .Net development have changed dramatically in 5 years. We can apply the new language features in C# 3.0 to improve the readability and structure of both our code and the way that we express unit test specifications. Lastly, I’ll discuss our changing expectations on framework usability and the resulting impact on design.
http://www.infoq.com/presentations/Lessons-Learned-Jeremy-Miller
keep looking »