Behavior-Driven Development in the Real World
Published August 27th, 2010 Under Software Testing | Leave a Comment
Behavior-Driven Development is more than a technique for creating and organizing unit tests. It is also a wonderful way to communicate with customers and users about the software being created. This video demonstrates some techniques and tools you can use to start delivering software with BDD. : Using Behavior-Driven Development frameworks, this session explores ways to create software starting with solid Agile requirements, moving all the way through automated testing. We use .NET in C# and Visual Studio ALM, although none of these exact tools are required to accomplish the goals we set forth.
Download video in other formats and slides
Learning how to use the Extract Interface Technique
Published February 22nd, 2010 Under Coding | Leave a Comment
In this episode we are going to take a look at another refactoring technique, the Extract Interface technique. This technique allows you to extract an interface from a class in order to break your concrete dependencies. By doing this you can provide yourself with better testing support as well as a better layer of abstractions.
http://www.dimecasts.net/Content/WatchEpisode/163
How Do I Refactor my Code in Visual Studio?
Published January 14th, 2010 Under Coding | Leave a Comment
These two videos show how to use the refactoring tools in Visual Studio.
TDD in a Desgin by Contract World
Published November 2nd, 2009 Under Agile, TDD | 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
Test Driving GUI with Approval Tests
Published October 30th, 2009 Under Software Testing | Leave a Comment
This video shows why you want to write unit tests for the perspectives of specifications, feedback, regression & granularity. Then write a GUI in C# using Windows Forms & Approval Tests. ApprovalTests is an open source tool that supports C#, Java, Ruby for unit or acceptance tests.
The Synergy of Code Contracts and Pex
Published August 26th, 2009 Under Coding, Software Testing | Leave a Comment
Manuel Fähndrich and Peli de Halleux sit down for a quick coding session that shows how to use Code Contracts and Pex together. Code Contracts can be used to specify what your code should do, they get turned into runtime checks which Pex can analyze and try to find counter-examples for. This was a fun session with Manuel and really shows the synergy of the two tools/approaches.
The Joys and Pains of a Long Lived Codebase
Published June 12th, 2009 Under Coding, Software Testing, TDD | 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
NGourd Presentation
Published June 11th, 2009 Under Coding | Leave a Comment
NGourd, a BDD framework for C#, is presented by Michael Minutillo (@wolfbyte) at the Australian Virtual Alt.Net meeting, May 11 2009. NGourd is designed heavily influenced by the Cucumber tool from the ruby world. The intention is to create a clean separation between the intent of a specification versus it’s execution. This allows developers to concentrate on the technical details while non-programmers can verify and even author specifications.
RSS
Twitter