Prototype of a visual DSL for intentional testing

  • Download Gist

I want to build a spike solution that does this:

  • Present a form UI to the user
  • Each button or form group fires an event, a command, or an exception
  • Three modes in sequence: given/when/then
  • Events may be fired only in the modes given and then
  • Commands may be fired only in the when mode
  • In the then mode, either a exception or a chain of events may be issued but not both
  • Either or both given and then may be empty sequences of events
  • The user proceeds through the given/when/then in order, advancing manually through the UI
  • It's possible to commit the test case in the end, or wipe and start over a test case at any time
  • Final product is an XML or JSON structure with the committed test cases

Each such UI is of course very tailored to the commands/events/exceptions in the model, so these must've been designed already. But the point is that it should be dead easy to put together a UI from them — maybe even automatically mapped from an .xsd file (but manually improvable).

The framework for recording tests in this way can then be re-used between projects. Since the output is in a neutral data format, it can be used in any setting with any language.

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.