Test Smarter, Not Harder By Scott Sehlhorst When we re testing

November 18, 2008 – 3:00 pm

Test Smarter, Not Harder By Scott Sehlhorst
When we re testing any software, we are faced with the tradeoff of cost and benefit of testing. With complex software, the costs of testing can grow faster than the benefits of testing. If we apply techniques like the ones in this article, we can dramatically reduce the cost of testing our software. This is what we mean when we say test smarter, not harder.
Click here for the full article.

TestDriven.Net 2.10: Smart Build

There are a number of new features in TestDriven.Net 2.10 that I want to highlight (apart from the VS 2008 crash workaround). The one I’m going to focus on here is subtle, but significant I believe - especially for people working with large solutions.

Smart build is a new optimization that allows you to skip the build step before test execution when there are no source code changes. Anyone working on a solution with a large number of projects will know how time consuming the build can be before any tests can be executed. Somewhat surprisingly this remains true even when no actual source code edits have been made and nothing needs to be compiled. I’ve had reports of the build check taking as long as 45 seconds before any tests could be executed! (Thanks to Brian Genisio in particular for bringing this to my attention)

The new smart build feature overcomes this particular problem by monitoring your solution for source code edits and automatically skipping the build step if there is nothing new to compile. This can significantly improve performance when running multiple tests in the same solution. For example there is now no penalty for choosing to execute all tests in a fixture after an individual test starts to pass: a common usage pattern.

I will elaborate further on other new features in future posts. In the meantime you can read the latest release notes and download TestDriven.Net 2.10 from here. If you find any issues, please don’t hesitate to contact me.

Activate your iPhone using .NET 2.0

It appears that Jon Johansen (DVD Jon) is now a .NET developer. He has created a little .NET 2.0 application to activate your iPhone without giving any personal information to AT&T. The application runs as an activation server on your local machine. You then redirect albert.apple.com to 127.0.0.1 in your hosts file. Zac Bowling is attempting to get it working on the Mac via Mono.

Interface Oriented Design Book Excerpt: Inheritance and Interfaces (Chapter 5) By Ken Pugh
Finding commonality among classes makes for effective object-oriented programming. Often, programmers express that commonality using an inheritance hierarchy, since that is one of the first concepts taught in object-oriented programming. We’re going to go to the other extreme in this chapter to explore the difference between using inheritance and using interfaces. An excerpt from Interface Oriented Design.
Click here for the full article.

The Art in Computer Programming By Andrew Hunt and David Thomas, Pragmatic Programmers, LLC
In a way, we programmers are quite lucky. We get the opportunity to create entire worlds out of nothing but thin air. Our very own worlds, complete with our own laws of physics. We may get those laws wrong of course, but it’s still fun.
Click here for the full article.

You must be logged in to post a comment.