Workflows for testing the YAWL Android Client

Printer-friendly version

The YAWL Android Client has had several people, that added functionality and fixed bugs. I created three workflows that helped me find the flaws and bugs in the different YAC versions, which I am going to describe here. SInce those workflows were mainly used for debugging and had to be completed often, they run in a loop and repeat themselves as the standard control flow.

Test data types

The first workflow was created to test different data types in YAWL and how they are displayed:

It consists of two tasks, that display the simple data types string, integer, date, boolean and base64binary, which in the case of YAC isused for pictures and signatures. Also these simple data types are added in an complex data type, which is also displayed in itself and in combination with min- and maxOccurs attributes. Basically the form looks like this, repeating itself once as sepearate fields, the second time as a single complex type, and the last time with "minOccurs=0" and "maxOccurs=unbounded".

The second task is only used to check the inputs in the first task.

Test extended attributes

The second and third workflow were created to test extenden attributes.

The first workflow tests input & output variables and also can be used to test the following extended attributes:

  • read only (should not be editable)
  • hide (should be hidden)
  • length (input should be of length 10)
  • minLength (input should have length of at least 6)
  • lines (should have lines above and below)
  • label (should have the label "New Label")
  • optional (is not mandatory)
  • text above and below (should have a text above and below)
  • tooltip (should have a tooltip)

In the end it should look like in the resource service:

Test more extended attributes

While the next workflow

tests the following extended attributes:

  • fraction digits (should only have two fraction digits)
  • maxLength (max length of 6)
  • minInclusive (minumum number 6)
  • maxInclusive (maximum number 6)
  • minExclusive (minimum number 7)
  • maxExclusive (maximum number 5)
  • totalDigits (number with six digits)
  • pattern (input simple email address)

Test min max occurs

This workflow is used to test the attributes "minOccurs" and "maxOccurs" for elements.

This task has two instances of a complex data type, but with different values for minOccurs and maxOccurs. The first instance has the values "minOccurs=1" and "maxOccurs=3", while the second instance has the values "minOccurs=0" and "maxOccurs=unbounded".

The complex data type itself consists of three simple elements: sting, integer, and sing with "minOccurs=0" and "maxOccurs=unbounded".

As of YAC version 1.06.03 the simple type elements cannot be with min- and maxOccurs values are displayed as normal elements without min- and maxOccurs values.


Based on a workflow created by Marcel Sponer, the original creator of YAC, this workflow has work items with different location information, that are displayed accordingly on the work item map.

This worklow is in a loop and is being executed on the default server saved in YAC, that should be available to anyone for testing.