1. A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising: code that acquires a test document associated with a workflow definition in response to receiving the workflow definition comprising a plurality of possible paths of execution, individual ones of the plurality of possible paths of execution comprising a sequence of a plurality of actions, the test document comprising a programmatic input source configured to provide an input for at least one of the plurality of actions of the workflow definition and an expected state for the workflow definition based at least on the input; code that places a workflow instance in a queue accessible to a workflow engine in the computing device, the workflow instance being an instance of the workflow definition; code that provides the input from the programmatic input source for the at least one of the plurality of actions of the workflow instance to the workflow engine managing the workflow instance, the at least one of the plurality of actions determined based at least in part upon a present state of the workflow instance and being performed by a remote application, the remote application interfacing with the workflow engine and returning a result, the input being determined upon execution of the at least one of the plurality of actions of the workflow instance; code that generates a comparison of a next state of the workflow instance to the expected state of the test document in response to receiving the next state of the workflow instance, the next state being based at least in part upon the present state, the at least one of the plurality of actions, the input, and the result, wherein the comparison comprises the result of the remote application; and code that restarts the workflow instance at a beginning of the workflow instance based at least in part on a difference in the comparison.
1. A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising: code that acquires a test document associated with a workflow definition in response to receiving the workflow definition comprising a plurality of possible paths of execution, individual ones of the plurality of possible paths of execution comprising a sequence of a plurality of actions, the test document comprising a programmatic input source configured to provide an input for at least one of the plurality of actions of the workflow definition and an expected state for the workflow definition based at least on the input; code that places a workflow instance in a queue accessible to a workflow engine in the computing device, the workflow instance being an instance of the workflow definition; code that provides the input from the programmatic input source for the at least one of the plurality of actions of the workflow instance to the workflow engine managing the workflow instance, the at least one of the plurality of actions determined based at least in part upon a present state of the workflow instance and being performed by a remote application, the remote application interfacing with the workflow engine and returning a result, the input being determined upon execution of the at least one of the plurality of actions of the workflow instance; code that generates a comparison of a next state of the workflow instance to the expected state of the test document in response to receiving the next state of the workflow instance, the next state being based at least in part upon the present state, the at least one of the plurality of actions, the input, and the result, wherein the comparison comprises the result of the remote application; and code that restarts the workflow instance at a beginning of the workflow instance based at least in part on a difference in the comparison. 2. The non-transitory computer-readable medium of claim 1 , further comprising code that provides an initial state of the workflow instance, the test document further comprising the initial state.