1、引言
随着Web服务技术的发展,由于其实现了不同架构、不同语言工具间的通信,Web服务在人们的工作生活中发挥着越来越重要的作用,如果Web服务的出现质量问题,将给服务发布者和使用者带来重大损失。由于Web服务具有自身独有的特点,传统的API测试方法已经不能适应Web服务类软件的测试要求。虽然近些年Web服务类测试方法进行了大量的研究,但依然存在不足,研究的重点一般也重点关注的是自动化的用例执行方式,自动化测试分析的工具却很少。开发一款支持Web服务的自动化分析与执行测试工具将具有非常重要的现实意义。
2、Web服务与Web服务自动化测试
2.1 Web服务介绍
Web服务是一种基于XML数据格式,在HTTP上传输的服务应用。它是一种松耦合、跨技术、开放的软件应用模式。Web服务由服务发布者、Web服务使用者和Web服务注册媒介三部分构成,Web服务的核心内容是XML、SOAP、WSDL和DDI。Web发布者负责开发Web服务,通过Web注册媒介注册发布Web服务,Web服务注册媒介通过WSDL向Web服务使用者提供Web服务信息,Web服务使用者通过查询UDDI注册中心,查找需要的Web服务,通过SOAP消息发送服务请求,Web服务处理服务请求并返回处理结果。Web服务实现了在互联网环境下异构系统间的远程调用。
2.2 基于基本测试路径的Web服务自动化测试方法
基本测试路径是白盒测试中用于程序内部逻辑分析,生成测试用例的方法。它是在程序流程图的基础上,分析程序运行的路径,推导出测试用例。每一条基本测试路径至少包含一条其他基本路径没有包含的逻辑分支,基本测试路径的分析方法保证了程序的每一个逻辑分支和每一条语句都得到测试的同时,测试用例达到最少。
在Web服务功能测试中,不仅需要测试单个服务方法的运行结果,也要测试服务方法组合调用的业务流程,这与白盒测试中程序内部逻辑测试相似,因此将基本测试路径生成的方法运用到Web服务流程测试中,产生的基本测试路径既能覆盖所有业务流程分支,也能覆盖所有测试业务流程中所有Web服务方法,同时测试用例的数量达到最少,减少了测试用例的冗余,增加了测试有效性,非常适合Web服务流程测试。
常见的自动化的测试工具一般是提供用例设计程序和自动化执行程序,由测试人员编写测试脚本或者以录制的方式生成测试脚本,由自动化测试工具执行。基于基本测试路径的Web服务自动化测试方法将依据业务流程图,按基本测试路径的生成方法,自动生成基本测试路径,并提供依据基本测试路径设计测试用例,自动执行测试和收集测试结果的功能,实现测试分析自动化和测试执行自动化,为测试分析、测试设计与测试执行提供方便。
到目前为止,还没有一款能实现整个测试过程的全自动化测试工具,也不可能存在这样的自动化测试工具,只能将测试过程中一些具有规律性、重复性的操作采用测试工具自动化执行,提高测试效率。将基本测试路径方法运用到Web服务测试中,自动生成测试路径,将减少人为因素导致测试路径覆盖性不够或者测试路径冗余的问题,同时将其它过程实现部分自动化,减少了测试人员的工作量,提高了测试质量,缩短了整个测试进度。
3、Web服务自动化测试工具的设计与实现
3.1 设计思路
为了实现基于基本测试路径的Web服务自动化测试工具,主要进行了以下设计和考虑:
(1)提供业务流程图设计器:测试人员可以依据测试业务需求,画出业务流程图。
(2)提供自动生成基本测试路径功能:测试工具依据业务流程图,自动将业务流程图转化为控制流图,依据基本测试路径的生成算法自动生成基本测试路径。
(3)提供建立Web服务映射功能:测试工具提供依据Web服务地址自动生成客户端代理,并展示Web服务信息,显示Web服务方法的名称、参数等信息。
……………………
查看全文请点击下载:http://www.51testing.com/html/32/n-827732.html
3.2.2 基本测试路径生成器
测试工具依据业务流程图按照基本测试路径生成的方法生成基本测试路径。将活动转换为简单的图形符号,分别列出各条基本测试路径上的活动。并展示图形符号与活动的对应关系。同时也给出原始活动的基本测试路径展示,方便用户了解测试路径代表的业务流程。基本测试路径生成器运行界面如图 3:
图 3 基本测试路径生成器运行界面