CN101783750A - 一种基于贝叶斯网络失败风险模型的Web Service测试方法 - Google Patents

一种基于贝叶斯网络失败风险模型的Web Service测试方法 Download PDF

Info

Publication number
CN101783750A
CN101783750A CN200910244116A CN200910244116A CN101783750A CN 101783750 A CN101783750 A CN 101783750A CN 200910244116 A CN200910244116 A CN 200910244116A CN 200910244116 A CN200910244116 A CN 200910244116A CN 101783750 A CN101783750 A CN 101783750A
Authority
CN
China
Prior art keywords
node
failure
risk
probability
web service
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
Application number
CN200910244116A
Other languages
English (en)
Other versions
CN101783750B (zh
Inventor
余韡
李未
李贺
白晓颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN2009102441169A priority Critical patent/CN101783750B/zh
Publication of CN101783750A publication Critical patent/CN101783750A/zh
Application granted granted Critical
Publication of CN101783750B publication Critical patent/CN101783750B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于贝叶斯网络失败风险模型的Web Service测试方法:(1)根据Web Service所涉及的本体中各个组件(类和属性)的依赖关系和调用关系建立相应的贝叶斯网络BN;(2)通过BN中的节点依赖关系计算每个节点的相对重要程度Ir;(3)由先验知识确定每个节点在BN中失败的概率P;(4)计算每个节点的失败风险Risk,Risk=P·Ir,并选择风险最高的节点进行测试;(5)将已测试节点的测试结果(成功或失败)代入失败概率公式,更新未测试节点的当前失败概率P;(6)重复步骤(4)和步骤(5),直至完成指定测试任务(例如测试完指定数量的节点)。本发明根据各个组件的动态失败风险来选择测试的顺序,在有限时间内不能穷尽测试每个组件的情况下,选择最容易失败的组件进行测试,从而提高测试的价值、降低测试的成本。

Description

一种基于贝叶斯网络失败风险模型的Web Service测试方法
发明领域
本发明涉及一种Web Service测试优化的方法,尤其涉及对Web Service各个组件失败风险进行贝叶斯网络建模,并从中选择风险最大的组件进行测试的方法。
发明背景
Web Service是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务,它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。
传统的软件往往由一个或若干个可靠的组织进行制作和维护,但Web Service则是在开放的Internet环境中,由动态发现与组装一些松耦合的服务来实现的,而这些服务的提供者又是相对独立的,因此,相比于传统的软件测试,对Web Service进行测试将会更为困难。由于Web Service具有潜在的不稳定性、不可靠性和不可预知性,要测试完其所有组件是极其费时的,也几乎是不可能的。但同时,为了保证Web Service的质量,又不得不进行测试。因此,必须在时间有限的情况下,有选择性地进行测试,即选择失败而导致潜在风险最高的若干Web Service组件进行测试。所以,建立一种刻画Web Service组件失败风险的模型,并在此模型的基础上研究相应的测试方法,具有重要的意义。
发明内容
有鉴于此,本发明建立了一个贝叶斯网络以刻画Web Service组件之间的失败依赖关系,并在此网络的基础上量化组件的失败风险,最后,依据组件失败风险来有选择性地进行动态测试。
一种基于贝叶斯网络失败风险模型的Web Service测试方法,其特征在于步骤如下:
(A)根据Web Service所涉及的本体中各个组件(类和属性)的依赖关系和调用关系建立相应的贝叶斯网络BN;
(B)通过BN中的节点依赖关系计算每个节点的相对重要程度Ir
(C)由先验知识确定每个节点在BN中失败的初始概率P;
(D)计算每个节点的失败风险Risk,Risk=P·Ir,并选择风险最高的节点进行测试;
(E)将已测试节点的测试结果(成功或失败)作为证据代入失败概率公式,更新未测试节点的当前失败概率P;
(F)重复步骤(D)和步骤(E),直至完成指定测试任务。
根据本发明的又一个方面,所述的步骤(A)包括:
(A1)将每个本体中各个组件之间的关系转化为失败依赖关系;
(A2)BN中的一个节点代表本体中的一个组件,每条有向边代表所连接的两个组件之间的失败依赖关系,因此BN反映了组件的所有失败依赖关系。
根据本发明的又一个方面,所述的步骤(B)包括:
(B1)由任一个节点C的出度及其所有不同辈分后代的出度定义并计算C的绝对重要程度Ia
(B2)重复(b1)的步骤,直至计算出BN中所有节点的绝对重要程度;
(B3)将任一个节点C的绝对重要程度与BN中最大绝对重要程度的比值作为C的相对重要程度Ir
根据本发明的又一个方面,所述的步骤(C)包括:
(C1)对于无其他节点指向的节点C,先验知识必须给出C失败的概率,这个概率作为在BN中失败的初始概率P;
(C2)对于被其他节点指向的节点C,先验知识必须给出在C的父节点失败或不失败的所有可能的组合情况下,C失败的条件概率;其中,C的父节点都不失败的情况下C失败的概率作为C在BN中失败的初始概率P。
根据本发明的又一个方面,所述的步骤(D)包括:
(D1)将每个节点的失败风险定义为Risk=P·Ir
(D2)测试BN中当前风险最大的节点。
根据本发明的又一个方面,所述的步骤(E)包括:将已测试节点的测试结果(成功或失败)作为已知条件代入失败概率公式,更新未测试节点的当前失败概率P。
根据本发明的又一个方面,所述的步骤(F)包括:测试的终止条件不必是穷尽所有节点,可以是,例如:测试完指定数量的高风险节点;或某一指定测试时间段结束。
附图说明
图1为本发明的方法基本流程图。
具体实施方式
下面参考附图,对本发明的具体实施进行详细的说明。
本发明的核心思想是:通过建立Web Service的各个组件在动态测试中失败风险的模型,按照风险的高低选择组件进行测试。
本发明的核心步骤包括以下六个部分:
步骤(1):将Web Service所涉及的本体中各个组件(类或属性)间的关系实施进一步的抽象,即通过因果关系机理分析,将实际应用中这些组件的数据依赖、函数依赖等关系全部转化为运行失败的依赖关系,并将这种关系在一个贝叶斯网络BN中描绘出来。其中,每个节点分别代表本体中的一个组件,每条有向边代表所连接的两个节点之间的失败依赖关系,由失败的原因节点指向结果节点。
步骤(2):计算所有节点在BN中的相对重要程度。
本发明将节点对其后代的影响作为该节点的绝对重要程度,具体而言,即把节点的出度及其所有不同辈分后代节点的出度作为该节点绝对重要程度的衡量,相同辈分的后代受到该节点的影响相同,所占权重也相同;该节点对后代节点的影响应该随着后代辈分的降低而呈指数式递减。因此,本发明定义节点Ci绝对重要程度Ia(Ci)的计算公式如下:
I a ( C i ) = Σ j = 1 Dep i w j N j
其中,
1)Depi是以节点Ci为根的树的深度;
2)Nj是节点Ci第j代后代的节点数;
3)wj是节点Ci的每个第j代后代的权重,代表了Ci对该后代的影响程度,它应随着j的递增而呈指数递减,本发明取 w j = 1 2 j .
本发明为了将节点的重要程度归一化,定义了节点Ci相对重要程度Ir(Ci),其计算公式如下:
I r ( C i ) = I a ( C i ) max j = 1 , . . . , n ( I a ( C j ) )
其中,
1)n是BN节点的总个数;
2)
Figure G2009102441169D00034
是所有节点中绝对重要程度的最大值。
步骤(3):计算所有节点的失败概率。
首先,本发明约定,Ci=0代表测试失败,Ci=1代表测试通过。
为求节点的失败概率公式,应先对BN所有节点的联合概率分布PBN进行分解,从而使失败概率的推断计算可以通过对联合概率分布求边缘分布得到。该分解如下:
P BN = Π k = 1 n P ( C k | pa k )
其中,pak是节点Ck的所有父节点;若Ck无父节点,则公式中的P(Ck|pak)项退化为P(Ck)。所有P(Ck|pak)的值均由先验知识给出。
由上述分解式,可以得到在当前状态下,计算节点Ci失败的概率的公式:
P ( C i = 0 | E ) = P ( C i = 0 , E ) P ( E ) = P ( C i = 0 , E ) Σ C k P ( C k , E ) = Σ BN \ [ ( C i = 0 ) ∪ E ] P BN Σ BN \ E P BN = Σ BN \ [ ( C i = 0 ) ∪ E ] Π k = 1 n P ( C k | pa k ) Σ BN \ E Π k = 1 n P ( C k | pa k )
其中,E是所有当前已测试节点的状态集合;在初始状态,
Figure G2009102441169D00043
此时,即得节点Ci的初始失败概率:
P(Ci=0|E)=P(Ci=0|pai)
可以看到,节点的初始失败概率是完全由先验知识决定的。
步骤(4):计算所有未测试节点的失败风险。
本发明将节点的失败风险定义为其失败概率和其在BN中相对重要程度的乘积,因此,节点Ci失败风险的计算公式如下:
Risk(Ci)=P(Ci|Ec)·Ir(Ci)
步骤(5):选择未测试节点中的失败风险最高的节点进行测试,
步骤(6):本发明将测试结束条件定义为完成测试个节点。若测试满足测试结束条件,则停止测试;否则,将已测试结果代入节点失败概率计算公式,更新所有未测试节点的当前失败概率,转步骤(4)(5)。
一种基于贝叶斯网络失败风险模型的Web Service测试方法的伪代码如下:
1)
2)j←1;
3)for i=1 to n
4)Calculate Ir(Ci);
5)endfor
6)while(the number of tested component is less than n/2)
7)do
8)foreach Ci in BN\E
9)Calculate Risk(Ci);
10)endforeach
11)from BN\E select
Figure G2009102441169D00051
such that Risk ( C s j ) = max i ∈ BN \ E { Risk ( C i ) } ;
12)Test
13)Refresh the status of
Figure G2009102441169D00054
14) E ← E ∪ C s j ;
15)j←j+1;
16)endwhile。

