SELGMay 16, 2019

TERMINATOR: Better Automated UI Test Case Prioritization

arXiv:1905.07019v246 citations
AI Analysis

This addresses the high cost and slow feedback in automated UI testing for software developers, particularly in web-based systems with microservices, though it is an incremental improvement over existing prioritization techniques.

The paper tackles the problem of slow automated UI testing in continuous integration by proposing TERMINATOR, a novel test case prioritization approach that dynamically re-prioritizes test cases upon detecting failures, resulting in improved failure detection rates with negligible CPU overhead compared to prior state-of-the-art methods.

Automated UI testing is an important component of the continuous integration process of software development. A modern web-based UI is an amalgam of reports from dozens of microservices written by multiple teams. Queries on a page that opens up another will fail if any of that page's microservices fails. As a result, the overall cost for automated UI testing is high since the UI elements cannot be tested in isolation. For example, the entire automated UI testing suite at LexisNexis takes around 30 hours (3-5 hours on the cloud) to execute, which slows down the continuous integration process. To mitigate this problem and give developers faster feedback on their code, test case prioritization techniques are used to reorder the automated UI test cases so that more failures can be detected earlier. Given that much of the automated UI testing is "black box" in nature, very little information (only the test case descriptions and testing results) can be utilized to prioritize these automated UI test cases. Hence, this paper evaluates 17 "black box" test case prioritization approaches that do not rely on source code information. Among these, we propose a novel TCP approach, that dynamically re-prioritizes the test cases when new failures are detected, by applying and adapting a state of the art framework from the total recall problem. Experimental results on LexisNexis automated UI testing data show that our new approach (which we call TERMINATOR), outperformed prior state of the art approaches in terms of failure detection rates with negligible CPU overhead.

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes