What is the best way to test a state machine?

I’m a developer that likes write tests before I do the coding. What is the best way to test a state machine workflow? Is there a recommended way to do it? Should each state be a separate workflow, with in and out arguments, and tested separately? Should you handle the whole state machine in the same way? Any advice is welcome.

Hi, @Terry_Marr

Rakesh’s video it can be help to you. It’s clear to understand :slight_smile:

Do you have the link? I didn’t see one on testing state machines

Hi @Terry_Marr

try the below video

https://youtu.be/Z5eOndJqf_4?si=srUzFTw7B4idInsL

Regards,
Gowtham K

Hi @Terry_Marr I edit link :slight_smile:

After reviewing the video globally, I found that it provided a clear explanation of how a state machine operates, but I was unable to find any information about testing it. Do you perhaps have a time stamp where he goes into testing?

I’m particularly interested in testing it in the context of it being used as a framework, so I can test that my framework is still working as designed when I apply some changes to it.

Hi, @Terry_Marr
Are you check it

Hi @Terry_Marr, I’m also not sure if the video covers state machines with UiPath Test Suite capabilities. However, to address your initial question:

To begin with, I would try to cover each transition with my set of test cases. Whether this means creating one test case for each transition or one for all transitions depends on the actual code and its feasibility.

Additionally, I would write test cases for scenarios where two transitions might collide, as well as cases where none of the transitions are activated.

Of course, all of these test cases would represent ‘happy paths’ to simply verify the flow of actions.

You might also want to explore path coverage in software testing.

And in general, UiPath best practices for testing.

1 Like