Category Archives: Testing

Web Development Stack In OSX

It has been almost a month since I ventured out into contracting and took up OSX on a Macbook Pro as my primary operating system. In that time, I’ve been very fortunate to have Joey Beninghove guide me through the … Continue reading 

Also posted in Domain-Driven Design, Refactoring | 9 Comments

The case against Interfaces in TDD

Mark Ploeh has an interesting post about interfaces in TDD – that interfaces aren’t necessarily abstractions.  That’s certainly true.   Interfaces don’t guarantee we’re actually following SOLID design principles.  In fact, the whole idea of the typical repository pattern in a … Continue reading 

| 20 Comments

Cost vs. Risk In Testing

There was a bit of interesting discussion on twitter this morning, concerning the cost of test-first vs. risk. Here’s the visual version of what I’m saying: The premise behind the value of test-first is that we will wash out (or … Continue reading 

Also posted in Refactoring | 5 Comments

Five rules for writing effective UI tests

For about 3 years, I wrote absolutely horrible UI tests.  These tests worked great for a while, but like most people that tried their hands at UI tests, found them to be utterly brittle and unmaintainable in the face of … Continue reading 

| 10 Comments

An effective testing strategy

On a recent large project, we had a goal early on that we didn’t want to have a lot of QA folks manually testing our software.  Finding bugs through manual testing is incredibly time consuming and expensive, so we opted … Continue reading 

| 13 Comments

Cucumber, A Brief Overview

Cucumber I’ve found Cucumber to be a pretty nice way of doing high level acceptance/integration testing. It’s also the first time I’ve ever thought that ATDD (acceptance test driven development) is actually achievable. The idea is that you write your … Continue reading 

Also posted in Agile | Leave a comment

The Ruby/Rails Life – My Rails 3 Stack – Part 2

Rails Deployment & Testing There are some really nice tools available for deployment and testing rails. Below is a brief description of some of the ones I’ve been using with success. Capistrano I remember in the early days of my … Continue reading 

Also posted in Legacy Code | Leave a comment

Testing assumptions with preconditions

While driving design with unit tests, I often break behaviors out into separate classes, both to increase cohesion, and as a side effect, increase testability.  Occasionally, I run into situations where I have some sort of environmental variable that never … Continue reading 

| 10 Comments

Unit Testing [Serializable]

A common struggle with unit testing is figuring when to just assume somebody else’s code works. One such example is serializability: for simple classes, it should “just work” so we shouldn’t need to write a unit test for each of … Continue reading 

Also posted in Agile, Team Build, VSTS | Leave a comment

Review: Pragmatic Unit Testing In C# with NUnit (2nd Edition)

I’ve written hundreds of tests, read dozens of articles and listened to several presentations on unit testing, but until recently had never actually read a book dedicated to the subject. In reviewing my options, I was told repeatedly that I … Continue reading 

Also posted in ASP.NET | Leave a comment