CN102306123A - 基于cstm模型测试数据转换的构件软件可靠性分析方法 - Google Patents
基于cstm模型测试数据转换的构件软件可靠性分析方法 Download PDFInfo
- Publication number
- CN102306123A CN102306123A CN201110312104A CN201110312104A CN102306123A CN 102306123 A CN102306123 A CN 102306123A CN 201110312104 A CN201110312104 A CN 201110312104A CN 201110312104 A CN201110312104 A CN 201110312104A CN 102306123 A CN102306123 A CN 102306123A
- Authority
- CN
- China
- Prior art keywords
- test
- mrow
- msub
- msubsup
- data
- 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
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个测试阶段,如公式二所示;
——指示构件cj是否参与Testi,如公式三所示;
测试数据集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表示整个测试过程中收集到的测试数据集,表示为
公式五
下面定义单元测试模型。根据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个测试阶段,如公式二所示;
公式二
测试数据集TD:
TD表示整个测试过程中收集到的测试数据集,表示为
公式四
单元测试模型UT:
UT建模单元测试过程,UT定义为n元组<b1,b2,…,bn>,其中bj表示对构件cj执行单元测试总时间的期望值;
白盒测试模型
建模Testi中从构件cj到构件ck的控制流转移; 定义为三元组 其中表示转移的名字;表示中从构件 转移到构件时构件cj的平均执行时间; 表示Testi中构件cj当前执行的情况下,构件ck下一个执行的条件概率;
基于CSTM的测试数据转换是通过以下三个步骤实现的:
步骤1:将所有构件的白盒测试数据转化为单元测试数据;
对构件在不同测试阶段的测试数据进行测试阶段归一化处理;基于执行时间比例的定义,通过实现构件白盒测试剖面到单元测试剖面之间的映射来完成数据转换;选择单元测试阶段作为归一化阶段;根据公式四,任意构件cj(j=1,…,n)的测试数据集表示为 设其转化后的数据集为T′j={(t′jk,n′jk)}, 其中
公式七
步骤2:将步骤1中得到的构件单元测试数据转化成对整个构件软件应用执行基于其运行剖面的黑盒测试情况下的测试数据;
公式九
步骤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 true CN102306123A (zh) | 2012-01-04 |
CN102306123B 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 (2)
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 |
CN102033806A (zh) * | 2010-12-14 | 2011-04-27 | 北京航空航天大学 | 一种实时嵌入式软件可靠性测试数据生成方法 |
-
2011
- 2011-10-14 CN CN201110312104.2A patent/CN102306123B/zh not_active Expired - Fee Related
Patent Citations (2)
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 |
CN102033806A (zh) * | 2010-12-14 | 2011-04-27 | 北京航空航天大学 | 一种实时嵌入式软件可靠性测试数据生成方法 |
Non-Patent Citations (1)
Title |
---|
王军等: "《构件对软件架构可靠性作用的分析》", 《佳木斯大学学报》, vol. 24, no. 1, 31 January 2006 (2006-01-31), pages 61 - 64 * |
Also Published As
Publication number | Publication date |
---|---|
CN102306123B (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112149316B (zh) | 基于改进的cnn模型的航空发动机剩余寿命预测方法 | |
Levy et al. | Summary of data from the fifth AIAA CFD drag prediction workshop | |
CN106444701B (zh) | 领导-跟随型多智能体系统的有限时间鲁棒故障诊断设计方法 | |
WO2017024691A1 (zh) | 一种模拟电路故障模式分类方法 | |
WO2019087987A1 (ja) | 異常検知装置、異常検知方法、及びプログラム | |
CN101576443A (zh) | 基于灰色rbf神经网络的加速寿命试验寿命预测方法 | |
CN108427401A (zh) | 一种具有联合连通拓扑的飞行控制系统协同故障诊断方法 | |
CN103136239B (zh) | 一种基于张量重建的交通数据丢失恢复方法 | |
CN104700151A (zh) | 一种基于三次样条插值曲线拟合的风电功率考核方法 | |
CN102636742A (zh) | 基于小波神经网络的大规模模拟电路故障诊断方法 | |
CN105606381B (zh) | 一种分布式滤波网络系统及设计方法 | |
CN104793124A (zh) | 基于小波变换和ica特征提取的开关电路故障诊断方法 | |
CN102508772B (zh) | 基于pcstm模型考虑测试与运行剖面不同的测试数据转换构件软件可靠性分析方法 | |
CN104965506A (zh) | 一种基于可调参数分布式飞行控制系统实时故障诊断方法 | |
CN103941724A (zh) | 一种低故障诊断精度要求的长时延网络控制系统容错控制方法 | |
CN104537418A (zh) | 一种自底向上的高维数据因果网络学习方法 | |
CN102662848B (zh) | 一种贝叶斯软件可靠性验证测试方法及其计算机辅助工具 | |
CN102087628A (zh) | 一种基于软件功能分析的软件故障树生成方法 | |
CN102306123A (zh) | 基于cstm模型测试数据转换的构件软件可靠性分析方法 | |
CN104581734A (zh) | 一种网络社区划分方法及装置 | |
CN109525598A (zh) | 一种基于变分混合的无线传感网深度容错压缩方法及系统 | |
CN114692495A (zh) | 一种高效的基于可靠性框图的复杂系统可靠性评估方法 | |
CN104200002A (zh) | 一种粘性阻尼振动信号中的模态参数提取方法 | |
Cui et al. | Fault Diagnosis Method of Aircraft Anti-skid Brake System Based on GWO-PNN | |
CN113379126A (zh) | 基于混合互相关熵长短期记忆网络的风电功率预测方法 |
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 |