论文摘要
随着信息技术的飞速发展,软件的应用领域不断扩大,但是软件的可靠性和质量却没有得到相应的提高,这成为制约软件产业发展的一个重要因素。工业控制、交通、金融和医疗等领域都迫切需要高质量、高可靠性的软件系统,此类软件的失效会引起巨大的经济损失。软件测试技术可以用于估计和改善软件的可靠性,有效的提高软件的开发质量。由于软件测试在软件质量保证和软件可靠性验证中的重要作用,其受到了广泛的重视和比较深入的研究。SOA(Service-Oriented Architecture)是一种进行分布式开发的新体系结构。在基于SOA架构的应用系统中,系统的功能是由一组松散耦合、位置透明并且具有统一接口定义方式的服务组合构建起来的。SOA技术在解决企业信息系统集成方面有重要作用,该技术在短时间内得到了广泛的认可和应用。由于SOA与传统的软件开发架构差异很大,SOA的系统测试难度很大,目前尚无成型的解决方案。本文首先将SOA系统的测试活动分为三个方面,分析了这三方面活动的关系。鉴于变异测试在SOA系统测试中取得的成功,在前人的基础上提出了基于合约变异的服务测试改进方法,该方法避免了先前方法在测试等价类判断中的一个缺陷,在实际测试中也得到了良好的效果。在基本合约变异方法的基础上,提出了一种基于人工免疫系统的服务变异测试方法。通过人工免疫系统可以有效的优化选取测试所需的变体,从而提高了测试的效率。最后讨论了变体耦合效应的理论模型,给出了变体优化的重要原则,为整个SOA服务变异测试的优化提供了理论依据。