● 摘要
Web服务(Web Services)是一种新兴的分布式计算模型,其分布式、可集成、代码不可见等特点,对传统的软件测试技术提出了巨大的挑战,与Web服务相关的测试技术的研究成为热点。测试用例生成一直是软件测试技术研究中的一个重要方面,目前,测试用例生成技术多是基于某种形式化或半形式化的规约产生测试用例,如基于UML模型、基于模型检测的测试用例生成方法等,但这些方法还存在一些问题,如:产生的测试用例针对性不强(UML),对复杂系统进行处理时可能存在问题(模型检测)等。针对以上问题,本文研究一种基于OWL-S(OWL Web Ontology Language for Services)需求模型的测试用例自动生成方法,针对被测系统需求特性产生测试用例,以提高Web服务交互测试的自动化程度和效率。需求模型中包含用OWL-S中的ProcessModel实例描述的被测Web服务系统的应用流程,还包括使用SWRL(Sematic Web Rule Language)和LTL(Linear Temporal Logic)描述的需求特性(即测试目标)。交互性是Web服务的一个显著的特点,在Web服务系统的交互测试中,需求特性主要关注与Web服务交互相关的特性。本论文的主要内容包括:(1) 事件集划分方法的研究。研究在测试用例生成过程中如何利用抽象的需求特性提供的信息,使得最终产生的测试用例与需求特性相关。本文的方法是从需求特性公式获取具体的事件集的集合,以便于利用事件集选择测试路径。(2) 测试路径生成算法及测试路径向测试用例转化方法的研究。结合OWL-S中ProcessModel实例的结构特点设计测试路径生成算法,利用事件集在ProcessModel实例描述的应用流程图中搜索有效的测试路径。对复杂模型算法会在搜索过程中利用事件集不断对分支、循环结构的子路径进行过滤,以减少最终产生的测试路径的数量。利用OWL-S中过程本体的IOPE属性和条件信息研究测试路径到测试用例之间的转化方法。(3) 基于OWL-S的测试用例生成系统的设计与实现。基于本文提出的测试用例生成方法,设计并实现了一个测试用例自动生成系统。论文最后构建了OnlineShopping 系统针对测试路径生成算法和产生的测试用例的测试效果进行实验验证。实验结果表明:本文的方法按要求产生了与需求特性相关的测试用例,覆盖了所有的需求特性,并有效的检测出系统中存在的错误。