Claims (7)

1.一种基于贝叶斯网络失败风险模型的Web Service测试方法,其特征在于步骤如下:
(A)根据Web Service所涉及的本体中各个组件的依赖关系和调用关系建立相应的贝叶斯网络BN;
(B)通过BN中的节点依赖关系计算每个节点的相对重要程度Ir
(C)由先验知识确定每个节点在BN中失败的概率P;
(D)更新所有到目前为止尚未测试的节点的失败风险Risk,Risk=P·Ir,并选择风险最高的节点进行测试;
(E)将之前所有已测试的节点的成功或失败的测试结果代入失败概率公式,更新所有到目前为止尚未测试的节点的失败的概率P;
(F)重复步骤(D)和步骤(E),直至完成指定测试任务。
2.根据权利要求1的基于贝叶斯网络失败风险评估的Web Service测试方法,其特征在于,所述的步骤(A)包括:
(A1)将每个本体中各个组件之间的关系转化为失败依赖关系;
(A2)BN中的一个节点代表本体中的一个组件,每条有向边代表所连接的两个组件之间的失败依赖关系,因此BN反映了组件的所有失败依赖关系。
3.根据权利要求1的基于贝叶斯网络失败风险评估的Web Service测试方法,其特征在于,所述的步骤(B)包括:
(B1)由任一个节点C的出度及其所有不同辈分后代的出度定义并计算C的绝对重要程度Ia
(B2)重复(B1)的步骤,直至计算出BN中所有节点的绝对重要程度;
(B3)将任一个节点C的绝对重要程度与BN中最大绝对重要程度的比值作为C的相对重要程度Ir
4.根据权利要求1的基于贝叶斯网络失败风险评估的Web Service测试方法,其特征在于,所述的步骤(C)包括:
(C1)对于无其他节点指向的节点C,先验知识必须给出C失败的非条件概率,这个概率作为C在BN中的失败的概率P;
(C2)对于被其他节点指向的节点C,先验知识必须给出在C的父节点失败或不失败的所有可能的组合情况下,C失败的条件概率;其中,C的父节点都不失败的情况下C失败的概率作为C在BN中的失败概率P。
5.根据权利要求1的基于贝叶斯网络失败风险评估的Web Service测试方法,其特征在于,所述的步骤(D)包括:
(D1)将每个节点的失败风险定义为Risk=P·Ir
(D2)测试BN中当前风险最大的节点。
6.根据权利要求1的基于贝叶斯网络失败风险评估的Web Service测试方法,其特征在于,所述的步骤(E)包括:将之前所有已测试的节点成功或失败的测试结果代入失败概率公式,更新未测试节点的失败的概率P。
7.根据权利要求1的基于贝叶斯网络失败风险评估的Web Service测试方法,其特征在于,所述的步骤(F)包括:测试的终止条件是测试完指定数量的高风险节点。
CN2009102441169A 2009-12-29 2009-12-29 一种基于贝叶斯网络失败风险模型的Web Service测试方法 Expired - Fee Related CN101783750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102441169A CN101783750B (zh) 2009-12-29 2009-12-29 一种基于贝叶斯网络失败风险模型的Web Service测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102441169A CN101783750B (zh) 2009-12-29 2009-12-29 一种基于贝叶斯网络失败风险模型的Web Service测试方法

