生成无效测试用例:
>大型语言模型(LLMs)可能在上下文不足的情况下生成无效的测试用例,导致编译错误。这意味着生成的测试用例无法成功运行,影响测试过程的有效性。
缺乏测试和覆盖反馈:
>缺乏详细的测试反馈和覆盖率信息可能导致生成的测试用例在运行时出现错误,并且覆盖率低这意味着生成的测试用例可能未能充分测试目标代码,从而降低了测试的全面性和有效性。
重复抑制问题:
>现有方法中,LLMs可能会陷入自我修复或再生成尝试的重复循环,导致生成过程低效。即模型在面对生成错误时,可能会不断尝试修复同样的错误而无法前进,从而浪费计算资源和时间。
手动编写单元测试的劳动密集性:
>编写测试断言通常非常耗时且劳动密集,需要测试专家手动插入测试输入(如前缀)和测试输出(如断言)。
现有方法的局限性:
>基于深度学习(DL)的方法通常需要大量的训练数据,并且可能在处理特定任务时表现不佳。
>依赖于从现有数据中检索相关的测试断言,可能会受到词汇匹配的限制,难以生成语义上有意义的断言。
>许多现有方法没有采用联合训练策略,导致检索器和生成器之间缺乏协同优化,无法充分利用各自的优势来生成更准确的断言。
>许多现有方法在有限的训练数据上表现不佳,难以生成高质量的断言。
现有使用LLM进行单元测试生成的技术的有效性并没有系统的比较研究。
本文来自知之小站
PDF完整报告已分享至知识星球,微信扫码加入立享4万+最新精选报告
(星球内含更多专属精选报告.其它事宜可联系zzxz_88@163.com)
