Archives

Archives / 2004 / October
  • [Agile Development] Fit and Fitnesse

    Tools such as NUnit provide frameworks that make writing and managing unit tests relatively convenient.  Unit testing is primarily a developer-driven process that helps software engineers to constantly ensure the integrity of their work.  The success of automated unit testing and unit testing frameworks has spurred a move to Test Driven Development (TDD) as a new and agile method for creating high-quality software systems.   But unit testing is only part of a holistic testing approach.

    Recently, automated testing frameworks have appeared to address other testing needs.  In particular, new frameworks have emerged to help with the generation and management of  acceptance tests.  Specifically, I want to highlight Fit, by Ward Cunningham and friends, and its arguably more modern offspring, Fitnesse, by Robert Martin and others.  Fitnesse packages the power of Fit-based acceptance testing in a very convenient wiki server system.  Fitnesse is available for Java, in mature form, and, although it is not quite ready for prime time, an experimental version exists for the Microsoft .NET Framework.  Fitnesse is an Open Source project with a Fitnesse Source Forge site.

    One advantage of Fit and Fitnesse for acceptance testing is that they use an approach that enables users and user representatives to write acceptance tests via a spreadsheet-like approach.  This feature decouples the creation of acceptance test suites from dependence on developers.  It also enables a mixture of documentation and testing that can result in testing documents that also provide considerable insight into how systems should work.  Such test suites can really help when the time comes to produce formal documentation and training materials.

    Fit and Fitnesse do not replace unit testing frameworks such as NUnit and they certainly do not eliminate the need for Test Driven Development.  They work at the other end of the testing process and supplement the TDD approach.

    Have fun with Fit and Fitnesse!


  • [Tools] Four nice screen magnifiers and a screen saver

    If, like me, you sometimes set your screen resolution so high that you can't quite read some of the smallest print and have a problem when you really need to read it accurately.  In the real world, you'd go find a magnifying glass.  In BitWorld, you need a screen magnifier. 

    Three utilities upon which I have come to depend are Virtual Magnifying GlassDragnifier, and Screen Loupe 2000.   As you may deduce from its URL, Virtual Magnifying Glass is both free and Open Source.   Dragnifier is free (but not Open Source).  Screen Loupe 2000 is low-cost shareware.  Screen Loupe 2000 was one of the first decent screen magnifiers I encountered and it was worth the shareware cost then (with Virtual Magnifying Glass and Dragnifier around now, though, I'm not too sure I would be quite so quick to pay for it).  If you want to play with some .NET source code for a simple screen magnifier, you might like my fourth recommendation, Magnifier.NET.

    Many other screen magnifiers are available.  In fact. from your [Start] menu, check out [Programs|Accessories|Accessibility|Magnify] and you may discover you have the free Microsoft Magnify that is distributed in Windows XP (and some other versions of Windows).  Microsoft Magnify tells you straight out, in a dialog box, that  it doesn't quite cut it.  If you want to dig deeper for other screen magnifiers, just type "screen magnifier" into Google (or be lazy and use this link).

    This article is not a comprehensive exposition about screen magnifiers; it's really just a way to say "Thank you!" for four of the ones I have personally found most useful. 

    If you like magnifying effects, though, I just can't help but recommend one of my absolute favorite screen savers, Remco de Korte's Bubbloids!  Endlessly fascinating!