论文部分内容阅读
随着互联网的快速发展,软件需求不断增多,系统的设计也逐渐复杂化,因此也增大了组合测试的难度。组合测试的目的是使用尽可能少的测试用例对系统进行测试,以此检测系统可能存在的问题。组合测试的研究热点之一就是组合测试用例的生成,即需要在满足给定组合覆盖需求的前提下生成数量尽可能少的测试用例集。在组合测试之前,需要提取多无人机任务分配系统中的约束关系,若软件中的约束关系提取不全,可能生成一些无效的测试用例,降低软件测试工作的效率。由于多无人机任务分配系统中需要考虑的约束关系很多,因此在对无人机任务分配系统测试之前,其中的约束关系提取是个重要问题。针对上述问题,本文的主要工作如下:(1)提出了一种基于语义推理的约束关系的提取方法。考虑到多无人机任务分配系统在不同时刻,无人机和任务之间的约束关系可能不一样的问题,因此使用通过语义推理总结系统中的因素的约束关系,再结合实际取值,生成需要覆盖的组合集,减少了覆盖组合集的规模,避免产生无效组合;(2)提出了新的基于组合覆盖的优先级度量函数。对上一阶段生成的需要覆盖组合集中的组合进行优先级度量,选择优先级最高的组合,使被选中的组合对其他组合的覆盖率最高;(3)提出一种基于改进粒子群算法的测试用例生成方法。该方法将改进的粒子群算法与one-test-at-one-time策略相结合,确定上一步所选组合中的待定值,生成多无人机任务分配系统的测试用例集。改进的粒子群算法结合人工免疫算法中的亲和度思想,采用信息熵的计算方法来评价粒子的聚集程度,从而改善了粒子群算法在迭代前中期由于粒子多样性减少而导致“早熟”的问题,减少了生成测试用例的数量。(4)搭建了一个在线测试平台,能够对多无人机任务分配系统进行在线测试。使用selenium自动化测试框架将生成的测试用例集转换成测试脚本,对多无人机任务分配系统进行自动化测试。实验结果表明,本文提出的基于语义推理的约束关系提取方法,能够成功推理出多无人机任务分配系统中无人机与任务间的隐含关系,根据约束关系得出的约束条件更加全面;提出的改进的优先级度量方法对需要覆盖的组合集中的组合进行了优先级度量,避免随机选择,提高了所选的组合的质量;改进的粒子群算法为所选的组合中的待确定值选择一个合适的值,为多无人机任务分配系统生成数量少且覆盖范围广的测试用例集。