I wrote a blog post a while back that talks about the usage of UI testing tools in our industry and how we fall into anti-patterns where we think we are testing something in the UI when actually it’s the Backend that is being tested:
From this I developed the Mnemonic TuTTu to ask myself ‘Am I Testing the UI or Testing Through the UI’. Whatever UI tool I use, I want to focus on the risk. I don’t want to use a UI testing tool to connect the tax calculation that goes on inside a web service, I can use that elsewhere. But a UI testing tool might help with testing JavaScript functions for form field validation.