下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南京邮电大学毕业设计(论文)开题报告题目安卓环境下Web服务自动测试方法研究学生姓名班级学号专业计算机科学与技术一、 对课题任务的学习与理解1. 课题产生背景随着移动平台的发展,Web服务在移动端的应用越来越广泛,这对移动端Web服务的正确性提出了一些新的挑战。Web服务技术为软件测试带来了新的挑战。Web服务测试需要能够适应面向服务的新的分布式计算体系架构。为保证服务的质量,Web服务需要从多个层次进行验证与确认,包括基础设施、单元服务、集成服务等;测试需涵盖服务的功能、性能、可靠性、安全等各个方面。另一方面,随着智能手机的不断普及,移动网民越来越多,Web服务也越来越适合于为移动设备提供服
2、务。Web服务和移动设备的结合,必将推动移动应用和移动互联网的发展。而安卓平台也越来越流行,这就使得有必要在安卓环境下研究Web服务自动测试方法,研究在安卓平台下Web服务的解决方案并实现。2. 课题实现目标本课题要求理解Web服务和测试相关知识,了解分析基于WSDL接口说明的Web服务自动测试方法。要求根据Web服务的WSDL描述,研究Web服务测试用例自动生成方法,并对实际真实的Web服务进行Android平台下的自动测试演示。具体的课题成果形式包括:(1) Android平台下基于WSDL规格说明的Web服务自动测试方法及其演示;(2) 提交毕业设计报告及其相关电子文档。二、 文献调研综
3、述1. Web服务概述Web服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。根据W3C的定义,Web服务(Web service)应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序接口(API)所组成的,它们通过网络,例如国际互联网(Internet)的远程服务器端,执行客户所提交服务的请求。Web服务过程中会由服务器提供一个机器可读的描述(通常基于WSDL)以辨识服务器所提供的Web服务。另外,虽然WSDL不是SOAP服务端点的必要条件,但目前基于Java的主流Web服务开发框架往往需要WSDL实现客户端的源
4、代码生成。概括来说,Web服务主要包含以下三个方面的内容,如下图1所示。图1 Web服务的基本组成(1)SOAP:一个基于XML的可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是HTTP或HTTPS,但也可能是SMTP或XMPP。(2)WSDL:一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。(3)UDDI:一个用来发布和搜索WEB服务的协议,应用程序可借由此协议在设计或运行时找到目标WEB服务。2. WSDL概述Web服务描述语言(Web Services Description Language,WSDL)是用XML文
5、档来描述Web服务的标准,是Web服务的接口定义语言,它用一种和具体语言无关的抽象方式定义了给定Web服务收发的有关操作和消息,与XML一样,具有可扩展性。通过WSDL可以描述web服务的以下三个基本属性:服务做些什么:服务所提供的操作(方法);如何访问服务:和服务交互的数据格式以及必要协议;服务位于何处;协议相关的地址,如URL。WSDL是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。WSDL首先对访问的操作和访问时使用的请求/响应消息进行抽象描述,然后将其绑定到具体
6、的传输协议和消息格式上以最终定义具体部署的服务访问点。相关的具体部署的服务访问点通过组合就成为抽象的Web服务。 3. WSDL结构一个基本的WSDL文档包含7个重要的元素。下面将分别介绍这几个元素以及他们的作用。WSDL文档在Web服务的定义中使用下列元素:(1) Types:数据类型定义的容器,它使用某种类型系统(一般地使用XML Schema中的类型系统)。(2) Message:通信消息的数据结构的抽象类型化定义。使用Types所定义的类型来定义整个消息的数据结构。(3) Operation:对服务中所支持的操作的抽象描述,一般单个operation描述了一个访问入口的请求/响应消息对
7、。(4) Port Type:对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或多个服务访问点来支持。(5) Binding:特定端口类型的具体协议和数据格式规范的绑定。(6) Port:定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。(7) Service:相关服务访问点的集合。4. Android简介Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,它采用了软件堆层(software stack)的架构,主要分为三部分。底层Linux内核只提供基本的功能。其他的额应用则由各软件公司自行开发,部分
8、程序以Java开发。Android不仅是一个操作系统,更是一个开源的体系架构。Android软件平台从上到下主要由五个部分构成:应用程序、应用程序框架、程序库、Android运行库以及Linux内核。Android程序包括以下四部分:Activity,Broadcast Intent Receiver,Service,Content Provider。5. 独立的Web服务测试Web服务首先作为独立的功能节点发布,再通过工作流定义和解析动态集成为完整的业务流程。独立的Web服务测试就是从以下三个方面保证各服务节点的质量:(1)服务的实现应在功能、性能等各方面与发布的服务描述相一致。为验证一致性
9、,除服务提供者外,服务中介及用户都应能在一定的安全约束下,远程测试该服务。(2)由于服务发布的开放性,对于每一个服务请求,可能存在多个满足需求的服务描述。服务中介应能根据一定的度量和评价标准,对多个服务进行测试、比较和评估,并依照需求的满足程度排序。(3)在服务实现的演化过程中,应建议一定的机制来支持对不同版本的跟踪及回归测试。6. 集成的Web服务测试通过对服务流描述的解析,Web服务可以动态地集成。Web服务集成的描述、解析和执行将是Web服务区别与其它分布式计算技术的一个主要特征。目前已经提出了多种Web服务描述语言,如IBM的WSFL,微软的XIANG,以及IBM的BPEL4WS。集成
10、的Web服务测试就是在服务流描述执行前,通过静态验证以及动态模拟的方法,确认服务描述能够正确地描述业务需求,能够由服务中介正确地解析,并能由所有服务节点正确地执行。7. Web服务测试组织和管理传统的应用系统开发中,测试过程和测试资产通常为集中管理和监控的模式。在传统的测试流程中,测试架构人员根据系统特征点,设计测试用例和测试场景。测试工程师执行测试,捕捉测试结果,报告缺陷,并跟踪缺陷的修复过程。对于修复的系统,还要通过回归测试来确认缺陷已经被正确地更改,并且系统没有引人新的缺陷。Web服务的分布式特征使这一过程变得更加复杂。如图2所示,服务提供者、中介和使用者三方需要在一个分布合作的环境下,
11、共同建立和维护测试方案、测试结果、和缺陷数据库,跟踪缺陷修复过程。测试及回归测试都必须通过自动化的测试引擎,通过互联网远程调度、执行。为模拟用户的实际应用环境和场景,亦需在一个分布式的环境下,统一调度多个测试引擎。不同测试方案、测试引擎和测试运行的测试结果需要能够进行综合和分析,并最终给出评价结果。图2 Web服务测试组织8. 测试数据的产生(1)简单数据类型测试数据的产生扩展后WSDL中简单数据类型可以分为内置数据类型和派生数据类型。当抽象模型中(pN)(x= )(qS)时,该数据类型为内置数据类型;当(pN)(x )(qS)时,该数据类型为派生数据类型。当数据类型为内置数据类型时,根据内置
12、数据类型本身所允许的值域来产生测试数据:对于数值型,产生的测试数据包括该数据类型所允许的有效值以及不属于该类型的无效值;对于字符串型,产生的测试数据包括最小长度和最大长度之间的随机组合的有效测试数据以及之外的无效测试数据。当数据类型为派生数据类型时,根据不同的刻面约束产生测试数据。首先通过数据类型和刻面约束表达式x将值域划分为有效等价类和无效等价类,再分别从有效等价类和无效等价类中随机选取一定数量的测试数据并用边界值策略作为补充,同时判断补充的测试数据是否有效:如果有效,则加入有效测试数据集,否则加入无效测试数据集。(2)复杂数据类型测试数据的产生 WSDL中的复杂数据类型结构采用的是XML
13、Schema中的结构,包括sequence,choice,all 3种,则D中元素d可以取值为sequence,choice或all。d的取值不同,产生测试数据的规则也不同。规则1:若d=sequence,实例文档中该结构的每个子元素必须且仅需出现一次,且按定义的顺序出现;规则2:若d=choice,实例文档中仅允许出现这个结构中的一个子元素;规则3:若d=all,实例文档中该结构中的每个子元素都可以按任意顺序出现或者根本不出现。算法1测试数据的生成算法GenTestData输入:数据类型的定义元素TypeElement输出:测试数据TestDataTestData= ; /初始化TestDa
14、taType=GetType (TypeElement); /获取数据类型Switch(Type)Case build-in type:TestData=GenTestDataForSimpleType(Type,DefaultRestriction); /根据默认的刻面约束产生测试数据Case derived type:Restriction=GetRestriction(TypeElement); /获取自定义的刻面约束TestData=GenTestDataForSimpleType(Type,Restriction); /根据自定义的刻面约束产生测试数据Case complex typ
15、e:TD= ; /初始化所有子元素测试数据组成的集合d=GetStructure(TypeElement); /获取结构For each SubElement in TypeElementTestDatai=GenTestData(SubElementi); /为每个子元素产生测试数据TD.add(TestDatai); /加入到TDFor each SubElement in TDIf(Ni/Sum)Wi)TestDatai=SelectTestData(TestDatai,Ceiling(Sum*Wi); /从TestDatai中选择Ceiling(Sum*Wi)个测试数据,并用选择后的测
16、试数据代替初始的TestDatai,Ceiling表示向上取整If(d=sequence)TestData=GenForSequenceStructure(TD); /根据规则1将TD中子元素的测试数据进行顺序组合Else If(d=choice)TestData=GenForChoiceStructure(TD); /根据规则2将TD中子元素的测试数据作为单独的测试数据Else If(d=all)TestData=GenForAllStructure(TD); /根据规则3将TD中子元素的测试数据进行随机组合主要参考文献:1 Canfora G, Di Penta M. Service-Or
17、iented Architectures Testing: A Survey. A. De Lucia and F. Ferrucci (Eds.): ISSSEJ, 20062008, LNCS 5413, 2009: 78105.2 喻坚,韩燕波.面向服务的计算-原理和应用(第一版)M.北京:清华大学出版社,2006.3 白晓颖,赵冲冲,戴桂兰.Web服务测试研究J.计算机科学,2006,33(2):252-256.4 杨利利,李必信. Web服务测试问题综述J. 计算机科学,2008,135(19):258-265.5 Bai X, Wang D, Tsai W, and Chen Y
18、N. WSDL-Based Automatic Test Case Generation for Web Services Testing. In Proceedings of the IEEE international Workshop(SOSE)J, 2005: 215-220.6 S. Schrittwieser, P. Frhwirt, P. Kieseberg, M. Leithner, M. Mulazzani, M. Huber, and E. Weippl, “Guess Whos Texting You? Evaluating the Security of Smartphone Messaging Applications,”J. Proceedings of the 19th Annual Symposium on Network and Distributed System Security, 2012.7 刘德宝.Web项目测试实战M.北京:科学出版社,2009.8 张利国,龚海平,王植萌.Android移动开发入门与进阶M.北京:人民邮电出版社,2009.9 Michael P. Papazoglou,龚玲.Web服务原理和技术M.北京:机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【要素式示范文本】2026机动车交通事故责任纠纷民事起诉状
- 快速康复之胆囊结石
- 小儿流涎的康复护理
- 以患者为中心的院内血糖管理
- 2025年泉州丰泽国有投资集团有限公司招聘真题
- 2025年潍坊高新区招聘事业编制教师考试真题
- 2025年金华永康市市属国企招聘考试真题
- 2026年德阳市广播电视台(融媒体中心)人员招聘考试备考试题及答案详解
- 2026江苏润湖健康产业发展有限公司招聘4人考试备考试题及答案解析
- 2026河北衡水景县公安局公开招聘警务辅助人员12名考试模拟试题及答案解析
- 9.1 青藏高原 课件 人教版初中地理八年级下册
- 绿化部门油品管理制度
- 2025至2030年中国卡纸包装盒行业投资前景及策略咨询研究报告
- 【公开课】巴西+课件-2024-2025学年七年级地理下学期人教版
- 部队文职协议班合同
- 人工智能技术在职业技能提升中的心得体会
- 2025年春新北师大版数学七年级下册课件 第四章 三角形 问题解决策略:特殊化
- 民族团结先进班集体事迹材料7篇
- 【MOOC】金融学-郑州航空工业管理学院 中国大学慕课MOOC答案
- 华南理工大学《工程热力学》2022-2023学年第一学期期末试卷
- OTIS奥的斯XIOTIS西子奥的斯扶梯GECS扶梯调试手册
评论
0/150
提交评论