面向类集成测试序列生成的强化学习研究

作者:丁艳茹; 张艳梅*; 姜淑娟*; 袁冠; 王荣存; 钱俊彦
来源:软件学报, 2022, 33(05): 1674-1698.
DOI:10.13328/j.cnki.jos.006555

摘要

集成测试是软件测试过程中不可缺少的步骤,针对在集成测试中如何对系统中的类合理排序的问题,国内外研究者提出了多种生成类集成测试序列的方法,然而他们大多没有将测试桩复杂度作为评估测试代价的指标.针对该问题,提出面向类集成测试序列生成的强化学习研究方法,以总体测试桩复杂度为评价测试代价的指标,生成测试代价尽可能低的类集成测试序列.首先,定义强化学习任务,根据任务设定算法的追求目标;其次,进行程序的静态分析,根据分析得到的结果计算测试桩复杂度;然后,将测试桩复杂度的计算融入奖励函数的设计中,为选择下一步动作提供信息和依据;最后,通过奖励函数反馈值函数,通过值函数的设定保证累计奖励最大化.当智能体完成规定训练次数,系统会选择获得最大累计奖励值的类集成测试序列进行输出,即为我们追求的测试代价尽可能低的结果.实验结果表明,与现有方法相比,在以总体测试桩复杂度为评价指标时,提出的方法结果更优.

全文