《基于编排场景的web服务相符性测试》由会员分享,可在线阅读,更多相关《基于编排场景的web服务相符性测试(27页珍藏版)》请在金锄头文库上搜索。
1、基于编排场景的web服务相符性测试报告人:马凯北京工业大学计算机学院报告内容v研究背景vWeb服务编排及其场景介绍v基于组合方法的场景精化v测试数据生成vWeb服务是基于XML规范的分布式计算技术。vWeb服务组合是通过组合基本Web服务而提供增值服务的能力,这些基本Web服务可能由不同的组织提供。vWeb服务组合语言Web服务编制(Orchestration), WS-BPELWeb服务编排(Choreography), WS-CDLWeb服务及其组合Web服务与编排规范的相符性测试问题v编排作为多方协作的合同,如何确保已实现的Web服务与编排规范的相符性(conformance)是一个热点
2、研究问题。v本项目提出基于编排场景的相符性测试框架,并部分实现了一些主要模块。服务编排vWeb服务编排从全局观点描述一个业务流程的多个参与方之间的交互。vWS-CDL是W3C组织提出的编排描述语言v编排流程由活动组成,主要活动称为交互,交互制定了角色间消息交换的单元。编排场景v一个编排场景描述了多个参与方之间的交互序列场景的形式定义vR:=roleRvI:=infoIdvV:=varIxvA:=RequestR1.xopR2.yGuard|ResponseR1.xopR2.yGuardvGuard:=guardR.xoperatorv|guardR.xinstanceofI|guardguar
3、d|TruevV:=R.x|expressionvoperator:=|=|XMLSchema类型定义TypePartitionRules类型定义类型定义 细化后的子类型细化后的子类型 (k1kk2)TypePartitionExample组合方法简介v组合测试方法用于解决影响系统各种因素之间的组合问题。v组合测试用例生成问题,针对具体待测软件,在满足给定组合覆盖的要求下生成规模尽可能小的测试用例集。v组合测试方法相关概念:1.变量(Variable):在组合测试的范畴中,变量是待测软件的输入影响因素。2.水平(Level):在组合测试的范畴中,水平就是变量的可能取值。3.强度(Strengt
4、h):在组合测试的范畴中,强度就是变量与变量相互作用的程度。Cascade工具vCascade是中科院软件所国家重点实验室的研究者开发出来的组合测试用例生成工具vCascade工具的输入输出格式:变量以及水平输入: | i = 1, 2, 3 约束:ExpressA - ExpressB输出: | l1L(V1), l2 L(V2), , ln(Vn)TypeTreeModelT=vN是元素节点和控制节点的集合vr是根节点vC是对类型树结构的约束集合,XMLSchema定义中的指示器可以对树结构产生影响vvE是边的集合,边可以表示为e(m,c,n),TypeTreeModelExampleTh
5、eExampleofUsingCascadeSUB-TYPEpurchaseOrder_sequencecouponaddressgoodspurchaseOrderGoods_sequencegoodNamegoodNumpricecoupon_choicecashbackdiscountminOccur=2maxOccur=2occurence=0工具实现过程测试数据生成vInput:精化后的场景vOutput:一组测试数据v目的:为场景中被测服务的每一个交互,提供满足约束的数据约束类型vGuard约束类型约束值约束vFacet约束Enumeration PatternmaxLength
6、minLengthmaxInclusive minInclusiveGuard约束vGuard:=guardR.x operator v |guardR.xinstanceofI|guardguardvV:=R.x|expressionvoperator:=|=|v获得R.x的方式根据xpath查询语句以及XML Schema定义在xml文档中获得编排中的XPath 1.0 extension functions poVarinstanceofpurchaseOrderType;goodsVarinstanceof goodsType;supplyVarinstanceofsupplyType
7、;WebShop.supplyVar = true bankRequsetInfoVar instanceofrequestBankInforType ; bankIDRequestVar instanceof requestBankInforType “hasDeadLinePassed(deadLineTime,Bank) = false”;Facet约束v限定(restriction)用于为XML元素或者属性定义可接受的值。对XML元素的限定被称为facet。v故我们考虑为类型树的每一个叶子节点增加限定的信息1.Enumeration枚举2.Pattern模式3.maxLengthminLength字符串长度4.maxInclusiveminInclusive数值型元素的值vvvvvvvvvv v v v vvvvvvv vv v v vvv测试数据实例ICBCAABB11BBCC145CNabcd总结v基于场景,提出了web服务组合与编排的相符性测试框架v用组合方法精化编排场景v同时部署桩服务和被测服务,通过查看执行日志,可以了解到场景是否顺利执行,如果成功,我们称被测服务与该场景相符。v如果所有的场景都验证相符,称为与编排相符。Thankyouforlistening