CN102306123B - 基于cstm模型测试数据转换的构件软件可靠性分析方法 - Google Patents
基于cstm模型测试数据转换的构件软件可靠性分析方法 Download PDFInfo
- Publication number
- CN102306123B CN102306123B CN201110312104.2A CN201110312104A CN102306123B CN 102306123 B CN102306123 B CN 102306123B CN 201110312104 A CN201110312104 A CN 201110312104A CN 102306123 B CN102306123 B CN 102306123B
- Authority
- CN
- China
- Prior art keywords
- test
- component
- sigma
- model
- testing
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
- Debugging And Monitoring (AREA)
Abstract
基于CSTM模型测试数据转换的构件软件可靠性分析方法,本发明涉及一种软件可靠性分析方法。它为了解决现有黑盒方法的忽略了组成系统的构件的测试以及可靠性信息,没有考虑软件的体系结构的缺点,本发明是测试数据转换的方法来实现黑盒方法和白盒方法的结合。它首先采用白盒方法实现构件软件测试剖面到运行剖面的映射,建立NHPP模型需要的可靠性数据集,然后采用黑盒方法建立构件软件应用的NHPP模型。测试数据转换的目的是将分阶段实现的、异构的构件软件灰盒测试过程转换成满足NHPP模型假设的单调统一的黑盒测试过程,把所有构件的单元测试数据和集成测试中构件之间的接口失效数据转换成整个应用基础上的黑盒测试数据,建立满足NHPP模型假设的可靠性数据集。
Description
技术领域
本发明涉及一种软件可靠性分析方法。
背景技术
鉴于NHPP类软件可靠性增长模型在实际应用中的优秀表现,近年来人们开始研究如何建立构件软件应用的NHPP模型。但是,NHPP模型是一种黑盒模型,它们把软件看成一个单调的整体,只考虑软件同外部环境的交互,而不考虑软件的内部结构,因此这种黑盒模型不能适应大型的基于构件的新型软件开发模式。黑盒方法的缺点包括它们忽略了组成系统的构件的测试以及可靠性信息,没有考虑软件的体系结构。
发明内容
本发明为了解决现有黑盒方法的忽略了组成系统的构件的测试以及可靠性信息,没有考虑软件的体系结构的缺点,而提出了一种基于CSTM模型测试数据转换的构件软件可靠性分析方法。
基于CSTM模型测试数据转换的构件软件可靠性分析方法,对需要用到的模型和参数进行定义:
CSTM模型:
CSTM模型定义为六元组<n,m,UT,WT,TD,Φ>,其中n表示构件总数;m表示白盒测试中集成构件的总次数;UT表示单元测试模型;WT表示白盒测试模型集,i=1,…,m,其中表示Testi的白盒测试模型;TD表示整个测试过程中收集到的测试数据集;Φ表示某一构件是否参与某一阶段测试的所有标志集,用矩阵表示为
式中Testi——构件软件测试过程中第i个测试阶段,如公式二所示;
测试数据集TD:
TD表示整个测试过程中收集到的测试数据集,表示为
单元测试模型UT:
UT建模单元测试过程,UT定义为n元组<b1,b2,…,bn>,其中bj表示对构件cj执行单元测试总时间的期望值;
建模Testi中从构件cj到构件ck的控制流转移;定义为三元组其中表示转移的名字;表示Testi中从构件cj转移到构件ck时构件cj的平均执行时间;表示Testi中构件cj当前执行的情况下,构件ck下一个执行的条件概率;
基于CSTM的测试数据转换是通过以下三个步骤实现的:
步骤1:将所有构件的白盒测试数据转化为单元测试数据;
对构件在不同测试阶段的测试数据进行测试阶段归一化处理;基于执行时间比例的定义,通过实现构件白盒测试剖面到单元测试剖面之间的映射来完成数据转换;选择单元测试阶段作为归一化阶段;根据公式四,任意构件cj(j=1,…,n)的测试数据集表示为 设其转化后的数据集为T′j={(t′jk,n′jk)}, 其中
步骤2:将步骤1中得到的构件单元测试数据转化成对整个构件软件应用执行基于其运行剖面的黑盒测试情况下的测试数据;
数据转换是建立满足NHPP模型假设的测试数据集;设转化后的数据集为Tj={(tjk,njk)}, 其中
步骤3:建立可靠性数据集;
通常,用于可靠性分析的测定数据分为以下两类:
第一类,记录软件故障的时间间隔的测定数据;
第二类,记录规定时间区间内发现差错数的测定数据;
使用第二类方式来建立可靠性数据集,即关于一定时间区间(0,th)(h=1,2,…,n;0<t1<t2<…<tn)内被发现的差错总数Yh的数据;基于步骤2中建立的系统测试数据集,Yh表示为
本发明是测试数据转换的方法来实现黑盒方法和白盒方法的结合。它首先采用白盒方法实现构件软件测试剖面到运行剖面的映射,建立NHPP模型需要的可靠性数据集,然后采用黑盒方法建立构件软件应用的NHPP模型。测试数据转换的目的是将分阶段实现的、异构的构件软件灰盒测试过程转换成满足NHPP模型假设的单调统一的黑盒测试过程,把所有构件的单元测试数据和集成测试中构件之间的接口失效数据转换成整个应用基础上的黑盒测试数据,建立满足NHPP模型假设的可靠性数据集。
附图说明
图1是系统的体系结构示意图;图2是C-G-O模型,G-O模型,可加模型以及实际测试数据曲线图。
具体实施方式
具体实施方式一: 本实施方式中的CSTM模型假设在构件软件整个测试过程中对构件执行基于其运行剖面的黑盒测试,在这种情况下建模构件软件测试过程。模型主要由两大部分组成:单元测试模型和白盒测试模型,其中白盒测试模型建模集成测试和系统测试过程。
对需要用到的模型和参数进行定义:
CSTM模型:
CSTM模型定义为六元组<n,m,UT,WT,TD,Φ>,其中n表示构件总数;m表示白盒测试中集成构件的总次数;UT表示单元测试模型;WT表示白盒测试模型集,i=1,…,m,其中表示Testi的白盒测试模型;TD表示整个测试过程中收集到的测试数据集;Φ表示某一构件是否参与某一阶段测试的所有标志集,用矩阵表示为
式中Testi——构件软件测试过程中第i个测试阶段,如公式二所示;
公式二
测试数据集TD:
TD表示整个测试过程中收集到的测试数据集,表示为
式中——在Testi期间收集到的构件cj失效数据的有序集,表示为
下面定义单元测试模型。根据CSTM模型假设,不考虑构件测试与运行剖面不同,因此单元测试过程满足NHPP模型假设,在建模过程中只需要描述测试数据信息,不需要描述测试剖面。
单元测试模型UT:
UT建模单元测试过程,UT定义为n元组<b1,b2,…,bn>,其中bj表示对构件cj执行单元测试总时间的期望值;
在白盒测试过程中,集成子系统的测试剖面与实际运行剖面可能不同,所以对其建模过程中除了要描述测试数据信息,关键要建模集成子系统的测试剖面。我们通过构件依赖图(component dependency graph,CDG)来实现对测试剖面的建模。以下定义中Testi满足0<i≤m。
建模Testi中从构件cj到构件ck的控制流转移。定义为三元组其中表示转移的名字;表示Testi中从构件cj转移到构件ck时构件cj的平均执行时间;表示Testi中构件cj当前执行的情况下,构件ck下一个执行的条件概率。
节点
根据CSTM模型假设,在执行测试数据转换时不需要考虑构件测试剖面到运行剖面的映射,只需要实现集成测试剖面到实际运行剖面的映射。这个映射关系的实现是基于构件执行时间比例的定义,如公式六。
基于CSTM的测试数据转换是通过以下三个步骤实现的:
步骤1:将所有构件的白盒测试数据转化为单元测试数据;
对构件在不同测试阶段的测试数据进行测试阶段归一化处理;基于执行时间比例的定义,通过实现构件白盒测试剖面到单元测试剖面之间的映射来完成数据转换;因为单元测试是每个构件都需要经历的测试阶段,且满足构件执行时间比例为1,转化比较简单,所以选择单元测试阶段作为归一化阶段;根据公式四,任意构件cj(j=1,…,n)的测试数据集表示为 设其转化后的数据集为T′j={(t′jk,n′jk)}, 其中
步骤2:将步骤1中得到的构件单元测试数据转化成对整个构件软件应用执行基于其运行剖面的黑盒测试情况下的测试数据;
数据转换是建立满足NHPP模型假设的测试数据集。设转化后的数据集为Tj={(tjk,njk)}, 其中
步骤3:建立可靠性数据集;
通常,用于可靠性分析的测定数据分为以下两类:
第一类,记录软件故障的时间间隔(或发现差错的时间间隔)的测定数据。
第二类,记录规定时间区间内发现差错数(或发生故障数)的测定数据。
使用第二类方式来建立可靠性数据集,即关于一定时间区间(0,th)(h=1,2,…,n;0<t1<t2<…<tn)内被发现的差错总数Yh的数据。基于步骤2中建立的系统测试数据集,Yh表示为
具体实施方式二:结合图1和图2说明本实施方式,本实施方式与具体实施方式一不同点在于为了分析基于测试数据转换方法建立的NHPP模型的有效性,开发了一个文本查询系统,系统的体系结构如图1所示。该软件系统由四个构件组成,用C++语言开发。各个构件详细参数如表一所示。
表一、构件参数
构件 | 代码行数 | 函数的数目 |
c1 | 931 | 19 |
c2 | 1295 | 25 |
c3 | 1108 | 27 |
c4 | 634 | 13 |
根据基于构件的软件测试,首先对每个构件执行单元测试。基于CSTM模型假设,单元测试中对每个构件执行基于其运行剖面的黑盒测试。建立单元测试模型如表二所示。
表二CSTM单元测试模型
然后执行集成测试和系统测试。建立白盒测试模型如表三、四所示。
表三、CSTM白盒测试模型
表四、CSTM白盒测试数据
基于建立的CSTM模型,执行基于CSTM的测试数据执行转换,建立可靠性数据集如表五所示。
利用测试数据转换得到的可靠性数据集,建立整个构件软件应用的G-O模型,称其为C-G-O模型。通过最小二乘法进行参数估计,参数估计值如表六所示。
为了评测C-G-O模型的性能,将故障重新注入到构件软件应用中,然后对整个应用执行基于其运行剖面的黑盒测试,得到的测试数据如表七所示。
表五、基于CSTM测试数据转换建立的可靠性数据集
表六、C-G-O模型参数
a | b |
87.4193 | 0.0277 |
表七、黑盒测试数据集
根据整个构件软件应用的黑盒测试数据集,建立G-O模型。通过最小二乘法对参数进行估计,得到的估计值如表八所示。
为了进行比较,也建立了该构件软件系统的可加模型。C-G-O模型,G-O模型,可加模型以及实际测试数据曲线如图2所示。从图中可以看出,C-G-O模型、G-O模型与软件系统黑盒测试数据曲线非常接近,说明基于CSTM的测试数据转换建立了满足NHPP模型假设的可靠性数据集。
表八、根据黑盒测试数据集估计的G-O模型参数
a | b |
89.9567 | 0.0254 |
为了采用量化的方法来评测所建立的C-G-O模型,用误差平方和(Sum of SquaredErrors,SSE)和R-square度量曲线拟合效果。两个模型的拟合结果如表九所示。分析结果表示,C-G-O模型的拟合结果较理想,优于可加模型。
表九、C-G-O和可加模型的数据拟合情况对比
比较标准 | 可加模型 | C-G-O模型 |
SSE | 5533.1 | 1076.7 |
R-square | 0.2072 | 0.8744 |
其它组成和连接方式与具体实施方式一相同。
Claims (1)
1.基于CSTM模型测试数据转换的构件软件可靠性分析方法,其特征在于它首先对需要用到的模型和参数进行定义:
CSTM模型:
CSTM模型定义为六元组<n,m,UT,WT,TD,Φ>,其中n表示构件总数;m表示白盒测试中集成构件的总次数;UT表示单元测试模型;WT表示白盒测试模型集,i=1,…,m,其中表示Testi的白盒测试模型;TD表示整个测试过程中收集到的测试数据集;Φ表示某一构件是否参与某一阶段测试的所有标志集,用矩阵表示为
式中Testi——构件软件测试过程中第i个测试阶段,如公式二所示;
——指示构件cj是否参与Testi,如公式三所示;
测试数据集TD:
TD表示整个测试过程中收集到的测试数据集,表示为
单元测试模型UT:
UT建模单元测试过程,UT定义为n元组<b1,b2,…,bn>,其中bj表示对构件cj执行单元测试总时间的期望值;
建模Testi中从构件cj到构件ck的控制流转移;定义为三元组其中表示Testi中从构件cj到构件ck的控制流转移的名字;表示Testi中从构件cj转移到构件ck时构件cj的平均执行时间;表示Testi中构件cj当前执行的情况下,构件ck下一个执行的条件概率;
节点
基于CSTM的测试数据转换是通过以下三个步骤实现的:
步骤1:将所有构件的白盒测试数据转化为单元测试数据;
对构件在不同测试阶段的测试数据进行测试阶段归一化处理;基于执行时间比例的定义,通过实现构件白盒测试剖面到单元测试剖面之间的映射来完成数据转换;选择单元测试阶段作为归一化阶段;根据公式四,任意构件cj(j=1,…,n)的测试数据集表示为 设其转化后的数据集为T′j={(t'jk,n'jk)}, 其中
步骤2:将步骤1中得到的构件单元测试数据转化成对整个构件软件应用执行基于其运行剖面的黑盒测试情况下的测试数据;
数据转换是建立满足NHPP模型假设的测试数据集;设转化后的数据集为 其中
步骤3:建立可靠性数据集;
通常,用于可靠性分析的测定数据分为以下两类:
第一类,记录软件故障的时间间隔的测定数据;
第二类,记录规定时间区间内发现差错数的测定数据;
使用第二类方式来建立可靠性数据集,即关于一定时间区间(0,th)(h=1,2,…,n;0<t1<t2<…<tn)内被发现的差错总数Yh的数据;基于步骤2中建立的系统测试数据集,Yh表示为
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110312104.2A CN102306123B (zh) | 2011-10-14 | 2011-10-14 | 基于cstm模型测试数据转换的构件软件可靠性分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110312104.2A CN102306123B (zh) | 2011-10-14 | 2011-10-14 | 基于cstm模型测试数据转换的构件软件可靠性分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102306123A CN102306123A (zh) | 2012-01-04 |
CN102306123B true CN102306123B (zh) | 2014-01-22 |
Family
ID=45379988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110312104.2A Expired - Fee Related CN102306123B (zh) | 2011-10-14 | 2011-10-14 | 基于cstm模型测试数据转换的构件软件可靠性分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102306123B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033806A (zh) * | 2010-12-14 | 2011-04-27 | 北京航空航天大学 | 一种实时嵌入式软件可靠性测试数据生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046029A1 (en) * | 2001-09-05 | 2003-03-06 | Wiener Jay Stuart | Method for merging white box and black box testing |
-
2011
- 2011-10-14 CN CN201110312104.2A patent/CN102306123B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033806A (zh) * | 2010-12-14 | 2011-04-27 | 北京航空航天大学 | 一种实时嵌入式软件可靠性测试数据生成方法 |
Non-Patent Citations (2)
Title |
---|
《构件对软件架构可靠性作用的分析》;王军等;《佳木斯大学学报》;20060131;第24卷(第1期);61-64 * |
王军等.《构件对软件架构可靠性作用的分析》.《佳木斯大学学报》.2006,第24卷(第1期),61-64. |
Also Published As
Publication number | Publication date |
---|---|
CN102306123A (zh) | 2012-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
de Bessa et al. | Data-driven fault detection and isolation scheme for a wind turbine benchmark | |
O’Connor et al. | A general cause based methodology for analysis of common cause and dependent failures in system risk and reliability assessments | |
CN111260261B (zh) | 一种系统概率风险自动评价方法 | |
CN109948276B (zh) | 失效分析方法、装置、设备和存储介质 | |
CN105574328B (zh) | 一种机载诊断模型的集成方法 | |
CN107220500B (zh) | 基于逆高斯过程的性能退化试验贝叶斯可靠性评估方法 | |
Su | Fitting single and mixture of generalized lambda distributions to data via discretized and maximum likelihood methods: GLDEX in R | |
CN102799531A (zh) | 一种基于层次分析理论的软件测试方法 | |
CN118035844A (zh) | 一种二次聚合个性化联邦的滚动轴承寿命预测方法及系统 | |
Vrabac et al. | Overcoming challenges for estimating virus spread dynamics from data | |
CN102306123B (zh) | 基于cstm模型测试数据转换的构件软件可靠性分析方法 | |
CN109766568A (zh) | 一种多因素耦合的航天人因可靠性不确定性分析方法 | |
CN106778252B (zh) | 基于粗糙集理论与waode算法的入侵检测方法 | |
CN102662848B (zh) | 一种贝叶斯软件可靠性验证测试方法及其计算机辅助工具 | |
CN108548669B (zh) | 一种工程装备传动系统故障诊断方法及系统 | |
Jin et al. | Unbiased variance estimates for system reliability estimate using block decompositions | |
CN110175314A (zh) | 一种基于ism法的软硬件混合指挥控制系统故障分层方法 | |
Wason et al. | New Paradigm for Software Reliability Estimation | |
CN102508772B (zh) | 基于pcstm模型考虑测试与运行剖面不同的测试数据转换构件软件可靠性分析方法 | |
Tian et al. | Web service reliability test method based on log analysis | |
CN105224736B (zh) | 一种基于约束求解的智能电网系统鲁棒性验证方法 | |
CN104978260A (zh) | 软件测试方法及装置 | |
Chandra et al. | Estimation of district level poor households in the state of Uttar Pradesh in India by combining NSSO Survey and Census Data | |
Sehra et al. | Effect of data preprocessing on software effort estimation | |
Faza et al. | The advanced electric power grid: Complexity reduction techniques for reliability modeling |
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: 20140122 Termination date: 20141014 |
|
EXPY | Termination of patent right or utility model |