WeChat, a widely-used messenger app boasting over 1 billion monthly active users, requires effective app quality assurance for its complex features. Record-and-replay tools are crucial in achieving this goal. Despite the extensive development of these tools, the impact of waiting time between replay events has been largely overlooked. On one hand, a long waiting time for executing replay events on fully-rendered GUIs slows down the process. On the other hand, a short waiting time can lead to events executing on partially-rendered GUIs, negatively affecting replay effectiveness. An optimal waiting time should strike a balance between effectiveness and efficiency. We introduce WeReplay, a lightweight image-based approach that dynamically adjusts inter-event time based on the GUI rendering state. Given the real-time streaming on the GUI, WeReplay employs a deep learning model to infer the rendering state and synchronize with the replaying tool, scheduling the next event when the GUI is fully rendered. Our evaluation shows that our model achieves 92.1% precision and 93.3% recall in discerning GUI rendering states in the WeChat app. Through assessing the performance in replaying 23 common WeChat usage scenarios, WeReplay successfully replays all scenarios on the same and different devices more efficiently than the state-of-the-practice baselines.
翻译:微信作为一款拥有超过10亿月活跃用户的广泛使用的即时通讯应用,其复杂功能的有效质量保障至关重要。录制回放工具是实现这一目标的关键。尽管此类工具已得到广泛开发,但回放事件间等待时间的影响在很大程度上被忽视了。一方面,完全渲染图形用户界面(GUI)后执行回放事件的较长等待时间会拖慢进程;另一方面,过短的等待时间可能导致事件在部分渲染的GUI上执行,从而影响回放效果。理想的等待时间应在效果与效率间取得平衡。我们提出WeReplay,一种轻量级基于图像的方法,可根据GUI渲染状态动态调整事件间时间。针对GUI上的实时流式渲染,WeReplay采用深度学习模型推断渲染状态,并与回放工具同步,在GUI完全渲染后调度下一个事件。评估表明,该模型在区分微信应用中的GUI渲染状态时,精准率达92.1%,召回率达93.3%。通过评估在23个常见微信使用场景中的回放性能,WeReplay在相同与不同设备上均能比当前最佳实践基线更高效地成功回放所有场景。