论文

LLM可以测试终端用户界面吗?

Can LLMs Test Terminal User Interfaces?

智能体系统Agent任务评测

摘要

终端用户界面 (TUI) 将 GUI 的有状态、面向屏幕的行为与终端部署相结合,现在在开发人员工具中很常见。然而他们缺乏专门的测试方法。我们调查了 197 个真实世界的 TUI 应用程序:只有 12% 的测试代码使用了界面,其中 45% 的测试从不发送输入,而是检查静态框架。我们将这些应用程序转变为涵盖ratatui/Rust、bubbletea/Go、textual/Python 和 ink/TypeScript 的无头基准测试,并将每个应用程序打包为经过检测的 Docker 映像。我们记录可靠的线路和小部件覆盖范围、渲染的终端状态和崩溃。在相同的挂钟预算下,我们通过随机探索比较了四个前沿 LLM。没有一个模型占主导地位。随机是一个强大的时间预算基线,但它的崩溃优势来自于更高的吞吐量:每次交互,LLM 指导都更高效并且独特地达到输入门控故障。自动导出启动输入可产生最大的实际增益,从而启用原本无法启动的应用程序。线路覆盖率很难预测崩溃的发现,从而削弱了它作为测试有效性代理的作用。自动化 TUI 测试是可行的,但远未解决,诚实的基线比模型选择更重要。我们在 https://github.com/tui-testing/tuicov 发布了覆盖率工具 tuicov,在 https://github.com/tui-testing/tuibot 发布了测试框架 tuibot。