Publications (2)

Publication Number Publication Date
CN101783750A true CN101783750A (zh) 2010-07-21
CN101783750B CN101783750B (zh) 2012-07-04

Family

ID=42523575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102441169A Expired - Fee Related CN101783750B (zh) 2009-12-29 2009-12-29 一种基于贝叶斯网络失败风险模型的Web Service测试方法

Country Status (1)

Country Link
CN (1) CN101783750B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077447A (zh) * 2013-01-24 2013-05-01 华中科技大学 一种基于贝叶斯网络的地铁施工安全管理决策方法
CN105528298A (zh) * 2016-02-26 2016-04-27 百度在线网络技术(北京)有限公司 安全测试方法和装置
CN107025169A (zh) * 2017-01-20 2017-08-08 武汉大学 一种基于贝叶斯网络推理的软件错误分层诊断方法
CN107425945A (zh) * 2017-08-18 2017-12-01 太仓宏璟瑞远物业管理有限公司 一种通讯系统的风险性评估和校正方法
CN109586951A (zh) * 2018-11-07 2019-04-05 北京达佳互联信息技术有限公司 实施故障转移的方法、装置、电子设备及可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1667587A (zh) * 2005-04-11 2005-09-14 北京航空航天大学 基于扩展的马尔克夫贝叶斯网的软件可靠性评估方法
CN1851491A (zh) * 2006-02-20 2006-10-25 华为技术有限公司 一种故障定位方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077447A (zh) * 2013-01-24 2013-05-01 华中科技大学 一种基于贝叶斯网络的地铁施工安全管理决策方法
CN103077447B (zh) * 2013-01-24 2016-08-03 华中科技大学 一种基于贝叶斯网络的地铁施工安全管理决策方法
CN105528298A (zh) * 2016-02-26 2016-04-27 百度在线网络技术(北京)有限公司 安全测试方法和装置
CN107025169A (zh) * 2017-01-20 2017-08-08 武汉大学 一种基于贝叶斯网络推理的软件错误分层诊断方法
CN107025169B (zh) * 2017-01-20 2020-08-21 武汉大学 一种基于贝叶斯网络推理的软件错误分层诊断方法
CN107425945A (zh) * 2017-08-18 2017-12-01 太仓宏璟瑞远物业管理有限公司 一种通讯系统的风险性评估和校正方法
CN109586951A (zh) * 2018-11-07 2019-04-05 北京达佳互联信息技术有限公司 实施故障转移的方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN101783750B (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
Li et al. Architectural technical debt identification based on architecture decisions and change scenarios
Walker et al. Identification of parameters in normal error component logit‐mixture (NECLM) models
CN101783750B (zh) 一种基于贝叶斯网络失败风险模型的Web Service测试方法
CN112052172B (zh) 第三方通道的快速测试方法、装置和电子设备
Redhead et al. Reliable network inference from unreliable data: A tutorial on latent network modeling using STRAND.
Mendes et al. Using Bayesian Network to estimate the value of decisions within the context of Value-Based Software Engineering
Fernández et al. In quest for requirements engineering oracles: dependent variables and measurements for (good) RE
Cheng et al. Risk propagation model and simulation of schedule change in construction projects: A complex network approach
CN113077185B (zh) 工作量评估方法、装置、计算机设备和存储介质
Mellado et al. Security requirements variability for software product lines
Neubauer Development and evaluation of management procedures in pāua quota management areas 5A, 5B and 5D
Whitney et al. Bayesian networks for social modeling
Mendes et al. Using Bayesian network to estimate the value of decisions within the context of value-based software engineering: A multiple case study
Daneshkhah et al. Prior elicitation and evaluation of imprecise judgements for Bayesian analysis of system reliability
Gupta et al. SERIES: A software risk estimator tool support for requirement risk assessment
Barreiro‐Ures et al. Analysis of interval‐grouped data in weed science: The binnednp Rcpp package
Ardagna et al. A methodology for cross-platform, event-driven Big Data analytics-as-a-service
Pham et al. Software reliability modeling
Fox A formal orchestration model for dynamically adaptable services with COWS
CN113343366B (zh) 车身主断面参数的确定方法及相关设备
Blair et al. Fuzzy stochastic cost and schedule risk analysis: MOB case study
Garlan Evolution Styles: Formal foundations and tool support for software architecture evolution
Knop et al. Balancing Variability and Costs in Software Product Lines: An Experience Report in Safety-Critical Systems
del Sagrado Martinez et al. A Bayesian network for predicting the need for a requirements review
CN115759736A (zh) 基于bp神经网络的采购活动安全性评估方法及相关设备

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: 20120704

Termination date: 20161229

CF01 Termination of patent right due to non-payment of annual fee