When writing tests for a state machine, should you also test conditions that would not trigger transitions to make sure they don't?
E.g. for a software requirement
transition from A to B if x is between 5 and 12
would you also write a test for x = 3
to make sure that the transition does not happen and the state machine stays put?
In the source code x = 3
would be a no-op and nothing would happen in that case.
But for a software tester just working off the software requirement and who does not know, e.g. if values in the conditions in the source code are correct, I would argue that it is legit to write tests for that.
What are you thoughts on this? Are there best practices or paradigms to help with this case?