Does anyone have some suggestions on dealing with testing functionality at the UI level that changes state?

For example, in one application .I am testing there are many different applications in many different states, but the application states are often irreversibly changed as a result of testing out some functionality.

I'm not sure how reasonable it would be to make a new application for each test run.

1 Answer 1


This is a common situation and the solutions can be complex and are highly dependent on the particular situation.

More broadly the approaches are:

  • Rely on having good unit and integrated tests that you understand well and can explain to the business. These can test the complex login and leave the front end UI testing to simply testing if the form interactions work.
  • Ensure that when you use the frond end to test specific data that you first have a test for that on the back end that is called.
  • Have the application developers provide a way to create the state that you need for the test environment you use ('gray box testing').
  • Have a way to reset the database or part of the database that you interact with.
  • Create a way to create all the necessary artifacts needed for a test that can be created through the UI and repeated from scratch. Make a procedure or function to do these steps. Accept the slowness of using the UI to do this.

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.