One of the most frustrating things about testing is the fact that you have to keep them up-to-date with the corresponding UI.
Hey Klaus, those tests got broken again.
Well, a lot changed in the UI and the tests are failing.
Oh man, I hate maintenance.
When estimating the effort for implementing automated tests, most of us tend to forget about including the cost of maintenance.
A suite of tests will become obsolete in a few weeks if no one takes care of keeping the steps updated.
Most of the changes in the UI tend to appear right before the big release, rendering your tests useless.
Ideally, the tester should be provided with a mockup and enough time to update the steps. But that never happens.
A few months ago, I set off to find a solution for this irritating issue.
It was clear that I could not stop the UI from changing. It has to change, it has to make room for the new features and functionalities.
I did try to improve our development process by asking our team to provide mockups, but that proved to be time-consuming and could have caused delays in our delivery times.
Pretty soon, it became obvious that the best solution was to streamline the maintenance process.
What about Artificial Intelligence?
What about it?
You can use it for maintenance.
I don't know how to AI.
Why don't you just use Endtest?
As it turns out, there's this Endtest platform out there that allows you to use Machine Learning for your Automated Tests.
Because I'm not allowed to change the UI from the Wikipedia website, I will just ruin the locators from my steps.
Every time you run a test, the AI learns more and more about your application. So, it learns how to identify your elements and your business flows in different ways.
If something changes and the steps from the test no longer match the User Interface from your application, the AI just finds the new way, just like a user.