Join 34,000+ subscribers and receive articles from our blog about software quality, testing, QA and security.

Feature request: Automatically set test status based on the status of the test steps


When I run a test case with multiple steps, and set test status on each step I find it strange that I have to go all back to the top to set the test status on top level to. It is very easy to forget! Would it be possible to add a script that runs every time a status is changed on any step, to set the top level status based on a simple priority based matrix like this:

  1. If one or more steps are “Failed” - > Set top level = “Failed”
  2. If one or more steps are “Blocked” -> Set top level = “Blocked”
  3. If one or more steps are “Retest” -> Set top level = “Retest”
  4. If all steps are “Passed” -> Set top level = “Passed”
  5. If all steps are “Untested” -> Set top level = “Untested”
  6. If none of the above are true -> Set top level = “In Progress”

And ofcurse, I think it should still be possible to set the status manually on top level too.

I cannot change main test result status of a previously saved test result

Hello Håvard,

Thanks for your posting! TestRail already has a very simple system for this in place and already supports the first use case (if you set a step to failed, it also fails the entire test by default). Anything beyond that is currently not a built-in feature, but would be possible to implement with a UI script customization:

A more advanced and flexible rule system based on the status ordering and custom statuses is something we would like to look into as well. This has been requested before and I’m happy to add another vote, thanks again!



Thanx Tobias. And yes, please add a vote for me:-)


Added, thanks :slightly_smiling:



This would be a welcome change indeed.

+1 for me. :slightly_smiling:


Thanks for your feedback, Adam, just added another vote :slightly_smiling:



We would appreciate such a feature too. Please add another vote.

Background story:
One of our new testers just ran into the problem that the “Retest” status for the case is not set automatically if one test steps is on Retest. So now we have to add a new test result to all cases to change the overall status of the cases. Adding a new result ist necessary because the status of a test result cannot be changed when already changed (other issue: I cannot change main test result status of a previously saved test result)


Add my vote pls.


Please add my vote.



Hi Tobias,

Could you provide us the code to implement case 2-6 with the UI script customization?


Tobias and Dennis are no longer with the company…


Another vote from me (altho’ with sad voice that Tobias & Dennis have departed the company).


Who could help me write the UI script for cases 2-6?