定向多目标搜索的单元测试生成方法研究
1. 算法操作符
在测试算法中,采用了变异和交叉操作符来生成新的候选解决方案。
- 交叉操作符 :只改变序列中的写入方法来生成新的子方案。具体做法是将一个解决方案中的写入方法附加到另一个解决方案中,从而合并两个解决方案并创建两个新的解决方案。新解决方案中的输入测试数据会更新为默认值,而观察者保持不变,因为它们用于跟踪被测单元(CUT)的状态。
- 变异操作符 :更新作为输入使用的值。例如,在调用 add 方法时,原解决方案使用值 10 作为参数 v1 的输入,应用变异操作符后,会生成三个新的解决方案,分别将 v1 的值递增(解决方案6)、递减1(解决方案7)和乘以 -1(解决方案5)。
2. 解决方案评估
对每个候选解决方案进行执行,并根据主要和次要目标评估其执行跟踪。执行跟踪包含了关于执行了哪些类型语句的信息,整个评估过程由以下算法实现:
Input: Population of candidate solutions to evaluate population, target goals
structure goals containing primary and secondary goals
1 foreach candidate solution soli ∈ population do
2 result = Execute(sol
超级会员免费看
订阅专栏 解锁全文

1875

被折叠的 条评论
为什么被折叠?



