Advantages/Disadvantages of automating workflows

Experiences, small talk, and other automation gossip.
Lyndonwilliams
Posts: 1
Joined: Tue Jul 04, 2017 9:05 pm

Advantages/Disadvantages of automating workflows

Post by Lyndonwilliams » Tue Jul 04, 2017 9:34 pm

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?

User avatar
Stub
Posts: 515
Joined: Fri Jul 15, 2016 1:35 pm

Re: Advantages/Disadvantages of automating workflows

Post by Stub » Thu Jul 06, 2017 9:48 am

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.

krstcs
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: Advantages/Disadvantages of automating workflows

Post by krstcs » Mon Jul 10, 2017 8:15 pm

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.
Shortcuts usually aren't...