Catching up on Hanselminutes, I was listening to podcast #10 about WSH aka Monad. Half-way through the show, I had an epiphany.

Monad allows you to create automated Acceptance Tests (and Functional Testing) without the need for much infrastructure.

Since Monad understands .NET objects, you simply have to create cmd-lets in your application. These can be used to control the application from the Monad command line, or via a script.

These same cmd-lets can be used by the GUI to drive the underlying application (you did separate the application logic from the GUI right?). You now simply have to test the GUI layer, which is simpler than testing the whole application via the graphical interface.

Definitely check out Scott Hanselman’s blog entry on Monad for more details.

This is heady stuff!