论文部分内容阅读
随着Internet的迅猛发展,企业电子商务水平的日新月异,开发传统的集中式软件所使用的开发平台、开发工具、操作系统在体系结构上的紧耦合性,使得物理分散的独立系统逐渐形成了所谓的“信息孤岛”。由于面向服务的架构(SOA)具有异构性、粗粒度、松耦合、易复用、可集成等特性,逐渐成为企业消除“信息孤岛”、构建企业级分布式集成解决方案的首选。但是,如何保证基于SOA架构的服务软件质量、开发效率、服务性能成为服务软件产业发展的核心议题之一。众所周知,软件测试作为保证软件质量的有效手段,在软件的生命周期中占有十分重要的地位。而学术界和企业界都普遍认为:高效、高质量的软件测试工具和方法有利于降低测试成本,提高软件可靠性,最终保证软件质量。软件自动化辅助测试工具一直是测试人员梦寐以求的利器,目前,面向服务的软件开发领域正缺乏高效的辅助测试工具。本文在研究SOA体系结构的前提下,针对服务软件的特性,提出了从需求分析报告自动产生测试用例、测试工具执行测试用例并生成测试报告的自动化辅助测试方法,本文研究的主要内容如下:(1)本文提出了一种改良测试用例文档生成方法(Ameliorative Test Case DocumentationBuilding Algorithm),该算法首先采用最大正向匹配分词算法解析需求规格说明书,获取功能性能描述的关键词列表,接着解析web服务的描述文档——WSDL文档,获取该文档所包含的web服务详细信息(如:服务地址、功能描述、接口参数、前置条件),最终生成基于xml语言的测试用例文档,较好地辅助测试人员消除了测试用例文档的二义性。(2)本文分析了SOA(面向服务的架构)特点、组成部分、使用规范、标准、以及基于SOA服务软件的组装、集成过程。剖析了常用测试方法测试服务软件过程及其缺陷,在此基础上,本文提出了一种基于SOA的服务软件自动化测试模型SATM(Service Auto TestingModel)。(3)本文在采用形式化方法描述服务软件内部结构的基础上,提出了一种针对复合web服务软件的自动化测试算法SATA(Service Auto Testing Algorithm),该算法能够解析服务软件的内部组装关系,较好地解决了复合web服务的测试问题。(4)本文在此研究基础上,设计并实现了一个基于SOA的软件自动化辅助测试工具原型SATT(Service Auto Testing Tool),该原型工具既可以对服务软件进行单元测试,也可以对复合web服务集成软件进行功能测试,实验表明:SATT可以有效地辅助测试人员减少服务软件的测试时间,提高测试效率,从而降低了软件开发、测试成本。