论文
基于LLM的微服务应用鲁棒性测试:实证研究
LLM-Based Robustness Testing of Microservice Applications: An Empirical Study
摘要
微服务 API 中格式错误、缺失或边界值输入可能会跨依赖服务级联,从而威胁可靠性。稳健性测试系统地执行此类输入以暴露服务器端故障,但生成多样化、有效的测试仍然具有挑战性。 大语言模型可以根据API规范生成此类测试;然而,尚不清楚不同的模型和提示策略是否会产生不同的故障集或收敛于相同的故障。我们报告了一项对照实验,将 7 种提示策略应用于 3 个开源 LLM(14B-70B 参数),目标是 2 个架构不同的微服务系统:一个 Java 单语言(6 种服务,9 种故障模式)和一种多语言(27 种服务,14 种故障模式),产生 38 次有效运行和 663 个生成的测试。我们发现提示策略比模型大小解释了更多的多样性变化:结构化提示完全破坏了多样性,而跨三种提示策略变化的单一模型在一个系统上实现了完整的故障模式覆盖,优于固定提示下的任何多模型集成。我们引入了两种策略,Guided 和 GuidedFewShot,它们将先前稳健性测试研究中的突变分类法嵌入作为领域上下文。 GuidedFewShot 在两个系统上实现了最高的单次运行覆盖率(9 种故障模式中的 5 种和 14 种故障模式中的 8 种),同时保持较低的跨模型相似性。一个重要的教训是,仅靠分类规则是不够的:在没有具体示例的情况下,LLM 无法区分键缺失和值空突变。研究结果在两个系统中重复。