Page 1 of 1

Advantages/Disadvantages of automating workflows

Posted: Tue Jul 04, 2017 9:34 pm
by Lyndonwilliams
Hi all,

I have been looking for information relating to the advantages or disadvantages of automating a workflow through an application. Unfortunately there doesn't seem to be anything readily available on the web regarding this so I thought I would post here to see if anyone has an opinion on the matter.

Context: We will be automating an android App which requires access to an external database for data.

I of course have my own beliefs that automating a workflow has several disadvantages which I will outline below. So please feel free to confirm/deny or critique.

1) Automating a workflow is more likely to be brittle - e.g a test which fails at the start will prevent your entire test from being executed.
2) A workflow tests does not lend itself to being paralleled - e.g an automated test which takes 10 min to run through the workflow can not be split across 10 machines and then take 1 minute to run.
3) Any minor change to a workflow will break the remaining tests from that point on.
4) Automating a single workflow for a particular feature generally gives less coverage as it only takes one path through the application unless you somehow manage to incorporate all of the paths into it or automate all of the workflows separately.

The above is in contrast to what I call State Based Tests which when automated are more like - Given the system is in this particular state, when I do this, this happens. These types of automated tests can be setup to run independently so no proceeding test requires the first to have passed.

Thoughts anyone?

Re: Advantages/Disadvantages of automating workflows

Posted: Thu Jul 06, 2017 9:48 am
by Stub
I've been converting our old automated tests to Ranorex and I've been wondering much the same. Since I'm doing a conversion I have left them as they are. They are very much A -> B -> C -> D, where each step precedes the other and they have to be performed in a whole sequence.

At a high-level I can flow off steps ABCD to one machine, EFGH to another, etc, as they're independent of each other at the top-level, but the flow within each test case is a whole entity that takes time to run.

Once I get these existing tests fully converted, operational and crucially reliable, I'll be able to start thinking in terms of writing completely brand new tests and how I might partition these up. Just haven't got there yet. It's taken a lot longer to re-code our existing tests than I had honestly expected.

Re: Advantages/Disadvantages of automating workflows

Posted: Mon Jul 10, 2017 8:15 pm
by krstcs
One of the issues, though, is that you still MUST test the whole workflow together to ensure that you cover all transitions between states.

At some point you have to decide to either accept that overhead and do it, or not.

And, really, everything we test is a workflow of some kind. I think the issue is that you need to design the test suite so that it can handle whatever you are doing with minimal maintenance.

One of the things I do is that I make the modules as small as possible, isolating the functionality in each one so that I don't have to make changes to 15 big modules, just one small one. I then manage the workflow in the test suite in Ranorex.