Building and maintaining automated UI tests can often be challenging and cumbersome.
In fact, the term “flaky” is often associated with tests created at the UI layer.
Even the smallest of changes in the UI can cause automated tests created at the UI level to break, resulting in a lot of maintenance overhead. This problem hasn’t gotten any easier with the explosion of browsers, mobile, third-party controls, and other IoT devices.
One example of the challenges associated with UI tests is the problem posed by Ajax calls, which modern browsers use to render website pages. Often testers solve this by putting a wait time, which can slow down the test but often this is not enough.
Another common situation is when a UI test works fine when run on its own but fails in the build process. This can result in false negatives – the UI test fails on a proper code. Or false positives – the UI test passes even on a bad code. Deciding whether or not to file a bug in such cases often involves a lot of time spent debugging and figuring out what’s wrong with the UI test.
This can be a huge blocker to a continuous delivery process.
What can developers and testers do to overcome this?
Building stable UI tests starts with identifying reasons for flakiness in your tests. There are a number of possibilities here, but some of the most common reasons include:
- Not having a solid testing framework
- Flaky test environment
- Poor test data
- Unreliable external /API services
Once you’ve figured out what’s making your tests unreliable, you can take the appropriate steps to improve future tests.
How to Build Stable, Scalable, and Maintainable UI Tests
On Tuesday, March 22 we will be hosting a webinar on how to build UI tests that are stable, scalable, and maintainable. The webinar will look at some of the common reasons why UI tests are difficult to maintain and provide actionable steps you can take to avoid future problems.
Best of all, you’ll learn how to eliminate the “fire-fighting” strategy that often accompanies automating UI tests.
Some other topics we touched upon during the webinar include:
- Ways to make UI tests stable, scalable, and maintainable
- Traditional challenges associated with UI tests
- Reasons why UI tests are often flaky
- How to overcome these challenges while designing test cases
- Techniques that can help create inexpensive to maintain UI test
We are offering three sessions of the webinar on March 22, 9:00 AM, 2:00 PM & 8:00 PM ET.
Reserve your spot.