Category Archives: testing

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 

| 12 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 

| 7 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 

| 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 

| 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 how we do it, improvement, management, quality, team | 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 community, improvement, quality, rant, software | 21 Comments

Debug It!

If there’s one thing I like about programming computers, it’s the ability to tell a machine exactly what to do. –insert Skynet reference here– With that said, I wanted to learn some more tips, tricks and techniques to figure out … Continue reading 

| Leave a comment