Swim Test-Case Visualization

Committers to the Eclipse Foundation's open-source projects participated in elaborate procedures supported by a web application who's behavior was exceptionally transparent. pdf

A Swim-Lane visualization of test results for a committer election. Hovers show actions in seven different roles over several weeks.

Project members could, for example, elect new members. The voting was transparent and votes could be changed. Elections were followed by further vetting for intellectual property agreements that might prevent a contributor from properly assigning rights to their work. An election then is a long-running transaction involving many individuals including many edge cases that need to be well specified and communicated.

One could browse to see how they are expected to engage in elections and other foundation business.

One could act on business by filling forms and pressing buttons for their submission.

One could inquire as to what might happen when a button is pressed before the actual act.

One would find an "explain" link next to every button that would initiate the inquiry within the situation.

The foundation accepted responsibility for disclosing the behavior of their computer systems to the same degree and by the same methods they understood their own programs. To this end they adopted a test driven development approach and made test results available through interactive visualizations.

A catalog of test cases was run against every release of the computer system.

A user could retrieve for any button the test cases involving actions invoked by that button.

All cases could be visualized as a sequence of actions over time by hypothetical participants filling various roles.

Hovers showed details of hypothetical forms entered, actions taken, and all subsequent notifications.

A developer had at hand an index of all test cases broken down by buttons pressed and email sent. page

The foundation disclosed all that it knew about the behavior of the software in a real sense. Ongoing development was guided by the same test cases and same visualizations shared with the users. Test cases were traceable to public documents and the minutes of public meetings that begot them.

If conditions arose that had not been anticipated by the foundation. One could replay a test case up to any point in the visualization and then assume that hypothetical role for additional exploratory testing on a live copy of the system.