We are migrating in production from 9.1 to 10.0 this weekend. We tested
our workflows manually.
However, about 10 years ago, when we went from Windchill 5.1 to 6.0, I
wrote a program that would launch workflow processes in a loop, and a
listener that would listen for work items with certain names to then
complete those tasks in a direction that I wanted the workflows to go.
Each task had to have a unique task name. The idea was to put the
workflow queues under a high concurrent load to see how they did. It took
a couple of weeks to iron it out, but if you have a decent programmer and
a fairly simple workflow to test, then you could automate it. Launching
the workflows might be easier using an object create API in a loop with a
workflow in the initial lifecycle state (i.e. Create ECR), but what I did
back in the day was to actually use the APIs to create a new WfProcess.
However, this API-driven approach would not help if you have javascript on
the UI to test, or visual customizations on the tasks, or complex logic
regarding roles and participants. Unfortunately, I no longer have any of
that code. We just have not found the time it would save by using an
automation for testing to outweigh to time it would take to write, debug,
and maintain that automation over time. Beside, there are a lot of
variables to test that are fairly easy to test manually. For example, if
you have 5 workflows with a total of 50 possible tasks across all the
workflows, then after conversion you will want to run each task more than
once from its current location to completion. You will also want to test
new workflows from stop to finish. You cannot test every possible
combination of every possible scenario, but with planning, you can get
enough covered to have confidence that both migrated and new workflows
will work normally in the new system. An example of where found 10.0 to
require some adjustment in the workflows included ECT task prioritization
that we had customized into 9.1, but has an out of the box way to do that
in 10.0 - so we decustomized to be more out of the box in that instance.
Most workflows, including all of the out of the box elements of our
workflows, work fine after migration to 10.0 without having to stop and
restart them, as we did in many prior major Windchll upgrades.
If all you need to do is verify that the workflows work, then manual
testing is probably faster and more accurate (since you can see the
interfaces and interpret what you see more easily than a program) than
automating unless you have very simple processes, or unless you need to do
load testing to quickly spin up 100s of concurrent workflows.
Al Anderson