A Plain Pastry introduction to Workflow Analysis and Testing (I)
Amuse-Bouche
In the very middle of the court was a table, with a large dish of tarts upon it: they looked so good, that it made Alice quite hungry to look at them--`I wish they'd get the trial done,' she thought, `and hand round the refreshments!'1
When I introduce the subject of workflow analyses and testing, I usually refer to cooking recipes as a simple, baseline example2. It is well-accepted even by those, whose kitchen experience is limited to pilling a banana or boiling an egg…3
For once, I thought I’d really go through a recipe, and inspect various aspects of workflow analysis and what its implications for testing might be.
I divide this gentle introduction into three parts:
This first part would be an Amuse-bouche, in which I’ll go through the main parts of the recipe—and see what they can tell us about workflows.
The second part will be the Hors d'oeuvre, in which I’ll go through questions one might ask about the ‘obvious’.
On the third part, Escargots Bourguignonne4, I’ll touch some SNAFUs.
For the purpose of this light discussion, we’ll look at the following recipe5:
Amuse-Bouche
Let’s start by looking at the structure of the recipe:
It starts with a defined Goal.
We know, that this specific effort is aimed at making a Pastry, and this one is plain.We see an image of the expected result of this effort (i.e.—the Deliverable).
In this case, there’s a drawing only.
Most User Stories are like that…images of what the customer expected to get…The recipe goes on to define the first Stage of the process.
It can be seen, that this recipe offers the following two options (=Paths):The recipe details the required ingredients.
These are Prerequisites to preparing the pastry.
You may start without them (or some missing), but—you might not get what you…think…you’ll get…The last part of this section details the Process Steps, the result of which is implied on the next section (=plain paste).
Now we can move to the second stage; let’s chose the Prune Pie path (the Apple Pie is about the same, as far as this section is concerned):
On this stage, there is also a defined Goal:
We are about to use that which we have produced above to prepare a Prune Pie (=Deliverable).Now, the Process Steps are listed.
In this case—the Prerequisites are enhanced to account for this stage’s process.
Going back to the process once we understand the Prerequisites, we see that the process is actually divided into three sections:
The first deals with paste preparations,
then—placing the filling,
and lastly—covering.
After all this is done—we bake.
Now that we understand the basic anatomy of this recipe—we can investigate it a little deeper.

Related posts:
A Plain Pastry introduction to Workflow Analysis and Testing (II)—Hors d'oeuvre
A Plain Pastry introduction to Workflow Analysis and Testing (III)—Escargots Bourguignonne
“Alice's Adventures in Wonderland”, CHAPTER XI, Who Stole the Tarts?
Do note, that in this discussion (and blog), the notion of a workflow is much broader and more detailed than with common algorithms realizations or code analyses.
Feel free to leave a comment in case you’d like to have more information on this aspect.
Consult this source for context…








