《基于编排场景的web服务相符性测试.ppt》由会员分享,可在线阅读,更多相关《基于编排场景的web服务相符性测试.ppt(27页珍藏版)》请在三一办公上搜索。
1、基于编排场景的web服务相符性测试,报告内容,研究背景Web服务编排及其场景介绍基于组合方法的场景精化测试数据生成,Web服务是基于XML规范的分布式计算技术。Web服务组合是通过组合基本Web服务而提供增值服务的能力,这些基本Web服务可能由不同的组织提供。Web服务组合语言Web服务编制(Orchestration),WS-BPELWeb服务编排(Choreography),WS-CDL,Web服务及其组合,Web服务与编排规范的相符性测试问题,编排作为多方协作的合同,如何确保已实现的Web服务与编排规范的相符性(conformance)是一个热点研究问题。本项目提出基于编排场景的相符性测
2、试框架,并部分实现了一些主要模块。,服务编排,Web服务编排从全局观点描述一个业务流程的多个参与方之间的交互。WS-CDL是W3C组织提出的编排描述语言编排流程由活动组成,主要活动称为交互,交互制定了角色间消息交换的单元。,编排场景,一个编排场景描述了多个参与方之间的交互序列,场景的形式定义,R:=role RI:=info I dV:=var I xA:=Request R1.xop R2.y Guard|Response R1.x opR2.y Guard Guard:=guardR.x operator v|guardR.x instanceof I|guardguard|TrueV:=
3、R.x|expressionoperator:=|=|,XML Schema类型定义,Type Partition Rules,Type Partition Example,组合方法简介,组合测试方法用于解决影响系统各种因素之间的组合问题。组合测试用例生成问题,针对具体待测软件,在满足给定组合覆盖的要求下生成规模尽可能小的测试用例集。组合测试方法相关概念:变量(Variable):在组合测试的范畴中,变量是待测软件的输入影响因素。水平(Level):在组合测试的范畴中,水平就是变量的可能取值。强度(Strength):在组合测试的范畴中,强度就是变量与变量相互作用的程度。,Cascade工具,
4、Cascade是中科院软件所国家重点实验室的研究者开发出来的组合测试用例生成工具Cascade工具的输入输出格式:变量以及水平输入:|i=1,2,3 约束:ExpressA-ExpressB输出:|l1L(V1),l2 L(V2),ln(Vn),Type Tree Model,T=,N是元素节点和控制节点的集合r是根节点C是对类型树结构的约束集合,XML Schema定义中的指示器可以对树结构产生影响E是边的集合,边可以表示为e(m,c,n),,Type Tree Model Example,The Example of Using Cascade,SUB-TYPE,purchaseOrder
5、_sequence,coupon,address,goods,purchaseOrder,Goods_sequence,goodName,goodNum,price,coupon_choice,cashback,discount,minOccur=2maxOccur=2,occurence=0,工具实现过程,测试数据生成,Input:精化后的场景Output:一组测试数据目的:为场景中被测服务的每一个交互,提供满足约束的数据,约束类型,Guard 约束类型约束值约束Facet 约束Enumeration PatternmaxLength minLengthmaxInclusive minInc
6、lusive,Guard约束,Guard:=guardR.x operator v|guardR.x instanceof I|guardguardV:=R.x|expressionoperator:=|=|获得R.x的方式根据xpath查询语句以及XML Schema定义在xml文档中获得编排中的XPath 1.0 extension functions,poVar instanceof purchaseOrderType;,goodsVar instanceofgoodsType;,supplyVar instanceof supplyType;,WebShop.supplyVar=tru
7、e bankRequsetInfoVar instanceofrequestBankInforType;,bankIDRequestVar instanceof requestBankInforType“hasDeadLinePassed(deadLineTime,Bank)=false”;,Facet约束,限定(restriction)用于为 XML 元素或者属性定义可接受的值。对 XML 元素的限定被称为 facet。故我们考虑为类型树的每一个叶子节点增加限定的信息Enumeration 枚举Pattern 模式maxLength minLength 字符串长度maxInclusive minInclusive 数值型元素的值,测试数据实例,ICBC,AABB11BBCC145CNabcd,总结,基于场景,提出了web服务组合与编排的相符性测试框架用组合方法精化编排场景同时部署桩服务和被测服务,通过查看执行日志,可以了解到场景是否顺利执行,如果成功,我们称被测服务与该场景相符。如果所有的场景都验证相符,称为与编排相符。,Thank you for listening,