What came first, the chicken or the road?
Unit test frameworks automated the tedious work of verifying bits and pieces of code by hand, replacing a haphazard process of trial, error, and judiciously...more.
The overt purpose of testing is to ensure that code does what is expected of it, but tests themselves also act as documentation. Highly readable...more.
I use TDD as my development workflow. Red, green, refactor. It creates a quick feedback cycle, allows me to build momentum, and gives me...more.
Some Background Thoughts
There is an experiment from Richard Held and Alan Hein who raised kittens in total darkness. For a short period during the...more.
I first heard the term "Test First" in 1998. Back then it was part of the phrase "Test First Design". We often shortened it to...more.
For those new to Test Driven Development, understanding how to take small, incremental steps when writing your tests can be a confounding practice. Even the...more.
A few weeks ago I had an opportunity to pair with Uncle Bob.
We were going to pair on a message queue...more.
Here's the situation: You use RSpec. You like RSpec. But you want more confidence from your tests than you get with RSpec's dynamic mocks while...more.
A short post to start the new year. Let's imagine that you are building an application that requires the application of a specific algorithm, but...more.
There's a special sort of satisfication I get from turning absolutely awful code into a well-tested, well-factored program. Not only have I increased the...more.
Sometimes we need to test our interaction with a certain dependency, but doing so proves difficult. But using a certain trick, we can get nearly...more.
How does one develop software the "old-fashioned" way? Here is how my very first, non-TDD* version of Tic-Tac-Toe went.
First thing's first...more.
I tend to be a skeptical person. When I encounter a new idea, I often start on the offense. I try to force the...more.
One of my first exposures to TDD was through a code kata. I was mortified.
The performer test-drove his way to a...more.
We need to become a self-regulating and self-policing profession. The stakes are simply too high to allow software to remain in the current ad-hoc limbo...more.
There’s a bit you need to flip in your head. It’s just one bit. In this blog we’ll call it “THE BIT”. Some...more.
My first exposure to mock objects was in C++, where they are practically indecipherable to the TDD newbie, so I didn't use them. That...more.
So if you're like me, you're 5'10" and sport a ruggedly awesome beard. And if you're really like me, you swallowed the T/BDD pill years...more.
If there is one thing I’ve learned about Acceptance Testing (AT) it’s that there are a lot of ways to mess it...more.
Let's start off with some backstory: there was a time when only one Ruby implementation existed in the world: Matz's own Ruby Interpreter (MRI)...more.
We encountered a strange spec failure today in our continuous integration build. It’s a Rails project, we’re using RSpec, and this was the failing...more.
Acceptance testing was one of the first challenges I faced during my apprenticeship. I learned that complexity scales in proportion to the number of...more.
This blog post originally appeared on a blog I maintain for my current game development class. Generally speaking my posts over there are pretty...more.
A couple of weeks ago, I happened to be in the right place at the right time (the first ORD Session) when Google hooked...more.
A couple of weeks ago I had to add a feature to some code that was written almost two years ago. It was a...more.
Recently I wrote the beginnings of a blackjack game in Java, and I found myself making a common error. The Java gameplay mechanic uses...more.
I hate debugging. Loathe it, despise it, pick your synonym and I’ll use it. Computer programming is building something out of nothing, making the...more.
Ever write an entire blog post, spend significant time on it, correct it, and eventually grow to love it, only to discover two months...more.
This is intended to be a tutorial to get you started using FitNesse with ruby on Rails. There is some explanation needed about FitNesse,...more.
BOC is a testing pattern that Unclebob briefly mentioned on fitnesse.org shortly after it was published. It describes the typical steps taken in an...more.
The self-shunt method of testing has been conflicting for me. Self-shunt is a good testing pattern to test observers/views. A colleague of mine has...more.
David Chelimsky puts it gently…We’ve actually had some heated arguments about these mocking frameworks and it’a all kinda silly. In the end we’re writing...more.
I’ve noticed using more mocks lately. Instead of using them sparingly for controlling services which are not instrumental to what I am testing, I’m...more.
Sometimes I sit down to write a test on something I haven’t worked on before or don’t know intimately, and I just can’t write...more.