With the "Arrange/Act/Assert" approach to test definition, the Arrange portion may end up creating a bunch of data or configuring the application to behave a certain way.

Do this enough times, and all of those "Arrange" activities can start to create quite a lot of data - perhaps enough to overload the test environment. In some cases, a tester should navigate through the UI to undo earlier steps. In other cases, a database script should be run. In still others, a complete environment snapshot restore may be in order.

In most Test Case Management tools, I see places for preconditions, action, and verification steps. Or I see specific places for "Arrange, Act, Assert" steps. What I typically don't see is a place for these undo or cleanup steps.

What's the recommended place to document "Un-Arrange" steps to clean up after the test, or to restore the environment to the condition it was in before testing an uncommon configuration setting? Is there a common term or phrase to describe these steps? Is there a common way to distinguish these steps from those that are actually part of the test execution itself?

1 Answer 1


I can provide some suggestions based on my own experience:

  • Stick to your company's regulations and rules if your company has a set of guidelines regarding how to document undo.
  • Document undo steps with as much details as possible, with screen-shots, as if those documents are for rookies with no background knowledge.
  • Undo steps should be carried out when a test succeeded, failed or aborted unexpectedly. This is where documentation can get tricky, as it is possible for the subject under test to get into an rare configuration state no one has seen before. All we can do is to capture all previous scenarios we have seen and write them down with details.
  • 1
    Thanks, Yu Zhang. I've clarified the question a bit. I'm asking less about how to describe those steps, and more about where or how to include them in the documentation for the test execution. Commented Oct 28, 2016 at 15:26
  • @SteveDwire, I see. Which test management tools are you using?
    – Yu Zhang
    Commented Oct 28, 2016 at 18:31
  • I've been looking at several: Rally, HP QC/ALM, QAComplete, Zephyr Enterprise, Test Rail. Most of them will let me create custom fields, but I don't see any of them that actually provide guidance on where to document this kind of concept. That's surprising to me, as it seems to be an important concept to communicate. Commented Oct 28, 2016 at 18:33
  • @SteveDwire, a test management tool should have some kind of "Notes" tab, where you can write your test notes, can you put your undo steps there with its associated test case?
    – Yu Zhang
    Commented Oct 28, 2016 at 18:34
  • @SteveDwire, you will be surprised how few people actually care about writing undo steps. I do not think any tools will specifically demand you to provide undo steps, but all of them will have a generic way to allow some test notes.
    – Yu Zhang
    Commented Oct 28, 2016 at 18:36

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.