TestFirstUserInterfaces recommends instrumenting the
GuiLayer, and its tests, with more than just assertions.
GraphicalUserInterfaces should record animations of activities during tests.
AcceptanceTestFrameworks can command
TestCases to record a gallery of results.
These tests cases could also have assertions, in their edit fields. The fields are arbitrary XML, transcluded into
MiniRubyWiki:
That wiki page tests
FractalLifeEngine's OpenGL skin. However, someone changed the numbers from the defaults, at
http://flea.sourceforge.net/reference.html, and hit the Test buttons.
Because nobody should test every bit of GUI glitz, escalating the review of GUI usability aspects provides
FeedBack.
When a tested GUI such as a game has animation, one can collect a sequence of snapshots, merge them into an animated GIF with
ImageMagick, and upload this. If you stay under your browser's megabyte limit for GIF animations...
The bench version of
MiniRubyWiki transcludes XML, generating an instant GUI that edits each top-level XML node as a form. This permits incredible flexibilities as the nucleus of an
AcceptanceTestFramework.
For example, suppose each node has an attribute called
title. (The screenshot above uses
name in this role.) The current version of MRW will convert a
title of "snowFlake" into <a name="snowFlake">, providing the ability to link directly to any test case in a long list:
(click):
http://www.zeroplayer.com/cgi-bin/wiki?TestFlea#tropism
You can e-mail that link to a colleague, and say "please inspect, or execute, this test".
You can also write
http://www.zeroplayer.com/cgi-bin/wiki?TestFlea#tropism directly into the wiki, because it's still a wiki around the transcluded XML part. However, wikis shouldn't contain external links to themselves if they can avoid them.
To fix this, in
MiniRubyWiki you build a page called
TestServer, and you write for the first line R
emoteLink:
http://myTestServer/wiki.rb?
Thenceforth,
TestServer:T
estPage#snowFlake will link to a specific test, by name.
This paper shows the BF technique online at a local game studio:
http://flea.sourceforge.net/gameTestServer.pdf