摘要

集成测试序列生成是软件集成测试研究中的一个重要课题,合理的测试序列可以在提高集成测试效率的同时有效降低测试代价。面向服务的架构SOA(Service-Oriented Architecture)是近年来在企业中被广泛应用的一类分布式架构,目前针对SOA架构中集成测试序列生成的相关研究较少。由于SOA架构中服务间组合具有多态性,单纯使用传统的自顶向下和自底向上等集成测试策略,无法得到SOA架构中服务软件之间的集成测试序列,而目前以面向对象系统中类簇为对象的集成测试序列生成研究又很难适应SOA架构中服务之间复杂的耦合关系。基于此,提出了一种基于遗传算法的集成测试序列生成方法,用于解决SOA架构中服务软件之间的集成测试问题。该方法提出了利用服务特征组的概念表征集成测试影响因素和利用集成测试优先度的概念来表征服务软件的集成测试重要度的基本思想,同时构建了测试依赖图,用于描述SOA架构中服务软件之间的复杂耦合关系,在此基础上提出了面向测试依赖图的测试优先度算法,并以降低测试代价为最优化目标设计了遗传算法,用于生成集成测试序列。最后通过实例验证了所提方法的可行性和正确性,结果表明,所提方法能够生成测试优先度相对较高的节点优先集成和测试代价较低的服务软件集成测试序列。