Geeks With Blogs
Caffeinated Coder A Grande, Triple Shot, Non-Fat Core Dump by Russell Ball Software Development Practices Test Driven Development, Continuous Integration, Automated Testing, Code Analysis, Deployment, and Agile.
Are You Mocking My Code?
I've been playing around with mock objects using Rhino.Mocks for the last few months, but today was the first time that I had an unfettered coding win and became a true convert. I was introduced to NUnit about five years ago from a co-worker (thanks Dewayne) and gradually became a true believer. Unfortunately, I was a late-bloomer in the area of mocking, so by the time I finished my last big project I had left a suite of about 500 database driven tests that took almost 2 hours to run and were a maintenance ......

Posted On Wednesday, December 19, 2007 12:12 AM

Still an Open Source Virgin
I was setting up Cruise Control the other day and trying to figure out why it wasn't working on a certain source control folder. I noticed a strange error in the cruise control log about there being an invalid character in the path, so I decided to take advantage of the fact that it is an open source project and download the source code so I could step through it in the debugger and see what the exact problem was. It wasn't long before I discovered the source of the error, which was a newline character ......

Posted On Tuesday, November 6, 2007 8:10 AM

What are your Seven Essential Practices?
Ayende started a thread in the ALT.NET newsgroup asking participants what practices they deemed absolutely necessary on a project. In other words, if you were to start in a shop that had none of the current "best practices" in place, which ones would you spend your political capital on trying to get into place first. If I only had enough time, money, and political capital to accomplish seven things, I would choose the following: Test Driven Development: This is the one practice that I can't really ......

Posted On Friday, October 19, 2007 11:07 PM

In Praise of MbUnit
I've played with MbUnit before and was immediately impressed, but I haven't tried using it on a project until today. I was surprised by how quickly and easily I was able to convert all of my NUnit tests. All I had to do was switch the references from NUnit.Framework to MbUnit.Framework and then do a quick find and replace for my using statements. After that everything magically worked. Kudos to the MbUnit team for not pulling an 'MSTest' move and renaming all the attributes and keywords. Best of ......

Posted On Friday, October 19, 2007 5:22 PM

Taking Another Look at BDD
When I first heard about Behavior Driven Development, I dismissed it as a trivial re-branding of TDD (Test-Driven Development). I figured that either someone was getting way too anal about "getting the words right" or else a concerted effort was being made to make TDD more palatable to the skeptics in the same way that Agile made Extreme Programming principles more mainstream through the magic of less controversial language. It's hard not to be cynical about re-branding efforts when you've had to ......

Posted On Wednesday, October 3, 2007 1:03 AM

Analyzing WatiN Code Quality with NDepend's CQL
In my recent post on code quality, I mentioned some of the high level features of a static analysis tool called NDepend. I've been exploring some of the pre-built CQL (Code Query Language) queries in the tool by running them against the WatiN codebase. Here are the results from selecting "Types with Too Many Methods" query. NDepend shows you a list of the classes and number of methods in each on the left along with a visual Tree Map visual representation on the bottom. Once code is analyzed while ......

Posted On Tuesday, September 18, 2007 8:06 AM

Code Quality: The Holy Grail of Software
Monitoring and enforcing code quality seems to be somewhat of a holy grail in the software industry in that nearly every development shop pursues this goal but few ever even come close to actually achieving it. Here are a few of the common failed approaches I've seen: Developer's Handbook - Despite being a darling of auditors, I find this approach to be a largely worthless exercise for anyone except perhaps the author of the document. Like all waterfall-based functional specifications, these documents ......

Posted On Monday, September 17, 2007 1:16 AM

Let Me Introduce You to My Little Friend: Resharper's Unit-Test Runner
I used Resharper's unit-test runner for the first time while spelunking WatiN last week and quickly became a fan. If unit-test runners were high school boys, here are a few reasons why the Resharper test runner would be dating the entire cheer leading squad while the NUnit test runner would have to bribe a distant, homely cousin in order to get a prom date. Integrated IDE experience: I think NUnit is good for deployment scenarios when you just want to load the test dll and verify the environment, ......

Posted On Monday, September 10, 2007 7:31 PM

Now THIS is a War Room
In the Agile community, a war room refers to a team room where developers work, customer meetings take place, and all projected related information is displayed. It is supposed to maximize communication and transparency into the health of the project. I think one sign of a healthy agile project is evidence of some good fun. These are pictures taken from a war room at the bank where I am currently wrapping up my near six year tenure. These guys have obviously taken the war room to a whole new level. ......

Posted On Wednesday, September 5, 2007 10:53 AM

WatiN and the IEDevToolbar: The Dynamic Duo of Automated Web Testing
Several weeks ago I used WatiN (pronounced as What-in) to create a suite of automated GUI tests for an old internal ASP application that we were upgrading. Inspired by the popular ruby testing tool Watir, WatiN is an open source .NET wrapper around the Internet Explorer that you can reference in your test project and use to get access to all of the HTML elements on a web page. I was surpised by how easy it was to simulate a user typing text and clicking buttons and then check to see if the result ......

Posted On Friday, August 31, 2007 9:16 PM

Meeting Moths of the World, Unite!
…just do it over there and try to be quiet about it. I’ve got work to do. Anyone who has ever worked with me knows that I am not fond of meetings. I'd like to think that I have improved over the years, so it is not quite as apparent to people who don't know my body language well that I am getting impatient. I used to give ever-so-subtle hints like moving to the edge of my seat with my hands on the arms of the chair or throwing out the "...so is there anything else?" phrase with just the right intonation ......

Posted On Thursday, August 16, 2007 8:14 AM

What ever happened to that whooshing sound?
Someone sent me a great quote the other day from Douglas Adams: "I love deadlines. I especially like the whooshing sound they make as they go flying by." It brought back distant memories of a gigantic waterfall project that I survived. I think the word survived is appropriate in this case because we labored on it for over 3 years before we ever released code to production, which by that time was somewhere between 12-18 months later than our original deadline (I blame my fuzzy memory on the excessive ......

Posted On Wednesday, June 20, 2007 11:27 PM

Copyright © Russell Ball | Powered by: GeeksWithBlogs.net