[发明专利]一种基于接口语义契约模型的Web服务建模与测试方法有效
申请号: | 201210566806.8 | 申请日: | 2012-12-24 |
公开(公告)号: | CN103064788A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 白晓颖;侯可佳;李树芳 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/44 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 薄观玖 |
地址: | 100084 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 接口 语义 契约 模型 web 服务 建模 测试 方法 | ||
技术领域:
本发明涉及计算机软件领域,特别涉及基于模型的测试自动化领域。
背景技术:
随着软件服务化的发展,越来越多的软件提供商将软件以服务接口的形式通过互联网向外提供功能,软件开发方式从传统的程序设计转变为利用互联网上可用的服务进行组合。Web服务(Web Service)是实现面向服务计算的主要技术,提供了一套基于标准的服务发布、发现和组合机制以及整合分布式服务组件的开放平台。
Web服务在提供灵活多变的应用架构的同时,也对测试提出了更高要求.首先,服务需要快速、灵活地在线升级演化,服务更迭频繁,因此,快速、有效、持续在线的回归测试成为测试的一个难点。其次,服务的应用场景多样,输入数据不可预测,因此需要大量测试用例提高测试充分性。传统的手工测试资源耗费大且测试充分性难以保证,自动化测试成为服务测试的一个必然发展趋势。Web服务接口信息均遵照基于XML的标准规范进行描述,可以通过工具自动分析其相关文档获取数据结构、接口操作及其语义等必要的测试信息,使服务自动理解、测试自动生成、以及基于Web服务标准的测试自动执行成为可能。通过测试自动化,可有效增强测试用例、测试脚本等测试资产的可重用性,提高测试效率和服务质量,降低测试代价。
在基于服务的软件中,服务接口——如Web服务的WSDL(Web Service Definition Language)——为用户提供标准的软件功能以及参数、返回值等信息的描述,可将其视为设计服务测试的功能需求,是服务提供和服务使用之间互操作的基础,构建了开放的互联网环境中,服务提供商和用户之间的一种基于契约的合作模式,双方对契约理解的一致性是服务能够正确使用的基础。然而,服务提供时通常有适合的应用范围和场景,例如参数的取值范围、操作的调用顺序等;服务使用也建立在对服务的某些隐含假设之上。现有的服务接口规约的描述能力非常有限,缺少足够的信息, 尤其是服务操作和集成的语义信息,无法准确表达这些隐含的约束限制条件,常常造成双方对服务理解的不一致,从而导致运行错误。
针对上述问题,本发明出了一种基于模型的Web服务测试自动化方法,主要由三部分组成:(1)建立服务接口语义契约模型,以扩展现有服务接口描述能力;(2)基于接口数据本体描述生成分区测试数据,为测试用例设计提供输入;(3)基于规则的测试断言生成,为测试用例设计提供预期输出结果。
接口语义契约从以下两个方面扩展服务接口描述:
1. 基于契约设计的思想,建立接口的契约模型。契约模型规定了服务之间的数据依赖关系和控制依赖关系,为服务调用以及服务之间的协同合作提供了所需的场景信息,并定义了在相应场景下的预期结果。
2. 引入基于语义的知识表达技术,定义通用的领域概念模型。本体模型定义了数据类型、数据之间关系、数据的约束限制条件等领域知识。
基于本体的数据生成采用分区测试方法。分区测试是一种广泛应用的测试数据设计方法,其基本思想是将输入数据和环境变量等服务参数划分为多个子域,这样的子域被称作数据分区。根据不同的覆盖率要求,应用不同的策略从这些分区中选择测试数据进行测试。分区测试的有效性很大程度上取决于分区设计算法、分区及其数据是否能够有效发现缺陷,满足覆盖率的要求。传统方法中,分区往往根据测试人员的直觉和经验手动生成,自动生成技术也只能局限于语法信息,例如基于对某特定编程语言中数据类型的分析。本发明的方法中,引入服务的语义信息,通过语义分析,识别数据之间的关系,提高所生成数据分区的有效性。
本发明所提出的测试方法,对实现Web服务的测试自动化,进而提高服务质量、建立用户信任具有重要意义。
发明内容
本发明采用基于模型的软件测试自动化技术,给出一种接口语义契约模型和基于本体知识描述的测试数据生成方法。方法针对目前广泛应用的Web服务测试问题,要求目标系统满足一下条件:(1)被测软件具有明确的服务接口定义;(2)被测软件可获取通用的领域知识,如数据类型及关系的定义等;(2)被测软件可获取其特定服务应用的知识,如数据和操作的约束依赖关系等。
本发明所提出的方法,是在网络络环境下,针对已经发布的Web服务软件S,依次按照以下步骤进行建模与测试:
步骤(1) Web服务平台初始化
输入:Web服务的类型、名称、描述、参数、参数类型和参数描述;
Web服务所需要的接口操作集合以及每个接口所需要的输入参数和输出参数;
Web服务的领域概念以及各种约束依赖关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210566806.8/2.html,转载请声明来源钻瓜专利网。