(计算机软件与理论专业论文)一种基于扩展wsdl的测试数据自动生成方法.pdf_第1页
(计算机软件与理论专业论文)一种基于扩展wsdl的测试数据自动生成方法.pdf_第2页
(计算机软件与理论专业论文)一种基于扩展wsdl的测试数据自动生成方法.pdf_第3页
(计算机软件与理论专业论文)一种基于扩展wsdl的测试数据自动生成方法.pdf_第4页
(计算机软件与理论专业论文)一种基于扩展wsdl的测试数据自动生成方法.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机软件与理论专业论文)一种基于扩展wsdl的测试数据自动生成方法.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 一种基于扩展w s d l 的测试数据 自动生成方法 计算机软件与理论专业硕士研究生李盛钢 指导教师丁晓明副教授 摘要 随着时代和技术的发展,s o a 以其松散耦合性、高度可集成性、数据信息规范性和数据 可复用性等特点备受人们的青睐。w e b 服务( w e bs e r v i c e ) 是实现s o a 的方式之一,它以 x m l 、w s d l 、s o a p 和u d d i 为核心,引入了一种w e b 应用的开发、部署和集成新模式。 为了确保w e b 服务的质量,必须对其进行有效的测试,而测试的关键在于测试数据的生成上, 快速而简便的生成测试数据成为保证w e b 服务质量的关键要素之一。 本文在对w 曲服务、软件测试技术、测试用例自动生成技术的深入研究基础上,针对目 前w e b 服务测试用例自动生成研究中存在的测试用例产生的数据类型单一、生成测试用例集 不充分、测试用例数目庞大、测试用例带有主观人为因素等问题和w e b 服务对服务调用者透 明性的特点,提出了一种基于扩展w s d l 的w e b 服务测试数据自动生成的新方法,该方法能 够有效生成测试数据。本文主要工作如下: 1 研究了s o a 及w e b 服务测试的相关概念和技术,并分析了相关技术的不足 2 研究w s d l 并扩展了w s d l 的类型定义。通过在t y p e s 元素中添加d a t a d e s c r i p t i o n 元素来扩展w s d l ,用来描述数据类型的基类、显式刻面约束和隐式刻面约柬。 3 简单测试数据的生成。通过数据类型的基类及相关约束就可以根据相关黑盒测试方 法( 等价类划分法、边界值分析法、随机法等) 有效的生成简单测试数据,同时规定简单测 试数据的有效性。 4 复杂测试数据的生成。复杂测试数据的生成包括3 种:c h o i c e 型、a 1 1 型和s e q u e n c e 型。本文着重讲解了运用最多的s e q u e n c e 型复杂测试数据生成方法,并将d o 算法运用到了 w e b 服务测试数据生成上来;针对w e b 服务测试数据的有效性,运用了相关的约束策略;最 后通过对参数排序的方法,在i p o 算法基础之上提出了e x t e n d e di p o 算法,以此来生成复杂 测试数据。 5 为了验证本文所提出的基于扩展w s d l 的w e b 服务测试数据自动生成方法的可行性 和有效性,本文开发出了一个w e b 服务测试数据生成工具w s t d g t ( w e bs e r v i c et e s td a t a g e n e r a t i o nt 0 0 1 ) 并进行相应的仿真及对比实验。实验表明:针对w e b 服务对服务调用者的透 明性,本文提出的基于扩展w s d l 的测试数据自动生成方法能够快速而有效的生成w e b 服务 的简单测试数据和复杂测试数据,并能够有效避免人为主观因素带来的加权问题和参数组合 爆炸问题。 关键词:w s d l 测试数据w e b 服务软件测试 a bs t r a c t am e t h o do fa u t o m a t i ct e s td a t a g e n e r a t i o nb a s e d0 ne x t e n d e dw s d l m a jo r :c o m p u t e rs o f t w a r ea n dt h e o r y s u p e r v i s o r :a s s o c i a t ep r o f e s s o rd i n gx i a o m i n g a u t h o r :l is h e n g g a n g a b s t r a c t w i t l lt h ed e v e l o p m e n to ft i m e sa n dt e c h n o l o g y , s o ai sp o p u l a rw i t hp e o p l e b e c a u s eo fi t sn a t u r eo fl o o s e l yc o u p l e d , h i g h l yi n t e g r a t e d ,t h en o r m a t i v ed a t aa n dd a t a r e u s a b i l i t y a saw a yt oa c h i e v es o a , 腑6s e r v i c e sp u l li nan e wm o d e lo f 胎6 a p p l i c a t i o nd e v e l o p m e n t ,d e p l o y m e n ta n di n t e g r a t i o n ,w h o s ec o r et e c h n o l o g yi s 沮, w s d l s o a pa n du d d i t be n s u r et h eq u a l i t yo fw 曲ls e r v i c e s ,t h e r em u s tb eav a l i d t e s t g e n e r a t i n gt e s td a t aq u i c k l ya n de a s i l yi so n e o ft h ek e ye l e m e n t st ow e bs e r v i c e s q u a l i t y o nt h eb a s i so fl u c u b r a t i n go nw 曲s e r v i c e s ,s o f t w a r et e s t i n gt e c h n o l o g y , t e s tc a s e s g e n e r a t e da u t o m a t i c l yt e c h n o l o g y , w ef o u n e dt h a tt h e r ew e r em a n yp r o b l e m sw h e nw e g e n e r a t e dt e s tc a s e sa u t o m a t i c l yf o rw r e bs e r v i c e s f o re x a m p l e ,i tw o u l do n l yg e n e r a t e as i n g l et y p eo fd a t af o rt e s tc a s e s ;t h o s et e s tc a s e sw e r en o te n o u g hf o rf i n d i n gm o s t o f t h ed e b u g s ;t h ea m o u n to ft e s tc a s e sw a st o oh u g e ;t e s tc a s e sp a r t l yd e p e n d e do n p e o p l e ss u b j e c t i v i t y , e t c w e bs e r v i c e si st r a n s p a r e n tt oi t sq u o t e r , s ot h i sp a p e rp r e s e n t s an e wm e t h o dw h i c hi sb a s e do ne x t e n d e dw s d lt os o l v ep r o b l e m so fg e n e r a t i n gt e s t d a t aa u t o m a t i c a l l yf o rw 曲s e r v i c e s t h i sm e t h o dc a ng e n e r a t et e s td a t ae f f i c i e n t l y t h e m a i ne f f o r t so ft h i sp a p e l w e r ea sf o l l o w i n g s : 1 s t u d i e ds o aa n dw e bs e r v i c e s sc o n c e p t sa n dt e c h n o l o g y , a n da n a l y s e dt h e d e f e c t so fr e l e v a n tt e c h n o l o g y 2 s t u d i e dt h ew s d lw h i c hw a sg e n e r a t e db vw 曲s e r v i c e sa t u o m a t i c l ya n d e x p a n d e dt h ed e f i n i t i o no fw s d l 1 0a c h i e v et h i sa i m ,w ea d d e dt h ed a t a d e s c r i p t i o n e l e m e n tt ot h et y p ee l e m e n t s ot h ee x t e n d e dw s d lc a l ld e s c r i b et h eb a s et y p e ,e x p l i c i t c o n s t r a i n t sa n di m p l i c i tc o n s t r a i n t so ft h ed a t a 3 g e n e r a t e ds i m p l et e s td a t a t h es i m p l et e s td a t aw e r eg e n e r a t e db yt h em e t h o d o fe q u i v a l e n c ec l a s sp a r t i t i o nm e t h o d ,b o u n d a r yv a l u ea n a l y s i s ,r a n d o mm e t h o d ,e t c a t t h es a m et i m e ,w ed e f i n e dt h ev a l i d i t yo ft h ed a t a 4 g e n e r a t e dc o m p l e xt e s td a t a t h e r ew e r et h r e ek i n d so fc o m p l e xt e s td a t a :t h e c h o i c et y p e t h ea l lt y p ea n dt h es e q u e n c et y p e t h es e q u e n c et y p ei su s e dw i d e l y , s ow e g a v ei tar e c o u n t a l i nt h i sp a p e rt h ep oa l g o r i t h e mw a sa p p l i e dt og e n e r a t et e s td a t af o r w 曲s e r v i c e s a n ds o m ec o n s t r a i n tw e r ea d d e dt ot h ev a l i d i t yo fc o m p l e xt e s td a t a a t 1 1 1 西南大学硕士学位论文 l a s t , w eg a v et h ee x t e n d e dp oa l g o r i t h e mw h i c hw a sg e n e r a t e db ys o r t i n gt h e p a r a m e t e r st og e n e r a t et h ec o m p l e xt e s td a t a 5 w bd e v e l o p e dat e s tt 0 0 1n a m e dw s t d g t ( w e bs e r v i c et e s td a t ag e n e r a t i o n t 0 0 1 ) t ov a l i d a t et h ef e a s i b i l i t ya n de f f e c t i v e n e s so ft h i sp a p e r si d e a a f t e rt h a t w ed i d s o m ec o r r e l a t i v es i m u l a t i o ne x p e r i m e n t sa n dc o m p a r a t i v ee x p e r i m e n t s n l er e s u l t s s h o w e dt h a t :t h em o t h e dc a ng e n e r a t et h es i m p l et e s td a t aa n dc o m p l e xt e s td a t ae a s i l y a n de f f e c t i v e l y , a n dc a l l e f f e c t i v e l yp r e v e n tt h e i n a c c u r a t ec a u s e db ya r t i f i c i a l l y w e i g h t e da n dt h ec o m b i n a t o r i a le x p l o s i o n i v k e yw o r d s :w s d l t e s td a t aw e bs e r v i c e ss o f t w a r et e s t i n g 独创性声明 本人提交的学位论文是在导师指导下进行的研究工作及取得的研究成果。论 文中引用他人已经发表或出版过的研究成果,文中己加了特别标注。对本研究及 学位论文撰写曾做出贡献的老师、朋友、同仁在文中作了明确说明并表示衷心感 谢。 学位论文作者:桩锏 签字日期i 纠。年s , 8 加日 学位论文版权使用授权书 本学位论文作者完全了解西南大学有关保留、使用学位论文的规定,有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。 本人授权西南大学研究生院( 筹) 可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书,本论文:a 不保密, 口保密期限至年月止) 。 学位论文作者签名:蝴导师签名:碰多 、 签字日期:解多月加日签字日期:沁,移年【月y j 日 第一章绪论 1 1 研究背景及意义 第一章绪论弟一早三百了匕 纵观网络技术的发展与信息化建设进程,历史上出现过x m l 、u n i c o d e 、u m l 等信息标 准,但是许多异构系统之间的数据仍然使用不同的数据模型和格式,这样就形成了大量的信 息孤岛,阻碍了信息系统之间的交互与共享。为实现企业内部软件数据之间的共享与交互, e t l ( e x t r a c t i o n - t r a n s f o r m a t i o n - l o a d i n g ,数据抽取、转换和加载) 出现了,它从源系统中提取 数据格式信息,进而将数据转换为与目标系统相兼容的格式和目标系统进行交互。这样数据 的运用必须经过获取、转换、装载、实现等复杂的数据应用过程,大大地提高了信息化应用 成本。另外,随着信息化技术发展,不同应用系统之间的交流日趋重要,在竞争激烈的市场 环境下,企业的信息化建设和现代化管理面对着巨大的挑战。在这样的社会和现实背景下, s o a ( s e r v i c e - o r i e n t e d a r c h i t e c t u r e ,面向服务的体系架构) 应运而生【l 】 1 s o a 为i n t e r n e t 上的分布式计算提供了一种基于标准的、松散耦合的、跨平台的新范 型【2 】。 2 它不再是各自独立的架构形式,而是能够轻易实现系统之间互相联系、信息共享的 新概念。 3 s o a 有可复用以往的信息化软件、松散耦合方式、简易的数据集成等特点,使得s o a 成为基于w e b 分布式系统( 如电子商务、电子政务等) 的主要发展趋势。 w e b 服务( w e bs e r v i c e ) 是实现s o a 的方式之一,它是通过标准的技术规范生成的。所 有的w e b 服务消息都通过s o a p ( 简单对象访问协议) 标准的x m l ( 可扩展标记语言) 消息 处理协议交换,然后通过h ”瞪协议实现服务对象的远程调用。在调用的过程中,用户根据 自己的需求通过u d d i ( 统一描述、发现和集成协议) 发现符合需求的服务,最后利用w s d l ( w e b 服务描述语言) 描述的接口规范编程实现接e l t 3 1 。通过采用w 曲服务,程序的流程更 改有了工具的支持,程序员不用更改大量的代码,大大降低了开发费用。 由于w e b 服务具有简单性、开放性、规范性、松散耦合性和数据高度可集成性等优点使 它成为行业追捧的新星。近年来,i n t e m e t 上出现了越来越多的w e b 服务,面对众多的w e b 服务,人们不知道哪个w e b 服务才是自己最需要的,哪个w e b 服务最符合当前项目的需求, 并且当前项目在使用这些w e b 服务的时候,还可能会出现一些隐藏的错误。w e b 服务的可信 度成为服务选择、应用和集成的关键依据之一【4 】,因此在使用w 曲服务之前必须对w e b 服务 先进行快速而必要的测试。 与传统的软件相比,w e b 服务具有分布式、多标准协议等特点,可能在硬件、软件、通 信、对象管理等各个环节出现各种缺陷,其复杂多变的结构对w 曲服务的测试提出了新的挑 战1 4 。 w e b 服务的测试的重点和难点主要有以下几个方面【4 】: 1 w e b 服务的开发环境与应用环境的不同。在应用w e b 服务之前,很难确定其访问的 用户类型、并发用户数量、w e b 服务调用的装载模式和访问方式等,无疑这些不确定因素给 西南大学硕十学位论文 w e b 服务的测试带来了困难。 2 与传统的w e b 应用程序不同,w e b 服务程序没有直接的用户界面。在测试过程中, 需要把它组合到一个界面中,然后才能与w e b 服务进行轻松交互。 3 w e b 服务测试主要基于服务接口进行设计的,一般采用自动化测试方法,与传统的 人工的测试方法截然不同。 4 w e b 服务是分布式系统,会出现不同用户通过不同环境访问相同服务的情形,因此 w e b 服务的可扩展性是测试的重要方面。 5 w e b 服务的发布、查找、发现和绑定实现动态化,动态化的过程给w e b 服务测试增 加了难度。 6 w e b 服务的安全性。由于w e b 服务访问接口和访问方法发布后,间接提高了系统被 攻击的机会。w e b 服务的安全性成为测试的重要方面。 7 w e b 服务的应用通常涉及到服务提供者、发布者和使用者三种角色,这三种角色之 间的分工协作与交流给测试的组织、管理、结果评估等活动都带来了新的问题。 8 w e b 服务的原代码对调用者是透明的,这给第三方使用者确认w e b 服务的正确性和 适宜度带来了困难。 9 在设计w s d l 和u d d i 协议时主要考虑的是功能性特征而没有很好地考虑到验证方 面的问题。 随着w e b 服务技术的高速发展和市场化,迫切要求对w e b 服务进行有效的测试,而有效 的测试关键在于测试数据的生成上。传统的w e b 服务的测试数据依靠测试人员手工设计测试 用例,这种方法费时费力,带有一定的盲目性并且容易出错。设计出一种能够自动生成w e b 服务测试数据的测试工具不但能提高测试效率和测试质量,而且从经济学角度来讲大大降低 了w e b 服务的测试成本。 基于以上问题,本文以w e b 服务测试数据的自动生成作为重点来研究w e b 服务的测试。 1 2 国内外研究现状 1 2 1w e b 服务测试的研究现状 w 曲服务技术的日渐成熟和广泛应用迫切要求w e b 服务测试技术的深入研究和不断发展。 2 0 0 8 年i e e e 第二届国际论坛专题讨论会讨论了w e b 服务的发展,并提出了相关的研究主题5 1 , 包括: 1 w e b 服务评估; 2 基于w e b 服务实现的测试方法,其中包括结构测试、功能测试等; 3 w e b 服务的性能测试,其中包括w e b 服务的可靠性、可用性和安全性等; 4 w e b 服务的测试用例自动生成; 5 w e b 服务的测试工具以及测试环境: 6 w e b 服务的测试方法论: 7 基于移动代理的w e b 服务测试; 8 实验实证研究、经验报告与前景展望; 2 第一章绪论 9 专题领域的w e b 服务测试及其解决方案等。 这些主题的提出不仅指明了w e b 服务测试领域当前研究的热点,更指明了w e b 服务发展 的方向【5 】。但是w 曲服务铡试的研究目前仍处于起步阶段。杨利时,李必信在w e b 服务测试 综述中指t 2 1 :国内外w e b 服务测试目前处于第一阶段,具体包括: 1 通过w s d l 扩展提高w e b 服务易测性; 2 基于服务合约,服务供求双方设计合约并根据合约各自开展测试,或服务提供者将 测试用例作为合约的组成部分,以便其他角色调用服务的同时可以订制服务; 3 通过变异算子发现w e b 服务接口错误和逻辑错误的变异测试; 4 基于u d d i ,针对服务行为规约的服务注册前测试,针对服务协议的互操作性测试, 加强u d d i 验证的检入与检出测试: 5 基于角色和场景的测试,从w e b 服务的不同的角色和应用场景出发开展的测试: 6 基于消息流的服务集成测试; 7 基于群测试技术的w e b 服务组合测试。 目前,w e b 服务主要采用基于模型的技术验证相关协议和描述的正确性。中间可以通过 x m l 描述语言将w e b 服务转化为有限状态机模型、p e t r i 网模型等形式化模型,再借助模型检 测器( m o d e lc h e c k e r ) 等自动化检测工具去检验协议和相关服务描述的正确性、完整性【4 j 。 在s o a p 协议可信性测试研究方面,n i l 【l o o k e r 和j i cx u 采用错误植入的技术进行测试, 并在测试过程中采用一种基于度量的评估技术分析监测结果【6 l 。他们利用w e b 服务消息丢失、 服务器中断等中间件错误模式开发出了相应的错误植入工具软件,将错误植入到消息流中,。 系统响应被工具软件自动监测并记录,从而实现对w e b 服务的可靠性、可用性、安全性等进 行分析和度量。 在基于扩展w s d l 测试方面,wt t s a i 等人指出,应扩展w s d l 的定义以便增强其描 述能力,通过扩展后的w s d l 有利于特定w e b 服务的测试研究【7 1 。另外,w 3 c 成员也提出对 w s d l 进行语义上的扩展,并提出了w s d l s 语言【8 】。e v a nm a r t i n 等人中首先基于w s d l 进 行w e b 测试。他们利用w s d l 产生j a v a 代码,然后利用随机值域法和边界值分析的方法产生 测试集【9 1 。r e d as i b l i n i 和w u z h ix u 等人则通过对w s d l 文档进行生成简单测试数据之后,再 利用变异算法对生成的测试数据进行变异进而实现对w e b 服务的测试【l o ,l n 。 在基于模型的集成的w e b 服务验证方面,s h i n 将w e b 服务流的w s d l 描述转化成为模 型检测器s p i n 的形式化描述语言p r o m c l a ,应用程序采用l t l ( l i n e a rt e m p o r a ll o g i c ) 描述, 并接受p r o m e l a 和l t l 两种互补的描述信息,进而验证w e b 服务的正确性与效率【1 2 1 3 1 。 在其他方面,c h u no u y a n g 和w e n l id o n g 等人通过p e t r i 网来描述w e b 服务的数据流并 对组合的w 曲服务进行测试【1 4 , 1 5 。h a ih u a n g 等人扩充了控制流的模型检测器并去除了o w l s 中的并发操作,然后通过模型检验过程自动产生测试用例,最终验证w e b 服务的正确性【l6 】。 在公司对w 曲服务的研究方面,目前市场上已经有了r r 企业开发的w 曲服务测试工具【l 7 】 ( 表1 1 ) 。 表i - iw e b 服务测试工具 i 企业 工具名称工具描述测试类型 o p t i m y z w e h s e r v i c e l e s t e r基于w s 1 框架和b p e l 的功能测试、回归测试、 3 西南大学硕十学位论文 端到端自动测试工具调试与诊断 l o a d r u n n e r m e r c u r y ( h p )q u i c k t e s tp r o f e s s i o n a l 端到端自动测试工具 b u s i n e s sp r o c e s st e s t i n g e t e s t e - m a n a g e re n t e r p n s e 测试管理 e m p i r i xi n c e 1 色s t e r 功能测试 e l o a d 可扩展测试 w s d l 验证、功能测 p a r a s o t ! ts o a p t e s t基于w s d l 的测试工具 试、性能测试 功能测试、性能测试、 i b mr a t i o n a ls o f t w a r e t e s t s t u d i o 单元测试 c o p u r i f y p l u s实用分析工具内存检测、性能检测 1 2 2w 曲服务测试用例自动生成的研究现状 w e b 服务的质量问题,已经成为人们研究的热点。由于w e b 服务是基于接口设计而实现 的,因此采用自动化的测试方法显得尤为重要【4 1 8 1 。在自动化测试中,测试数据的生成是测 试过程的关键所在,因此w e b 服务的测试数据生成成为研究熟点中的热点。 在w e b 服务中,w e b 服务描述语言( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ,w s d l ) 是用x m l 文档来描述w e b 服务的标准,在w s d l 中定义了w e b 服务以及相应的函数、参数和返回值, 可以用来产生测试数据。特别是在w t t s a i 等人指出,应扩展w s d l 的定义以便增强其描 述能力 - q 之后,国内外的研究者便开展了基于扩展w s d l 的w e b 服务测试数据自动生成研究 并获得了相应的成果。 在国外,取得的主要研究成果有: 1 e v a nm a r t i n 等研究出一个测试工具,能够从w s d l 产生j a v a 客户端的测试代码,并 将生成代码中的封装类送到j a v a 单元测试数据生成工具中去,最终生成w e b 服务的测试数据 1 9 】 2 h a r r ym s n e e d 等人提出通过扩展w s d l ,增加w s d l 的描述能力,然后结合w s d l 树结点、扩展的刻面约束和前置条件来生成相应的测试数据【1 9 】; 3 w u z h ix u 等利用x m ls c h e m a 文档建立一个x m l 数据模型,然后利用变异算法对 x m ls c h e m a 文档插入和删除x m l 树结点生成w e b 服务测试数据【1 1 】; 4 h a n n as ,m u n r om 等通过w s d l 建立数据类型的抽象模型,然后根据w s d l 的定义 利用随机法和边界值法生成简单的数据类型和复杂数据类型的测试数据【2 0 1 。但是,该方法没 有考虑复杂数据类型的结构,所以它不能够将简单数据有效组合成复杂数据。 国内对w e b 服务测试数据自动生成的研究相对较晚,但是随着w 曲技术的发展和广泛应 用,w e b 服务测试数据自动生成研究吸引了国内越来越多的计算机研究人员对其进行研究, 他们也取得了一些成果: 4 第一章绪论 i i s 姜瑛,辛国茂,单锦辉等通过w s d l 采用随机法生成简单测试数据以后,再利用变 异算法和贪心算法进行测试数据的选择,能够在一定程度上变异得到有效测试数据【2 1 1 ,但是 这种算法需要的计算机资源较多,并须在该方法中只能产生血、f l o a t 和d o u b l e 三种数值型数 据,而不能产生布尔型和字符型的测试数据。 6 梅宏提出在w e b 服务的实际运行过程中提取测试信息,利用测试信息生成测试数据 田j 。但是他没有描述具体的测试数据生成过程,而且在运行过程中不利于w 如服务的早期测 试。 7 袁雪莉等提出了基于w s d l 权重取舍的测试数据自动生成的方法,该方法通过数据 类型和刻面约束产生简单测试数据,然后通过权重调整策略和笛卡尔积生成复杂测试数据【2 3 1 。 但是这种方法需要人工进行加权,同时也可能将有用的测试数据舍去。 综上所述,国内外众多学者对w e b 服务测试数据自动生成进行了很多研究,他们的研究 成果为进一步的研究工作作下了铺垫。 1 3 本文主要工作 针对w e b 服务测试数据自动生成技术中存在的不能有效生成测试数据、测试数据数目庞 大、测试数据生成过程复杂、测试数据生成资源需求量大、测试数据生成需要人工加权等问 题,本文在深入研究已有研究成果的基础之上,提出了一种基于一种基于扩展w s d l 的测试 数据自动生成方法,主要工作如下: 1 深入研究了s o a 及w e b 服务测试的相关概念和技术,并分析相关技术的不足,并重 点分析对比了w e b 服务测试用例自动生成技术。 2 深入研究w s d l 的相关技术,并对w s d l 的类型定义进行了扩展。通过在t y p e s 元 素中添加d a t a d e s c r i p t i o n 元素来扩展w s d l ,扩展后w s d l 能够清晰地描述字符型、数值型、 布尔型等数据类型的基类、显式刻面约束和隐式刻面约束。 3 简单测试数据的生成。由于w e b 服务对服务调用者是透明的,所以本文首先调用扩 展后w s d l 所描述的数据类型基类及相关约束关系,然后利用相关黑盒测试方法( 等价类划 分法、边界值分析法、随机法等) 相结合进一步生成简单测试数据,最后规定了简单测试数 据的有效性。 4 复杂测试数据的生成。复杂测试数据的生成包括3 种:c h o i c e 型、a l l 型和s e q u e n c e 型。本文先对c h o i c e 型、a l l 型复杂测试数据生成作了简单介绍,接着重点讲解了运用最多的 s e q u e n c e 型复杂测试数据生成方法,并将i p o 算法运用到了w e b 服务测试数据生成上来;针 对w e b 服务测试数据的有效性,运用了相关的约束策略;最后通过对参数排序的方法提出了 e x t e n d e di p o 算法,以此来生成复杂测试数据。 5 为了验证本文所提出的基于扩展w s d l 的w e b 服务测试数据自动生成方法的可行性 和有效性,本文开发出了一个w e b 服务测试数据生成工具w s t d g t ( w e bs e r v i c et e s td a t a g e n e r a t i o nt 0 0 1 ) 并进行相应的仿真及对比实验。实验表明:针对w e b 服务对调用者的透明性, 本文提出的基于扩展w s d l 的测试数据自动生成方法能够快速而有效的生成w e b 服务的简单 测试数据和复杂测试数据,在保证测试数据有效性基础上约简了测试数据集,并有效避免了 5 西南大学硕士学位论文 人为主观因素带来的加权问题和参数组合爆炸等问题。 1 4 论文的组织结构 第一章是绪论,介绍了论文的研究背景及意义、w e b 服务测试与w e b 服务测试用例自动 生成的国内外研究现状及本文主要工作;。 第二章主要介绍了s o a 的基本概念及特征,w e b 服务的概念、相关技术与体系结构,在 第二章的最后简单说明了s o a 与w e b 服务的关系。 第三章系统阐述了软件测试的相关概念、软件测试的相关技术和测试用例自动生成技术, 并对后文要用到的技术作了较为详细地解说。 第四章本文的主要研究内容,包括w s d l 的扩展、简单测试数据的生成、复杂测试数据 的生成,并重点介绍了e x t e n d e di p 0 算法。 第五章用实验对第四章提出的算法的可行性和有效性进行了验证,并作出了相关的分析。 第六章对本文工作进行了总结,并对未来工作进行了展望; 最后是参考文献、致谢和攻读硕士学位期间发表的学术论文与参加的课题。 6 第二章s o a 与w e b 服务及相关技术 第二章s o a 与w e b 服务及相关技术 随着网络技术的发展和信息技术的运用,人们迫切地期待一种新的软件体系结构的出现 一一它能够支持异构的计算机平台和不同语言的构件式一一s o a ( s e r v i c eo b j e c t e d a r c h i t e c t u r e ) 应运而生。 2 1s o a 概述 2 1 1s o a 的定义 到目前为止,对s o a 并没有一个公认的统一定义,不同的组织从不同的角度对s o a 进 行了定义和描述。相对而言,比较经典的定义为w 3 c 组织提出的【2 4 】: “s o a 是一种应用程序的体系结构,它所有功能都被定义为相互独立的服务,这些服务 都有定义明确的可调用接口,通过调用这些接口和契约就可以形成完整的业务流程”。 就s o a 本身而言,它并不是一个新的技术概念,早在2 0 0 0 年就有了s o a 面向服务 的解决方案。与传统的面向对象的模型相比,s o a 只是传统的面向对象的模型的一种替代模 型。不同的是,面向对象的模型是紧耦合的,而s o a 是松耦合的。 简单来说,s o a 是一个组件模型,它明确定义了不同应用程序( 服务) 的接口,通过这 些接口和相关的协议,使用者就能够轻易调用这些服务,实现不同服务之间的统一和交互。 2 1 2s o a 的特征 通常,s o a 具有如下特征【2 5 1 : 1 准确的接口和规则定义 像面向对象的程序设计一样,s o a 提供了准确的接口和规则定义。s o a 服务利用x m l 文档来描述接口和规则,通过对接口和规则的准确描述,服务调用者就能够方便准确地查找 访问服务。 2 服务模块化设计和服务可集成性 s o a 模块化的设计思想,把一个软件子单元或子系统设计成一个单独的模块,一个模块 就是一个执行特定功能的单元。不仅如此,s o a 能够通过接口把多个小模块合并成一个大的 模块以完成特定业务,这就是s o a 的服务可集成性 3 服务易查找和可重用性 s o a 定义了准确的接口和规则,并且这些接口是对外开放的,因此服务能够被轻易查找。 而s o a 的模块化设计决定了服务的可重用性。 4 服务之间的松耦合性和透明性 s o a 结构中服务与服务之间是松耦合的,它们之间不存在编译时的依赖关系。服务对外 隐藏了内部的具体实现细节。换句话说,服务之间是松耦合的、透明的。 5 服务传输机制的独立性和服务平台的无关性 s o a 架构在使用服务时,不需要关注网络类型和服务数据的传输机制。另外,服务运行 的平台不影响特定平台用户的访问和使用,也就是说,服务提供者的平台和服务使用者的平 7 西南大学硕+ 学位论文 台无关。 2 1 3s o a 的优势 从以上s o a 的定义和特征,我们可以看出s o a 的巨大优势: 1 服务可用性和可复用性 s o a 能够通过接口标准方便准确地查找和访问服务,体现了服务的可用性。而s o a 模块 化的设计使s o a 能够根据不同的组合方式把低层的服务组合成高层服务,体现了服务的可复 用性和代码的灵活性。 2 服务的松散耦合性 s o a 成功将服务使用者和服务提供者分开,使用者不必关注服务的具体实现细节。 3 服务平台的无关性 s o a 提供了精确的接口定义和对x m l 标准的支持,使服务只与接口的标准有关,而与特 定用户的特定平台无关。 4 服务的伸缩性和易维护性 s o a 的模块设计,使服务的部署具有了较大的伸缩性。另外,服务与服务之间的松散耦 合性保证了s o a 服务的易维护性。 2 2w _ e b 服务及相关技术 2 2 1w e b 服务的基本概念 简单来说,w e b 服务是实现s o a 的一种方式。正是由于w e b 服务标准的成熟和应用,s o a 才能发展的如此迅速。 w e b 服务一出现就得到了众多计算机厂商和学术界的广泛关注,他们也从不同的角度给 w e b 服务作出了定义。目前没有统一的公认定义,主要定义如下: w e b 服务体系工作组指出口5 】:在不同的平台和框架环境下,w 曲服务为不同应用程序之 间的交流提供了一种可能性。 k r e g e rh 指出【2 q :w 曲服务是一种自我描述的模块化的框架程序应用;它可以提供从简 单请求到复杂业务流程的功能服务,而这种服务运行简单。只要一个w e b 服务被正确部署了, 其他的服务应用可以在不同的平台和操作系统下,通过网络来调用这个被部署的服务。 从以上定义中可以看出,w e b 服务提供了不同软件应用之间的一种交互方式,而这种交 互方式不用考虑不同软件平台之间的差异。如果说w e b 实现了程序与用户之间的交互,那么 与w e b 相比,w e b 服务则实现了程序与程序之间的交互。 2 2 2w e b 服务相关技术 w e b 服务是通过标准的技术规范生成的。所有的w e b 服务消息都通过s o a p ( s i m p l e o b j e c ta c c e s s ,简单对象访问协议) 标准的x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语 言) 消息处理协议交换,然后通过h t t p 协议实现服务对象的远程调用。在调用的过程中, 用户根据自己的需求通过u d d i ( u n i v e r s a ld e s c r i p t i o n ,d i s c o v e r ya n dl a n g u a g e ,统一描述、发 8 第二章s o a 与w e b 服务及相关技术 现和集成协议) 发现符合需求的服务,最后利用w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e , w e b 服务描述语言) 描述的接口规范编程实现接口。 1 煳 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 即可扩展标记语言,它是1 9 9 8 年2 月由全球信息网 联盟( w 3 c ) 发布的标准( 1 0 ) ,其发布的主要目的是满足人们在异构网络环境下交换 网络数据的需求,并在进行信息交换时具有良好的互操作性和可靠性。x m l 的前身是s g m l ( s t a n d a r dg e n e r a lm a r k u pl a n g u a g e ,标准通用标记语言) ,它继承了s g m l 的可扩展性、结构 性和与平台无关性等优点,成为i n t e r n e t 环境下跨平台的处理结构化信息的有效工具。x m l 有以下主要特点【2 7 】: 简单有效性:x m l 是纯文本结构的标记语言,简单易学;同时x m l 还包括了x s l ( e x t e n s i b l es t y l el a n g u a g e ,可扩展格式语言) 和x l l ( e x t e n s i b l el i n k i n gl a n g u a g e , 可扩展链接语言) 使x m l 能够方便快捷地显示和被解析。 自我描述性:x m l 可以通过标记表示数据模型中各个部分的意义; 互操作性和平台无关性:x m l 文档是纯文本的,能够被各种不同的平台和操作系统 支持。这对于整合了新旧系统的应用程序来说特别有用: 结构化特性:x m l 实质上是一种树型结构,通过标签的嵌套可以轻易描述数组或集 合等复杂的数据结构。 内容与样式的分离性:x m l 文档只是对内容和数据进行描述,而它的内容和数据的 外观样式则需要通过x s l 来描述。 可扩展性:x m l 支持复用文档片断,允许使用者根据自己的需要创建自己的标记集 合,进而达到信息共享和交换的。 d o m 的全称是d o c u m e n to b j e c tm o d e l ( 文档对象模型) ,它是来自w 3 c 的推荐标准,它 提供了访问和处理x m l 文档的标准方法。通过读取、搜索、添加、修改和删除d o m 文档及 文档元素,就可以实现数据共享。 d o m 的工作方式【2 8 】是:首先将x m l 载入到相应的内存中;然后根据x m l 文档中的元 素和属性将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论