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能在相同及不同设备上高效完成所有场景的回放,性能优于当前主流基准方法。