论文部分内容阅读
SOA是一种架构风格,将应用程序的不同功能单元(服务)通过定义良好的接口和约定联系起来。Web Service是面向服务架构的一种标准实现,以基于XML的SOAP为基础,实现消息传递,从而达到了平台无关、互操作性强、灵活性高等特点。但是,随着软件系统需求的增加和应用规模的扩大,Web Service所处的软件体系结构也变得越来越复杂。因此,对Web Service性能指标(如响应时间、吞吐量)的要求,也变得越来越高。所以,如何在一个复杂的Web应用程序里,准确、高效地执行Web Service的性能测试,是一个重要的课题。本课题针对当今Web Service性能测试领域所面临的主要问题与挑战,对一种自动化性能测试方法进行了探究,具有一定程度的挑战性。课题在深入分析Web Service性能测试瓶颈的基础上,提出了一套基于JMeter的自动化性能测试流程,并通过扩展当下性能测试工具的功能予以实现。首先,本文针对Web Service以及性能测试在国内外的发展现状进行了综述,对相关理论和技术进行了介绍。其次,提出了一种基于JMeter的自动化性能测试框架——WSTDG,深入分析了它的原理和工作流程。该框架能够自动解析WSDL文档,将数据结构、操作、端口等重要元素解析处理,生成服务所支持的Operation。对于需要测试的Operation,该框架能够自动生成JMeter性能测试所需的测试配置和测试数据,直接用于JMeter来执行自动化测试。WSTDG框架通过一种Java应用程序,用于实际的性能测试操作。在此基础上,通过分析JMeter源代码及它的工作流程,开发了一种JMeter插件——WSTDG Sampler,集成到JMeter中,更加简单、高效地完成Web Service自动化性能测试。本文将WSTDG框架应用于地税智能办公系统的性能测试,相比较于传统测试方法,WSTDG自动化测试方法有助于软件测试人员专注于测试用例的设计,而不必分析复杂的WSDL文档。实验结果表明,WSTDG自动化测试方法能够明显减少设计测试用例所耗费的时间,提高测试用例的质量,减轻测试人员的负担,从而提高性能测试的效率。