testing
Grabbing for good enough
Uncle Bob, who I consider my favorite programming writer, had a post a few weeks ago titled “Thorns around the Gold“. In it he describes how writing tests for your core functionality first can be harmful. Instead, Uncle Bob prefers to probe for “thorns” around the “gold” first. I...
Read more
The QA Department Mindset
From this post by Rands, titled “The QA Mindset”: At the current gig, there’s no QA department. […] My concern is that the absence of QA is the absence of a champion for aspects of software development that everyone agrees are important, but often no one is willing to...
Read more
Behavioral testing is the bee’s knees
I have been doing Test Driven Development (TDD) with xUnit-based frameworks (like unittest and NUnit) for a number of years now, and started with RSpec in Ruby and Jasmine in JavaScript a few months ago. RSpec and Jasmine are behavioral testing frameworks that facilitate Behavioral Driven Development (BDD). BDD...
Read more
Two weeks is the worst sprint length
Mike Cohn over at Mountain Goat Software says this in My Primary Criticism of Scrum: In today’s version of Scrum, many teams have become overly obsessed with being able to say they finished everything they thought they would. This leads those teams to start with the safe approach. Many...
Read more
A short letter to a unit testing newcomer
One of my friends asked how to get started with unit testing and Test Driven Development and figured I could write a short post. I also mention TDD a few times in my book so I think it could use some more attention. I got started with unit testing...
Read more
Mike Bland’s profound analysis of the Apple SSL bug
Mike Bland has done a series of articles and presentations about the Apple SSL bug over on his blog. To be frank, it’s pretty much the only good coverage of the bug I’ve seen. He’s submitted an article to the ACM; crossing my fingers it gets printed, because it’s...
Read more
Using code metrics effectively
As the lead of a team and then a director for a project, code metrics were very important to me. I talked about using Sonar for code metrics in my previous post. Using metrics gets to the very core of what I believe about software development: Great teams create...
Read more
Using Sonar for static analysis of Python code
I’ve been doing static analysis for a while, first with C# and then with Python. I’ve even made an aborted attempt at a Python static code quality analyzer (pynocle, I won’t link to it because it’s dead). About a year ago we set up Sonar (http://www.sonarqube.org/) to analyze the...
Read more
Teaching TDD: The importance of expectations
I read this interesting article from Justin Searls about the failures of teaching TDD, and his proposed improvements. Uncle Bob wrote up an excellent response on how Justin’s grievances are valid but his solutions misguided. Justin’s article included an excellent image which he calls the “WTF now, guys?” learning...
Read more
TDD via Tic-Tac-Toe
For the last few years, I’ve done a fair bit of teaching of TDD, usually 1-on-1 during pair programming sessions but also through workshops. I’ve tried out lots of different subject matter for teaching TDD, but my favorite has been Tic-Tac-Toe (or whatever your regional variation of it is). It...