These days testing is considered sexy for programmers. Who’d have thought it? But there is a lot more to effective programmer testing than the fashionable donning of a unit–testing framework: writing Good Unit Tests (GUTs) involves (a lot) more than knowledge of assertion syntax. Testing represents a form of communication and, as such, it offers multiple levels and forms of feedback, not just basic defect detection. Effective unit testing requires an understanding of what forms of feedback and communication are offered by tests, and what styles encourage or discourage such qualities. What style of test partitioning is most common, and yet scales poorly and is ineffective at properly expressing the behaviour of a class or component? What styles, tricks and tips can be used to make tests more specification–like and scalable? In answering these questions (and more), this session uses C# and NUnit to examine what it takes to program with GUTs.
Watch this streaming video from the Norwegian Developer Conference 2010