CN102170378A - 一种无需预期的Web服务测试方法 - Google Patents
一种无需预期的Web服务测试方法 Download PDFInfo
- Publication number
- CN102170378A CN102170378A CN2011101094271A CN201110109427A CN102170378A CN 102170378 A CN102170378 A CN 102170378A CN 2011101094271 A CN2011101094271 A CN 2011101094271A CN 201110109427 A CN201110109427 A CN 201110109427A CN 102170378 A CN102170378 A CN 102170378A
- Authority
- CN
- China
- Prior art keywords
- test case
- web service
- output
- deriving
- relation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010998 test method Methods 0.000 title claims abstract description 14
- 238000012360 testing method Methods 0.000 claims abstract description 229
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000009466 transformation Effects 0.000 claims abstract description 41
- 230000002950 deficient Effects 0.000 claims description 10
- 230000007547 defect Effects 0.000 abstract 2
- 238000012546 transfer Methods 0.000 description 22
- 230000008859 change Effects 0.000 description 16
- 238000011426 transformation method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种无需预期的Web服务测试方法,包括如下步骤:(1)构造基于Web服务描述的蜕变关系;(2)生成衍生测试用例集合,衍生测试用例集合由原始测试用例集合基于所述输入关系R生成;原始测试用例集合和衍生测试用例集合构成测试用例集合;(3)执行客户端驱动的测试用例,获取Web服务的执行结果;(4)判定执行结果是否满足输出关系Rf,如果不满足,则判定所述Web服务中存在缺陷。于是,通过比较原始测试用例与衍生测试用例的输出结果是否满足用于产生测试用例的蜕变关系,即可判断Web服务中是否存在缺陷,提供了一种无需预期仍能对Web服务进行有效测试的方法,能有效增强Web服务的可靠性。
Description
技术领域
本发明涉及一种面向Web服务的测试方法,尤其涉及一种无需预期的Web服务测试方法,属于Web服务测试领域。
背景技术
SOA(Service Oriented Architecture)定义了Internet环境下松散耦合的、基于标准的、面向服务的应用程序开发模式。其中,服务提供者(Service Provider)通过Internet发布服务的接口描述;服务代理(Service Registry)查询符合需求的服务;服务使用者(Service Consumer)使用符合需求的服务。Web服务是SOA基于Web的实现,是一个平台独立的、松耦合的、自包含的、可编程的应用程序,Web服务的描述、访问、检索与发布基于标准XML(可扩展标记语言,全称为Extensible Markup Language)技术以及一系列的Web技术标准。这些技术及标准有效地屏蔽了运行环境的异构性,使得Web服务可以直接部署和运行于Internet之上。由于单个服务往往无法满足实际需求,需要将多个服务协调与组织起来以支持某个业务过程,将多个服务组合起来形成复合服务的过程称为服务组合。近年来,服务组合正成为Internet环境下应用程序的主流开发范型,采用上述服务组合构造而成的软件系统通常称为SOA软件系统。
与传统的软件相比,SOA软件系统具有如下几个主要特点:更高的松散程度:SOA软件中参与组合的Web服务是一个更加独立的计算单元、可以借助Internet直接进行访问,Web服务之间的耦合度更低。定义与实现的彻底分离:Web服务通常由定义与实现两部分组成,定义与实现可以分散在不同文件中;Web服务可以采用不同的编程语言实现,而且Web服务的实现与定义的绑定可以延迟到运行时刻。支持服务的发布、注册和发现:Web服务的开发与使用比任何传统软件更加独立和开放。
上述特点决定了SOA软件系统是一个松耦合系统,当这样的系统实现一些非常重要的业务过程,如电子支付业务系统、决策与控制系统等,如何保证这类系统的正确性和可靠性,是SOA软件开发必须解决的一个重要问题。
软件测试是广泛使用的一种保证软件正确性和可靠性的方法。由于Web服务的定义与实现的彻底分离,参与组合的Web服务可能来自不同的管理域,服务使用者无法访问服务实现源代码,白盒软件测试方法不再适用于SOA软件;由于Web服务面向动态、开放的环境,服务开发者无法预计服务的所有使用情况,因此只能进行有限的覆盖测试,无法保证这些Web服务以松散耦合的方式组合成一个动态的分布式系统时还能可靠地工作。SOA软件的新特点,使得SOA软件的测试面临新的问题与挑战。
围绕着Web服务测试的已有研究工作侧重研究Web服务测试数据的生成与选择,并且假设每个测试用例的期望输出是可知的。然而,预期(Oracle)问题是长期困扰软件测试的基本难题之一。所谓预期问题,是指在某些情况下测试人员无法确定程序执行的期望结果或者很难构造预期输出结果。由于Web服务发布的动态性、运行的不确定性与不可控性(无法访问服务的实现细节),Web服务的可测试性差,对任意给定的输入确定相应的输出是否正确更加困难。换言之,测试SOA软件时,预期问题更加突出,当预期不存在时,已有测试方法用于测试面向Web服务的SOA软件系统时其有效性将受到很大限制。
针对Web服务测试的预期(Oracle)问题,目前不存在有效的解决方案。一种方法是,基于多版本编程思想假设有规格说明相同但实现不同的一组Web服务,采用一种表决算法将多数Web服务的输出作为预期输出。该方法无法应用于单个Web服务的测试,而且通过表决途径产生的预期并不可靠。另一种方法是蜕变测试方法,蜕变测试方法通过检查程序的多个执行结果之间的关系来测定程序,因为无需构造预期输出,可有效解决预期问题。现有针对SOA的蜕变测试方法,首先根据离线时通过测试的测试用例作为原始测试用例,然后基于该原始测试用例构造衍生测试用例,最后将该原始测试用例和衍生测试用例进行在线测试,判断输出结果是否满足一定的蜕变关系,如不满足则可断定有错误;又因为原有的原始测试用例是通过测试的,所以当蜕变测试发现错误时,该错误是在在线模式下引入的。现有针对SOA的蜕变测试方法中原始测试用例由离线时通过测试的测试用例生成,在判断测试用例是否通过测试时实际上使用了现有需要预期的方法,即通过判断上述测试用例的输出结果是否和预期一致来判断测试用例是否通过测试;因此,现有针对SOA的蜕变测试方法包括离线测试时需要预期的方法和在线测试时无需预期的蜕变测试方法,是一种不彻底的无需预期的蜕变测试方法。
发明内容
本发明要解决的技术问题是提供一种彻底的无需预期的Web服务测试方法。
为解决上述技术问题,本发明采用如下技术方案:
本发明提供的无需预期的Web服务测试方法,包括如下步骤:
(1)、构造基于Web服务描述的蜕变关系,所述蜕变关系为输入关系R与输出关系Rf构成的二元组,其中,所述输入关系R定义了原始测试用例与衍生测试用例之间的关系,所述输出关系Rf定义了所述原始测试用例对应的输出与所述衍生测试用例对应的输出之间的关系;
(2)、生成衍生测试用例集合,所述衍生测试用例由原始测试用例基于所述输入关系R生成,所述原始测试用例和所述衍生测试用例统称测试用例;
(3)、执行客户端驱动的所述测试用例,获取Web服务操作执行完毕后返回的执行结果;
(4)、判定所述执行结果是否满足所述输出关系Rf,如果不满足,则判定所述Web服务中存在缺陷。
所述步骤(1)中基于Web服务描述的蜕变关系构造的具体步骤为:首先,分析Web服务的描述,获取Web服务的蜕变属性规格说明(Metamorphic property specification),然后再确定蜕变关系的集合。
所述Web服务的描述包括蜕变属性功能规格说明与接口信息;其中,所述接口信息包括名字、类型、消息、端口类型、绑定、端口与服务,所述端口类型包括一组操作,每个所述操作引用一个输入消息与输出消息。
所述蜕变属性包括多条蜕变关系。
所述测试用例的格式依据所述接口信息确定。
所述原始测试用例由已有的测试用例生成方法产生。
已有的所述测试用例生成方法包括特殊值选取方法、随机值选取方法、等价类划分方法和迭代测试方法。
所述接口信息包括操作、输入消息与输出消息,原始测试用例与衍生测试用例的格式由输入消息确定。
所述步骤(3)中的客户端驱动的Web服务测试执行的具体方法是,开发Web服务的客户端程序,将原始测试用例和衍生测试用例作为输入消息运行被测Web服务,获取相应的输出消息,得到测试结果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个优选实施例的原理图。
具体实施方式
下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供的一个优选实施例的原理图,以下结合附图和具体实施例对本发明进行详细说明。
一种无需预期的Web服务测试方法,如图1所示,包括如下步骤:
(1)、基于Web服务描述的蜕变关系(Metamorphic Relation)构造,所述蜕变关系为输入关系R与输出关系Rf构成的二元组,其中,所述输入关系R定义了原始测试用例与衍生测试用例之间的关系,所述输出关系Rf定义了所述原始测试用例对应的输出与所述衍生测试用例对应的输出之间的关系;
(2)、基于蜕变关系的衍生测试用例集合生成,所述衍生测试用例由原始测试用例基于所述输入关系R生成,所述原始测试用例和所述衍生测试用例统称测试用例;
(3)、客户端驱动的Web服务测试执行,获取Web服务操作执行完毕后返回的执行结果;
(4)、基于蜕变关系的测试结果判定,判定所述执行结果是否满足所述输出关系Rf,如果不满足,则判定所述Web服务中存在缺陷。
具体说明如下:
基于Web服务的描述,特别是Web服务的蜕变属性功能规格说明,可以获取蜕变属性。所述蜕变属性与Web服务实现的具体功能有关,包括多条蜕变关系。因此,蜕变关系的选取应采用实例分析的方法。在面向Web服务的SOA上下文中,由于无法访问Web服务实现的源代码,只能依据Web服务的功能规格说明的信息构造蜕变关系。蜕变关系的选取影响蜕变测试的效率,存在一些选择蜕变关系的指导方针,包括选取的蜕变关系:(1)应尽可能覆盖核心功能;(2)尽可能使原始测试用例和衍生测试用例的执行结果不满足相应的蜕变关系的情形多出现,可以针对易于出错的地方进行蜕变测试,比如在处理边界上依据蜕变关系设计测试用例,这样可以增强测试的效率。
由于蜕变关系反映了当不同的输入满足某种关系R时、对应的输出也应满足某种关系Rf的特性因此一个蜕变关系可以分解为输入关系R与输出关系Rf构成的二元组。其中,输入关系R定义了原始测试用例与衍生测试用例之间的关系,输出关系Rf定义了原始测试用例对应的输出与衍生测试用例对应的输出之间的关系。所述原始测试用例与所述衍生测试用例统称为测试用例。
运用上述蜕变关系获取原则分析Web服务的描述,可以得到被测Web服务的一组蜕变关系{MR1,...,MRn}。针对每个蜕变关系MRi,可以产生一组测试用例集合。首先,需要确定测试用例的格式。Web服务描述的接口信息通常由Web服务描述语言WSDL(Web Services Description Language的缩写)提供,与测试相关的信息主要包括Web服务的操作、与每个操作相关的输入消息与输出消息。其中,原始测试用例与衍生测试用例的格式相同,由输入消息确定。其次,对于原始测试用例而言,可以采用已有测试用例生成方法,如随机值选取方法,等价类划分方法等产生。所述原始测试用例可以在所述蜕变关系构造前或者所述蜕变关系构造后由现有测试用例生成方法单独产生。原始测试用例集合的大小取决于测试预算或测试进度。最后,针对每个原始测试用例,依据所述蜕变关系MRi中的所述输入关系Ri,改动原始测试用例得到相应的衍生测试用例。
通过上述步骤产生的测试用例集合可以存放在一个独立的文件中,也可以存放到被测Web服务的WSDL文件中。
经过上述步骤后,已经生成了蜕变测试用例集合。为了测试Web服务,首先需要将被测Web部署到服务容器中,由容器负责管理其生命周期。 然后按照WSDL描述的接口格式调用被测Web服务的操作。一般说来,Web服务实现一些业务逻辑,通常并不提供界面,为此需要开发Web服务的客户端程序(Client)。该程序将上述步骤得到的测试用例(包括原始测试用例集合与衍生测试用例集合)作为输入消息调用Web服务,然后等待Web服务操作执行完毕后返回的输出消息。测试实施时,可以采用人工的方式,也可以采用自动的方式。采用人工的测试方式时,测试人员通过客户端程序逐个输入测试用例,观察测试结果;采用自动的测试方式时,由程序自动地从测试用例集合的文件中提取测试用例,传递给客户端程序,然后接受并存储客户端返回的测试结果。
如果存在多条蜕变关系时,测试的组织可采用如下两种方式:(1)首先执行一个原始测试用例,然后逐个执行依据不同蜕变关系产生的衍生测试用例,执行完全部测试用例后;选择另外一个原始测试用例,重复上述过程;(2)首先选择一个蜕变关系,然后逐个执行原始测试用例与衍生测试用例,执行完全部测试用例后;再选择另外一个蜕变关系,重复上述过程。
借助上述步骤后,执行测试用例集合中的所有测试用例,可以得到与测试用例相关的输出结果。输出结果的格式由操作相关的输出消息确定。为了判定被测Web服务中是否存在缺陷,并不需要知道原始测试用例或衍生测试用例的正确输出,而是比较原始测试用例与衍生测试用例的输出结果是否满足用于产生测试用例的蜕变关系。如果不满足,则表明被测的Web服务中存在缺陷。可见,本发明的Web服务测试方法在测试用例的构造阶段和在线测试阶段都无需预期,是一个彻底的无需预期的蜕变测试方法
以下结合图1,以测试采用Web服务实现的通用ATM(Automatic Teller Machine)系统中转帐功能为例,对本发明的技术方案进行详细说明。
ATM是由计算机控制的持卡人自我服务型的金融专用设备。通用ATM系统可适应不同银行的需求,便于各银行的业务扩展,支持的主要功能有用户存款、取款、转账(包含跨行、异地)、修改密码等。ATM系统支持的主要业务涉及财富的转移,因此可靠性要求高。以转帐功能为例,如果系统实现中存在缺陷,则会直接造成用户的经济损失。另外,转账功能在电子商务系统中广泛使用,实现转帐功能的Web服务可能来自第三方开发组织,如某个银行、金融机构、或软件公司。在测试这样的一个Web服务时,无法访问Web服务实现的源代码,因此白盒软件测试方法不再适用。此外,由于Web服务发布的不确定性与运行的不可控性,Web服务的可测试性差,针对给定的输入确定预期输出更加困难。
首先,依据通用ATM系统的规格说明分析蜕变属性,获取蜕变关系集合。不同银行对转帐业务有不同的限制与收费标准。例如,中国农业银行规定每次转帐的最高额度为50000元,还规定不同类型的转帐业务有不同的收费标准:(1)同城非跨行:不收取手续费;(2)同城跨行:手续费为转账金额的0.5%,最低1元,最高50元;(3)异地不跨行:手续费为转账金额的0.5%,最低1元,最高50元;(4)异地跨行:手续费为转账金额的1%,最低1元,最高50元。依据这些业务规则的描述,可以得知相应的系统实现中存在一些蜕变关系。例如,对于同样的转帐额度,异地跨行转帐收取的手续费一定大于等于其它三类转帐类型;对于同样的转帐额度,异地不跨行与同城跨行两种不同类型的转帐业务收取的手续费一定相同。
采用Web服务实现通用ATM系统时,转帐功能通常由一个接口实现。采用WSDL描述的转帐接口如下:
其中,“operation”定义了接口的名称为“transfer”,该操作的输入消息为“transferRequest”,输出消息为“transferResponse”。输入消息“transferRequest”由转出帐户“from”、转入帐户“to”、金额“amount”和转帐类型“mode”组成。输出消息“transferResponse”显示帐户的余额,表示为字符串“string”。
通过分析操作的接口描述,可以确定测试用例的数据格式。为了表达方便,转账接口的输入消息用四元组<A,B,P,M>表示。其中,A:表示转出账户的账号,用10位数字表示;B:表示转入账户的账号,用10位数字表示;P:表示A与B账户跨行与异地的情况,P=0表示同城不跨行,P=1表示同城跨行,P=2表示异地不跨行,P=3表示异地跨行;M:表示转账金额,单位为元,而且必须为整数。
转账接口的输出用二元组<ΔA,ΔB>表示,其中:ΔA:表示转账前转出账户的余额与转账后转出账户的余额的差;ΔB:表示转账后转入账户的余额与转账前转入帐户的余额的差。程序实现正确的情况下,这样的设计可以使得ΔA>0且ΔB>0。
为了表述方便,将原始测试用例及其输出表示为<A,B,P,M>和<ΔA,ΔB>,衍生测试用例及其输出表示为<A′,B′,P′,M′>和<ΔA′,ΔB′>。
结合测试用例与输出的格式,转帐接口的一组蜕变关系描述如下:
蜕变关系1:若输入满足M′=2M,则输出满足ΔA<ΔA′≤2ΔA且ΔB′=2ΔB。
蜕变关系2:若输入满足P=1且P′=2,则输出满足ΔA′-ΔB′=ΔA-ΔB。
蜕变关系3:若输入满足P=0且P′≠0,则输出满足ΔA′-ΔB′>ΔA-ΔB。
蜕变关系4:若输入满足P=3且P′≠3,则输出满足ΔA′-ΔB′≤ΔA-ΔB。
蜕变关系5:若输入满足M′>M,则输出满足ΔA′>ΔA且ΔB′>ΔB。
蜕变关系6:若输入满足A′=B且B′=A(即A、B交换),则输出满足ΔA≥ΔB′。
然后,产生测试用例集合,首先产生原始测试用例集合;然后依据蜕变关系再由原始测试用例集合产生衍生测试用例集合。关于原始测试用例集合,可以采用已有的测试用例生成方法产生,比如特殊值选取方法、随机值选取方法和迭代测试方法等。由于特殊值选取方法和随机值选取方法的生成效率较高,容易获得,所以经常使用它们产生原始测试用例。关于衍生测试用例集合,必须依据蜕变关系、对原始测试用例修改获得。例如,采用随机值选取得到测试用例T1=(1000000000,2000000000,3,5000),该测试用例表示转出账号为1000000000,转入账号为2000000000,转账金额为5000元,转账方式为异地且跨行。假设采用蜕变关系1(即输入满足M′=2M)进行测试,那么修改原始测试用例T1可得到衍生测试用例T1′=(1000000000,2000000000,3,10000)。假设采用蜕变关系6(即输入满足A′=B且B′=A)进行测试,那么修改原始测试用例T1可得到衍生测试用例T1′=(2000000000,1000000000,3,5000)。
采用上述步骤,针对一条蜕变关系可以得到一对测试用例,即一个原始测试用例和一个衍生测试用例。为了尽可能多地检测Web服务实现中潜藏的缺陷,需要产生多个测试用例。测试用例的数量取决于允许的测试成本与进度:如果测试预算成本高、测试时间长,那么产生的测试用例数量可以多一些;否则应该少一些。另外,为了覆盖被测Web服务的主要功能或行为,应选取多个蜕变关系进行测试。最终,依据不同的蜕变关系得到多组测试用例集合。
为了测试转帐接口的实现,必须将被测的Web服务部署到服务容器(如Tomcat)中;此外,还需开发测试客户端程序(如JSP界面)。通过JSP界面,将上述步骤得到的测试用例(包括原始测试用例集合与衍生测试用例集合)作为输入消息调用Web服务,然后等待Web服务操作执行完毕后返回的输出消息。为了得到ΔA,只需在转帐事务前(后)查询转出帐号A的余额。类似地,通过在转帐事务后(前)查询转入帐号B的余额可以得到ΔB。
最后,通过判定测试输出是否满足蜕变关系,确定被测的Web服务中是否存在缺陷。测试结果的判定并不需要知道原始测试用例或衍生测试用例的正确输出,而是比较原始测试用例与衍生测试用例的输出结果是否满足用于产生测试用例的蜕变关系。例如,假设采用蜕变关系1(即输入满足M′=2M)进行测试,针对每一对原始测试用例与衍生测试用例的输出,判定输出是否满足ΔA<ΔA′≤2ΔA且ΔB′=2ΔB。如果存在某一对原始测试用例与衍生测试用例的输出不满足上述蜕变关系,则表明转帐接口中存在缺陷。
本发明针对Web服务可测试性差的特点,提出了预期不存在情形下一种面向Web服务的有效测试方法。本发明利用被测试软件中潜藏的蜕变属性构造蜕变关系,依据蜕变关系产生测试用例集合,客户端运行测试用例后通过判定测试输出是否满足蜕变关系,确定被测的Web服务中是否存在缺陷。本发明提供了蜕变关系构造与表示方法、基于蜕变关系的测试用例生成技术、客户端驱动的Web服务测试执行技术、基于蜕变关系的测试结果判定技术,是一个完整的、无需预期的Web服务测试方案。本发明可有效缓解Web服务测试时广泛存在的预期问题,在不存在预期情形下仍能对Web服务进行有效测试,为增强Web服务的可靠性提供了有效的测试手段。
作为本发明的另一个实施例,本发明的蜕变测试方法可以与面向Web服务的已有测试方法结合使用,提高已有测试方法在预期不存在情形下的适用性与有效性,对于保证大量采用Web服务实现的SOA软件的可靠性具有十分重要的意义。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种无需预期的Web服务测试方法,其特征在于:包括如下步骤:
(1)、构造基于Web服务描述的蜕变关系,所述蜕变关系为输入关系R与输出关系Rf构成的二元组,其中,所述输入关系R定义了原始测试用例与衍生测试用例之间的关系,所述输出关系Rf定义了所述原始测试用例对应的输出与所述衍生测试用例对应的输出之间的关系;
(2)、生成衍生测试用例集合,所述衍生测试用例由原始测试用例基于所述输入关系R生成,所述原始测试用例和所述衍生测试用例统称测试用例;
(3)、执行客户端驱动的所述测试用例,获取Web服务操作执行完毕后返回的执行结果;
(4)、判定所述执行结果是否满足所述输出关系Rf,如果不满足,则判定所述Web服务中存在缺陷。
2.根据权利要求1所述的方法,其特征在于:所述步骤(1)中基于Web服务描述的蜕变关系构造的具体步骤为:首先,分析Web服务的描述,获取Web服务的蜕变属性规格说明(Metamorphic property specification),然后再确定蜕变关系的集合。
3.根据权利要求2所述的方法,其特征在于:所述Web服务的描述包括蜕变属性功能规格说明与接口信息;其中,所述接口信息包括名字、类型、消息、端口类型、绑定、端口与服务,所述端口类型包括一组操作,每个所述操作引用一个输入消息与输出消息。
4.根据权利要求3所述的方法,其特征在于:所述蜕变属性包括多条蜕变关系。
5.根据权利要求4所述的方法,其特征在于:所述测试用例的格式依据所述接口信息确定。
6.根据权利要求5所述的方法,其特征在于:所述原始测试用例由已有的测试用例生成方法产生。
7.根据权利要求6所述的方法,其特征在于:已有的所述测试用例生成方法包括特殊值选取方法、随机值选取方法、等价类划分方法和迭代测试方法。
8.根据权利要求7所述的方法,其特征在于:所述接口信息包括操作、输入消息与输出消息,原始测试用例与衍生测试用例的格式由所述输入消息确定。
9.根据权利要求1所述的方法,其特征在于:所述步骤(3)中的客户端驱动的Web服务测试执行的具体方法是,开发Web服务的客户端程序,将原始测试用例和衍生测试用例作为输入消息运行被测Web服务,获取相应的输出消息,得到测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110109427.1A CN102170378B (zh) | 2011-04-22 | 2011-04-22 | 一种无需预期的Web服务测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110109427.1A CN102170378B (zh) | 2011-04-22 | 2011-04-22 | 一种无需预期的Web服务测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102170378A true CN102170378A (zh) | 2011-08-31 |
CN102170378B CN102170378B (zh) | 2014-10-29 |
Family
ID=44491362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110109427.1A Expired - Fee Related CN102170378B (zh) | 2011-04-22 | 2011-04-22 | 一种无需预期的Web服务测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102170378B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885876A (zh) * | 2012-12-21 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 测试方法及设备 |
CN104572462A (zh) * | 2014-12-31 | 2015-04-29 | 中国人民解放军理工大学 | 一种基于自适应随机策略的蜕变测试用例生成方法 |
CN104598381A (zh) * | 2015-01-26 | 2015-05-06 | 中国人民解放军理工大学 | 一种蜕变测试中失效测试用例的定位方法 |
CN104915680A (zh) * | 2015-06-04 | 2015-09-16 | 河海大学 | 基于改进型rbf神经网络的多标签蜕变关系预测方法 |
CN107808322A (zh) * | 2017-10-19 | 2018-03-16 | 河海大学 | 面向用户的大数据个性化推荐系统蜕变测试方法 |
CN110823226A (zh) * | 2019-10-30 | 2020-02-21 | 北京航空航天大学 | 一种基于蜕变测试技术的无人机智能航路规划测试方法 |
CN112699029A (zh) * | 2020-12-29 | 2021-04-23 | 中国航空工业集团公司西安飞机设计研究所 | 一种舱门分区软件的自动化测试方法 |
CN112988566A (zh) * | 2021-01-25 | 2021-06-18 | 杭州衣科云科技有限公司 | 测试覆盖率提高方法、装置、计算机设备及存储介质 |
CN113360363A (zh) * | 2020-03-04 | 2021-09-07 | 腾讯科技(深圳)有限公司 | 微服务系统的测试方法、装置、设备和计算机存储介质 |
CN113792878A (zh) * | 2021-08-18 | 2021-12-14 | 南华大学 | 一种数值程序蜕变关系的自动识别方法 |
-
2011
- 2011-04-22 CN CN201110109427.1A patent/CN102170378B/zh not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
CHEN,TY等: "Fault-based testing without the need of oracles", 《INFORMATION AND SOFTWARE TECHNOLOGY》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885876A (zh) * | 2012-12-21 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 测试方法及设备 |
CN103885876B (zh) * | 2012-12-21 | 2018-01-05 | 百度在线网络技术(北京)有限公司 | 测试方法及设备 |
CN104572462A (zh) * | 2014-12-31 | 2015-04-29 | 中国人民解放军理工大学 | 一种基于自适应随机策略的蜕变测试用例生成方法 |
CN104572462B (zh) * | 2014-12-31 | 2017-10-03 | 中国人民解放军理工大学 | 一种基于自适应随机策略的蜕变测试用例生成方法 |
CN104598381A (zh) * | 2015-01-26 | 2015-05-06 | 中国人民解放军理工大学 | 一种蜕变测试中失效测试用例的定位方法 |
CN104915680A (zh) * | 2015-06-04 | 2015-09-16 | 河海大学 | 基于改进型rbf神经网络的多标签蜕变关系预测方法 |
CN104915680B (zh) * | 2015-06-04 | 2018-06-19 | 河海大学 | 基于改进型rbf神经网络的多标签蜕变关系预测方法 |
CN107808322A (zh) * | 2017-10-19 | 2018-03-16 | 河海大学 | 面向用户的大数据个性化推荐系统蜕变测试方法 |
CN110823226A (zh) * | 2019-10-30 | 2020-02-21 | 北京航空航天大学 | 一种基于蜕变测试技术的无人机智能航路规划测试方法 |
CN110823226B (zh) * | 2019-10-30 | 2021-04-30 | 北京航空航天大学 | 一种基于蜕变测试技术的无人机智能航路规划测试方法 |
CN113360363A (zh) * | 2020-03-04 | 2021-09-07 | 腾讯科技(深圳)有限公司 | 微服务系统的测试方法、装置、设备和计算机存储介质 |
CN113360363B (zh) * | 2020-03-04 | 2024-04-02 | 腾讯科技(深圳)有限公司 | 微服务系统的测试方法、装置、设备和计算机存储介质 |
CN112699029A (zh) * | 2020-12-29 | 2021-04-23 | 中国航空工业集团公司西安飞机设计研究所 | 一种舱门分区软件的自动化测试方法 |
CN112699029B (zh) * | 2020-12-29 | 2023-04-14 | 中国航空工业集团公司西安飞机设计研究所 | 一种舱门分区软件的自动化测试方法 |
CN112988566A (zh) * | 2021-01-25 | 2021-06-18 | 杭州衣科云科技有限公司 | 测试覆盖率提高方法、装置、计算机设备及存储介质 |
CN112988566B (zh) * | 2021-01-25 | 2024-01-02 | 杭州衣科信息技术股份有限公司 | 测试覆盖率提高方法、装置、计算机设备及存储介质 |
CN113792878A (zh) * | 2021-08-18 | 2021-12-14 | 南华大学 | 一种数值程序蜕变关系的自动识别方法 |
CN113792878B (zh) * | 2021-08-18 | 2024-03-15 | 南华大学 | 一种数值程序蜕变关系的自动识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102170378B (zh) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102170378B (zh) | 一种无需预期的Web服务测试方法 | |
Shahin et al. | A systematic review of software architecture visualization techniques | |
Luo et al. | Filling or abusing the institutional void? Ownership and management control of public family businesses in an emerging market | |
CN103218288B (zh) | 信息验证 | |
Rozinat et al. | Conformance checking of processes based on monitoring real behavior | |
CN107395353A (zh) | 一种区块链共识方法及装置 | |
CN107894953A (zh) | 一种银行应用测试数据的生成方法及装置 | |
CN108255714A (zh) | 接口文档构建测试方法及终端设备 | |
CN101819551B (zh) | 记录企业信息系统的服务交互数据的方法和系统 | |
Quoc Viet Nguyen et al. | Collaborative schema matching reconciliation | |
Hussain et al. | Role of financial inclusion and ICT for sustainable economic development in developing countries | |
Fitzgerald et al. | Foundations for model-based engineering of systems of systems | |
CN101872322A (zh) | 一种基于需求模型的软件特性检测方法 | |
CN101464796A (zh) | 一种建立软件需求模型的方法 | |
Jayasena et al. | Ensuring engagement of stakeholders in smart city projects: Case study in Sri Lanka | |
Agarwal et al. | Code coverage using intelligent water drop (IWD) | |
Mohammadi et al. | A framework for combining problem frames and goal models to support context analysis during requirements engineering | |
CN102364440A (zh) | 一种用于建立软件需求模型的系统及建立软件需求模型的方法 | |
CN102681936B (zh) | 一种针对金融系统测试结果的验证方法及装置 | |
Moloney et al. | Quality data for strategic infrastructure decisions in Ireland | |
Amankwaa et al. | Water ATMs and access to water: Digitalisation of off-grid water infrastructure in peri-urban Ghana | |
Kühne et al. | Decision support system for municipal energy utilities: Approach, architecture, and implementation | |
Rodríguez | Verification based on unfoldings of Petri nets with read arcs | |
CN111857670B (zh) | 应用架构的确定方法和装置 | |
Mussbacher et al. | Transformation of aspect-oriented requirements specifications for reactive systems into aspect-oriented design specifications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141029 |