I have the following GIS requirement with the following business rules:

  • Tool X (used by User1) is designed to change the parcel status from "Unallocated parcel" to "Proposed parcel". User1 select a parcel from the map and click on change to proposed.
  • When the parcel is changed to proposed a notification is sent to the administrator to approve.
  • Administrator login with his credentials and use Tool Y, to approve or reject the new parcel status. If he approves, the parcel status can be changed to "Allocated" and if he rejects, the parcel status is changed back to "Unallocated".
  • If the administrator disapproves 3 times simultaneously, the system asks the user to apply a new request for allocation.

Can I use the state transition testing technique to test this function, and how?

  • Hi @Simon, welcome to SQA! I've reformatted your question to make it easier to read, please feel free to revert them if you disagree with the changes. To make the question even better, can you tell us what a 'GIS requirement' is?
    – dvniel
    Mar 16, 2018 at 9:56
  • Hi dear, GIS requirement, is a requirement related to Geographic Information System applications Mar 16, 2018 at 12:46

1 Answer 1


Yes, you can absolutely use state transition testing for this scenario.

This article has a pretty good example of a state transition diagram, and is very similar to what you're trying to achieve. There's also a video on this technique which explains it in further detail.

This is a simple example, and I'd imagine yours would be a little more complex, but it gets the idea across quite well.

In your scenario, the Incorrect PIN should be replaced with the Admin Rejected state, correct PIN would be Admin Approved, and Account Blocked would be the end point for which a new allocation request should be made.

State Transition Testing

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.