CN102541736A - 一种软件可靠性执行过程加速测试方法 - Google Patents

一种软件可靠性执行过程加速测试方法 Download PDF

Info

Publication number
CN102541736A
CN102541736A CN2011104481596A CN201110448159A CN102541736A CN 102541736 A CN102541736 A CN 102541736A CN 2011104481596 A CN2011104481596 A CN 2011104481596A CN 201110448159 A CN201110448159 A CN 201110448159A CN 102541736 A CN102541736 A CN 102541736A
Authority
CN
China
Prior art keywords
test
test case
matrix
data
data characteristics
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
CN2011104481596A
Other languages
English (en)
Other versions
CN102541736B (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 CN201110448159.6A priority Critical patent/CN102541736B/zh
Publication of CN102541736A publication Critical patent/CN102541736A/zh
Application granted granted Critical
Publication of CN102541736B publication Critical patent/CN102541736B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明针对现有对嵌入式软件的可靠性测试需要较大的成本和较长的测试时间的问题,提出了一种软件可靠性执行过程加速测试方法,主要通过对已测的测试用例进行分析,得到由通过测试的测试用例的数据特征组成的通用特征矩阵和由引起软件失效的测试用例的数据特征所组成的关键特征矩阵,然后读取待测的测试用例,得到该测试用例的数据特征并对该数据特征与相应的通用特征矩阵进行相似性比较,对其是否执行进行判定,若是则执行,否则直接累积测试时间而不执行。本发明方法在不影响软件可靠性评估模型的基础上,在软件可靠性测试执行的环节进行加速,有效地减少了测试执行的工作量,起到明显的软件可靠性测试加速效果,减少了测试时间,节约了成本。

Description

一种软件可靠性执行过程加速测试方法
技术领域
本发明涉及软件测试领域,尤其涉及对嵌入式软件进行软件可靠性加速测试技术。
背景技术
随着计算机技术的迅猛发展,计算机软件已经渗透到越来越多的领域,特别是航空航天、金融和医疗等关系国计民生的关键行业。在这些领域中,往往采用嵌入式软件,软件系统规模庞大、逻辑复杂,对可靠性往往有着非常高的要求。因此,针对嵌入式软件的可靠性工程越来越受到人们的重视。而软件可靠性测试作为提高软件质量和可靠性的重要措施之一,正逐渐成为国内外软件可靠性工程的主要研究方向。
软件可靠性测试是指为了对软件的可靠性进行调查、分析和评价的一种测试活动,其主要特征是按照用户实际使用软件的方法来测试软件。为了能满足用户对软件的可靠性要求、评价软件可靠性水平及验证软件产品是否到达可靠性要求,软件可靠性测试作为测试软件并评估软件可靠性的一项技术,要求能有效地暴露在实际使用工程中影响软件可靠性的缺陷,并对软件的可靠性进行定量评估。
针对嵌入式软件,软件可靠性测试通常根据测试剖面生成测试数据,软件可靠性测试剖面可以理解为描述软件使用情况及其使用分布的一种模型。通过基于剖面的大量随机抽样获得的测试数据,能够从统计学的角度体现出软件的实际使用分布,因此软件可靠性测试发现的软件失效与软件的使用时间存在联系,能够用于软件的可靠性评估。根据统计学的大数原理,随机抽样的样本量越大越能体现出实际分布。在实际的工程中,测试数据太少不能体现出实际使用的分布,而测试数据的增大则意味着测试执行时间的增多,成本的扩大。以MTBF(平均故障间隔时间)要求为20000小时的嵌入式软件为例,为了能准确的评估该软件的可靠性,就需要抽取至少保证测试时间在20000小时以上的测试数据,显然这样的测试要求是很难满足的。目前,巨大的测试执行成本已经成为了制约嵌入式软件可靠性测试推广的瓶颈。
在针对嵌入式软件进行可靠性测试时,存在大量相似的测试数据。一方面,由于软件在功能点、运行剖面等方面存在着相似性,因此根据功能特性需求以及运行剖面所生成的测试数据具有相似性;另一方面,测试数据的大量生成,需要借助一定的建模语言或程序,因此所生成的测试数据就存在语法、格式等相似性。主要地,由于软件可靠性测试是基于测试剖面的随机测试,在发生概率较高的操作中,抽样产生的测试数据的相似度较高,事实上,这种情况也符合在实际使用中,人们总是习惯使用最常用的软件功能这一特性。但即使测试数据很相似,在测试过程中却也必须执行这些测试数据,原因一是它的执行累计时间会影响到软件可靠性的评估结果,另外也缺少对测试数据相关性进行科学判断的方法。因此,即使在针对嵌入式软件进行可靠性测试时,存在大量相似的测试数据,但是在现有的可靠性测试技术中都必须执行这些测试数据,这就使得嵌入式软件的可靠性测试具有比较大的成本和测试时间。
发明内容
本发明针对现有对嵌入式软件的可靠性测试需要较大的成本和较长的测试时间的问题,提出了一种软件可靠性执行过程加速测试方法。
本发明提供的一种软件可靠性执行过程加速测试方法,包括以下步骤:
步骤1:读取已进行过软件可靠性测试的测试用例,对测试用例进行预处理,得到经分类后的数字形式的测试用例,然后再将各测试用例的测试输入转换为二进制数据;
步骤2:针对每一类测试用例,首先对测试用例的测试输入进行数据特征分析,将测试输入的二进制数据分组,每组为一个数据特征,然后针对每个测试用例,将该测试用例中的每个测试输入的数据特征作为行元素为该测试用例建立数据特征矩阵;
步骤3:针对每一类测试用例的数据特征矩阵进行累积效应分析,建立两个累积矩阵:通用特征矩阵和关键特征矩阵,其中通用特征矩阵累积测试通过的测试用例的数据特征,关键特征矩阵累积未通过测试的测试用例的数据特征;
步骤4:读取待测试的测试用例并对该测试用例执行判定,判断该测试用例是否需要执行,若需要执行,执行步骤5,若不需要执行,则直接累积测试时间,然后转至步骤6;
步骤5:对读取的测试用例执行测试,在测试执行完毕后,累积测试时间,若该测试用例测试通过,则将该测试用例的数据特征累积到通用特征矩阵中,若该测试用例测试不通过,则将该测试用例的数据特征累积到关键特征矩阵中;
步骤6:判断是否还有待测试的测试用例,如果有,则转步骤4执行,否则根据测试结果开始进行可靠性评估,结束本测试方法。
步骤2中所述的数据特征分析具体为:选取颗粒度k,k值根据软件测试数据生成文件,在完整表述测试输入逻辑意义的前提下选取,然后根据颗粒度k和测试输入的逻辑意义,将测试输入的二进制数据划分为k组。并根据划分的k组逻辑数据建立数据特征矩阵。
步骤3中所述的累积效应分析具体为:根据已测测试用例的数据特征矩阵,对每一类测试用例中测试通过和测试未通过的测试用例的数据特征矩阵分别进行累积,累积矩阵中的每个元素为需要累积的数据特征矩阵中对应的同一位置的元素的集合,若需要累积的数据特征矩阵中对应的同一位置的元素相同,则在累积矩阵只保留一个元素,若需要累积的数据特征矩阵中对应的同一位置的元素不相同,则将所有不相同的元素组成一个格作为累积矩阵中的一个元素。
本发明的优点和积极效果在于:本发明方法在不影响软件可靠性评估模型的基础上,在软件可靠性测试执行的环节进行加速,能够有效地减少测试执行的工作量,起到明显的软件可靠性测试加速效果,减少测试时间,节约成本。
附图说明
图1为本发明加速测试方法的整体步骤流程图;
图2为本发明加速测试方法的步骤五中执行判定过程的步骤流程图。
具体实施步骤
为了便于本领域普通技术人员理解和实施本发明所提出的方法,下面通过具体实施方式对本发明作进一步的详细和深入描述。
本发明旨在利用已经完成的软件可靠性测试工作中收集到的失效数据、测试数据和测试执行记录等信息开展研究工作,分析软件可靠性测试数据的特征,能够在软件可靠性测试执行的过程中,通过不断的积累建立测试数据特征与发现软件失效的相互关系,在此基础上提出一种软件可靠性执行过程加速测试方法,在不影响软件可靠性评估模型的基础上,在软件可靠性测试执行的环节进行加速,能够有效的减少测试执行的工作量,起到明显的软件可靠性测试加速效果。
本发明软件可靠性执行过程加速测试,主要通过对测试数据进行分析,得到大量测试数据中具有较高相似度的那些测试数据,进一步通过执行判定原理对其是否执行进行判定,若判定成功,则直接累积测试时间而不执行该测试数据。如图1所示,为本发明方法的整体步骤流程图。本发明实施例以仿挂点管理软件(SMSS)进行可靠性测试时使用本发明方法的过程进行具体说明。
步骤1,读取软件可靠性测试用例,对软件可靠性测试数据进行预处理,使数字化成便于计算机分析处理的数据。每个测试用例中包含若干测试输入,针对每个测试用例,其包含的测试输入的个数就是该测试用例的长度,测试用例的长度不一定相同。
SMSS软件的测试用例由一组16进制数据的测试输入组成,具体一个测试用例中的各测试输入如表1所示。该测试用例中包含25个测试输入。
表1:测试用例实例
  编号   控制字 编号   控制字 编号   控制字
    1   21170040    10   3119C000     19  4113A0A2
    2   21174040    11   3119E000     20  41132492
    3   21151000    12   4112B28E     21  41134696
    4   21236592    13   41128894     22  21168000
    5   31192000    14   41128896     23  211744C0
    6   31194000    15   41128498     24  21174C40
    7   31196000    16   411248C2     25  2114A000
  8   31198000    17   4112524A
  9   3119A000    18   4112289C
在实施本发明方法时,对于如表1所示类型的测试用例,因为各输入已经是十六进制数据,所以不需对测试用例进行数字转换,否则,需要将各测试输入转换为数字型数据。然后对测试用例进行预处理,包括:根据测试用例的长度进行分类,将具有相同长度的测试用例分为一类,进行分类的目的在于在后期累积测试时间时的精确性;可将完全重复的测试用例删除,以使得在实施本发明方法的初期就减少一些分析与测试工作,若在前期不进行删除,则在采用本发明方法的过程中也会只执行一个测试用例,对于其他相同的测试用例不执行,只累计执行时间。需要注意的是,若前期对完全重复的测试用例执行删除操作时,需要保留其中一个测试用例,并在测试时保证该测试用例必须执行。
对测试用例预处理后,将预处理后的测试用例的各测试输入转换为2进制数据,以便于对数值特征进行分析。以表1所示的测试用例为例,将其中的“控制字”列转换为2进制数据:如表2所示,为对表1中测试用例的第4个测试输入21236592进行示例。其他的测试输入的转换与之类似。
表2:测试输入-2进制示例
编号     控制字
  4    0010000100100011011 0010110010010
步骤2,对步骤1处理后得到的测试用例进行数据特征分析,建立数据特征矩阵。
数据特征分析,就是对各测试用例的测试输入本身的数据特征进行分析。在分析过程中,需要对不同测试输入的数据特征进行细致分析,以确保本发明方法的合理性和完备性。在分析过程中,为了保证所有的数据特征都得到体现,需要选取合理的颗粒度k。最理想的颗粒度k值等于测试输入二进制形式的位数。针对本发明实例,颗粒度选取方案可为k=32,32为表2所示二进制形式的测试输入的位数。然而这样选取时不切实际的,原因之一为k值过大,数据特征分析工作量巨大;主要地,选取k=32不能体现测试输入的逻辑意义。因此选取颗粒度k时,需要根据软件测试数据生成文件,对不同的软件功能选取不同的颗粒度,在完整表述测试数据逻辑意义的前提下选取,根据测试输入的逻辑意义,将测试输入的二进制数据划分为k组,对于同一类的测试用例,所选取的颗粒度k相同。这样选取的好处,一方面可以保证数据特征的完整性和合理性,另一方面也可以减少工作量,不至于因颗粒度过大而产生繁复的工作。
通过数据特征分析,可得到一个测试用例的数据特征矩阵,该数据特征矩阵为测试用例中所有测试输入的数据特征综合。在数据特征中,每个行元素为某一个测试输入的数据特征。
完成测试用例的数字化之后,对数据进行数据特征分析。首先选定颗粒度k。根据软件测试数据生成文件,在完整表述测试数据逻辑意义的前提下,选定k=11。可得表2颗粒化后的测试输入,如表3所示。
表3颗粒化的测试输入
  0010   0001   0010   0011   011   0010   11   001  00  1  0
表3中所示的测试输入自左往右的逻辑意义为:0010表示源是显控;0001表示目的为SMS;0010/0011表示显控向SMS发送控制字为0x23;011表示外挂物为火箭弹;0010标识状态为准备好;11表示以CCIP方式双投;001表示火箭弹数量为1;00/1无实际逻辑意义;0表示返回状态。类似地,根据测试数据文件,将其他测试输入按照选定的颗粒度进行颗粒化。对表1所示的测试数据建立的数据特征矩阵,如表4所示。
表4数据特征矩阵
Figure BDA0000126130860000051
步骤3,对数据特征进行累积效应分析,建立两个累积矩阵:通用特征矩阵和关键特征矩阵。完成测试用例的数据特征分析之后,进行累积效应分析。累积效应分析,指的是根据已测数据的特征分析,通过测试执行过程中收集到的信息进行累积处理,对测试用例为引发软件失效的数值特征进行累积,得出一般化的测试用例的数值信息;同时对可能引发软件失效的概率进行处理,得出准确的特征与失效的关系。所累积的数据分为两类,一类为均测试通过的测试用例,另一类为均未测试通过的测试用例,即建立两个累积矩阵:将测试通过的测试用例的数据特征累积到一个通用特征矩阵中,将未通过测试的测试用例的数据特征累积到关键特征矩阵中。
建立通用特征矩阵和关键特征矩阵时,需要将通过步骤2的数据特征分析所得到的测试用例的数值特征累积在累积矩阵中,并对其中的各行元素进行界定。
在建立通用特征矩阵矩阵中,对每一个矩阵元素,为了保证在进行累积时不至于因为数量过多而导致数据特征丢失,可根据实际累积情况,在某些元素所在的位置引入新的矩阵,这种累积矩阵中的矩阵,将其称之为“格”。引入“格”,既能保证测试数据特征的完整性,也能保证下一步的分析过程中累积矩阵的合理性。对累积矩阵中“格”进行处理时,需要将原有的数据特征信息一并移入,这样就可得完整的累积矩阵。进行累积时,在累积矩阵的“格”中,若某行元素相同,则将其合并为一行。类似地,对已执行引起软件失效的测试用例也建立关键特征矩阵,并对其中的引起失效的关键字段进行标识。所建立的关键特征矩阵主要是为了用以以后的测试研究。
本发明方法中的累积效应分析过程即通过对数据特征的累积,建立累积矩阵的过程。在对累积矩阵过程中,累积矩阵的某一元素并未必一定是单一的,其可能为“格”,在“格”内的元素为该颗粒度k下的测试用例对应的所有元素。在此以均通过测试的数据为实例建立通用特征矩阵,如表5所示。
表5累积的通用特征矩阵
在上面的累积矩阵中,“格”指形如
Figure BDA0000126130860000062
这样的小矩阵,表示在颗粒度k=11时,测试通过的测试用例在第一颗粒位置所表示的所有逻辑含义。事实上,累积矩阵存在“格”,也与测试中大多数操作均是正确的、相似甚至相同的这一事实相符合。
步骤4,通过执行判定原理判定待测试的测试用例是否需要执行。
测试用例执行与否主要基于模糊数学理论的判定原理,在建立通用特征矩阵以及关键特征矩阵的基础上,通过选定合适置信度,利用模糊评判模型判定测试用例是否执行。
在进行具体的判定操作前,对本发明所采用的判定原理进行说明。首先需要做出一些定义。
定义1:设在论域U上给定映射:
Figure BDA0000126130860000063
其中,u确定论域U上的一个模糊子集
Figure BDA0000126130860000064
在A上加波浪线以区别普通集合A。μ称为模糊子集u的隶属函数,
Figure BDA0000126130860000065
表示强调是模糊子集
Figure BDA0000126130860000066
的隶属函数,
Figure BDA0000126130860000067
在u∈U点处的值
Figure BDA0000126130860000068
称为u对
Figure BDA0000126130860000069
的隶属度。隶属度表示u属于
Figure BDA00001261308600000610
的程度或“资格”。为方便起见,将模糊子集简称为模糊集。
定义2:设
Figure BDA00001261308600000611
对于λ∈[0,1]记
A ~ λ = Δ A λ = Δ { u | A ~ ( u ) ≥ λ }
称Aλ
Figure BDA00001261308600000613
的λ截集或λ水平集,λ称为阈值或置信度。
Figure BDA00001261308600000614
表示一个总的模糊集合。在模糊数学中,为了进行综合评判,先进行单因素评判,即确定映射a:U→V,U、V分别表示两个域,且对于任意ui∈U,i为自然数,ui表示第i个模糊子集,记ai=a(ui),称ai为对因素ui的评价,又若取V=[0,1],则100ai就可以视为按百分制对ui的评分,a称为单因素评判函数。
为了综合评判,引入Im到I的映射f:Im→I,该映射满足条件:
1)正则性:若x1=x2=…=xi=…=xm=x,则f(x1,x2,...xm)=x;xi表示模糊子集中第i个元素;
2)单增性:f(x1,x2,...xm)关于所有变量是不减的,及对于任意xi,若
Figure BDA0000126130860000071
f ( x 1 , x 2 , . . . x i ( 1 ) , x i + 1 ( 1 ) . . . x m ) ≤ f ( x 1 , x 2 , . . . x i ( 2 ) , x i + 1 ( 2 ) . . . x m )
称f为综合评判函数,m表示维数。
Figure BDA0000126130860000073
分别表示同一变量xi的两个不同取值。
设U,V分别是评判因素集和评语集,a:U→V是单因素评判函数,则f(α(u1),α(u2),...,α(um))就是对U的综合评判。
常用的综合评判函数总与权向量有关,且常涉及以下两类权向量:
W=(ω1,ω2...,ωm)∈Im
1)归一化权向量:
Figure BDA0000126130860000074
2)正规化权向量:
Figure BDA0000126130860000075
式中,
Figure BDA0000126130860000076
表示max(ω1,ω2...,ωm)。
以下为四种常用的评判函数:
1)加权平均型:设W=(ω1,ω2...,ωm)∈Im,是归一化权向量,对于任意(x1,x2,...xm)∈Im,令f1称为加权平均型综合评判函数。其中ωi表示为第i个因素在综合评判中所占的比重。
2)几何平均型:设W=(ω1,ω2...,ωm)∈Im,是归一化权向量,对于任意(x1,x2,...xm)∈Im,令
Figure BDA0000126130860000078
Figure BDA0000126130860000079
f2称为几何平均型综合评判函数。其中,ωi是第i个因素的几何权数。
3)单因素决定型:设W=(ω1,ω2...,ωm)∈Im,是归一化权向量,对于任意(x1,x2,...xm)∈Im,令
Figure BDA00001261308600000710
f3称为单因素决定型综合评判函数。式中,ωi∧xi=min(ωi,xi)。ωi为第i个因素在综合评判中所显示的重要性上界。
4)主因素突出型:设W=(ω1,ω2...,ωm)∈Im,是归一化权向量,对于任意(x1,x2,...xm)∈Im,令
Figure BDA00001261308600000711
f4称为主因素突出型综合评判函数。其中T≠V是t-模,计算时采取乘法计算。ωi为第i个因素在综合评判中所显示的重要性上界。
累积矩阵建立完整后,可进入执行判定步骤。一个累积的通用特征矩阵的实例如表5所示,则判定过程如下:
步骤4.1:首先,确定待测的测试用例属于哪一类测试用例,并对该测试用例进行步骤1的预处理和二进制数字转换,根据该测试用例所属的测试用例的类型确定颗粒度k,进行步骤2的数据特征分析,得到该测试用例的数据特征矩阵,然后新建两个矩阵R、Q,令矩阵R=该测试用例所属测试用例类型中的通用特征矩阵,矩阵Q=该测试用例的数据特征矩阵。本发明实施例中所取的一个待测试的测试用例的数据特征矩阵Q如表4所示,该测试用例所属测试用例类型中的通用特征矩阵R如表5所示。
Figure BDA0000126130860000082
步骤4.2,求即求矩阵Q中某一元素对矩阵R中对应格矩阵的隶属程度。利用数值比对分析,若所有数值均相同,则隶属度为1,若所有数值均不同,则隶属度为0。也就是分别将矩阵Q中的元素Qi,j与矩阵R中的元素Ri,j作交集运算,若运算结果为数据特征元素Qi,j,则隶属度为1,若交集为空,则隶属度为0。以表5所示的累积矩阵及表4所示的数据特征矩阵第一行为例,则有
Figure BDA0000126130860000086
Figure BDA0000126130860000087
步骤4.3,求数据特征矩阵中每个测试输入的评判函数值。可选取所述的四种评判函数包括加权平均型评判函数、几何平均型评判函数、单因素决定型评判函数和主因素突出型评判函数中的一种评判函数,来确定该测试输入的评判函数值。对于某个测试输入,评判函数中第j个因素
Figure BDA0000126130860000088
第j个因素的权值k表示该测试用例在进行数据特征分析时选取的颗粒度。第n个测试用例的第i个测试输入的评判函数值用fn,i表示。本发明实施例,对表4所示的数据特征矩阵的第一行选取加权平均型来评判:
Figure BDA00001261308600000810
其中,
Figure BDA00001261308600000811
在该实施例中,k=11,则有:
f 1,1 ( x 1 , x 2 , . . . x 11 ) = 1 11 + 1 11 + 1 11 + 1 11 + 1 11 + 0 11 + 1 11 + 1 11 + 1 11 + 1 11 + 1 11 = 0.91
步骤4.4,确定隶属函数。确定隶属函数,需要计算出测试用例所有输入(数值矩阵中所有行)的评判函数值。确定测试输入的隶属函数
Figure BDA00001261308600000814
(数据相似):
Figure BDA00001261308600000815
m表示第n个测试用例中包含的测试输入的总个数,u1,u2,…,um-1,um分别用来标记第1个,第2个,…,第m-1个,第m个测试输入。
假设某以测试用例为4个测试输入,第i个测试输入的评判函数值分别为f1,1=0.91,f1,2=1,f1,3=1,f1,4=0.91,则隶属函数为:
Figure BDA0000126130860000091
步骤4.5,根据软件的测试要求划定置信等级,本发明实施例中,使用表6所示的置信等级表。
表6置信等级表
Figure BDA0000126130860000092
步骤4.6,根据用户或者软件实际测试的需要,在置信等级表中选定置信度λ,判定该测试用例是否执行。例如,针对本发明步骤4.5中的实施例,假设选定置信度λ=0.9,由于该测试用例中的每个测试输入的评判函数值都大于所选取的置信度,也就是该测试用例中所有测试输入的最小的评判函数值大于所选取的置信度,则判定该测试用例不用执行,将执行同类测试用例所需要的平均时间作为该测试用例的测试时间并直接累积测试时间,若选定λ=1,该测试用例中有的测试输入的评判函数值小于所选取的置信度,则该测试用例还需执行,并根据执行结果将数值效果累加到相应的累积矩阵中。关于置信度的选定,可根据软件测试的用户方选定,或根据测试人员经验选定。
在实施上述步骤4.1到步骤4.6对待测的测试用例执行与否进行判定时,可以利用主因素突出型评判函数对某一行数据特征矩阵进行关键数据特征判定,若经过集合运算,发现测试测试输入的数据特征出现与关键数据特征中,表明其可能引起软件失效,需执行该测试用例。若该测试用例为引起软件失效,则需要将该数据特征标识,并累积到该测试用例所属类型的关键特征矩阵中。
步骤5:对读取的测试用例执行测试,在测试执行完毕后,累积测试时间,若该测试用例测试通过,则将该测试用例的数据特征累积到对应的通用特征矩阵中,若该测试用例测试不通过,则将该测试用例的数据特征累积到对应的关键特征矩阵中。
步骤6:判断是否还有待测试的测试用例,如果有,则转步骤4执行,否则根据测试结果开始进行可靠性评估,结束本测试方法。

Claims (6)

1.一种软件可靠性执行过程加速测试方法,其特征在于,该方法针对嵌入式软件,进行如下测试加速步骤:
步骤1:读取已进行过软件可靠性测试的测试用例,对测试用例进行预处理,得到分类的数字型的测试用例,然后再将各测试用例的测试输入转换为二进制数据;
步骤2:针对每一类测试用例,首先对测试用例的测试输入进行数据特征分析,将测试输入的二进制数据分组,每组为一个数据特征,然后针对每个测试用例,将该测试用例中的每个测试输入的数据特征作为行元素为该测试用例建立数据特征矩阵;
步骤3:针对每一类测试用例的数据特征矩阵进行累积效应分析,建立两个累积矩阵:通用特征矩阵和关键特征矩阵,其中通用特征矩阵累积测试通过的测试用例的数据特征,关键特征矩阵累积未通过测试的测试用例的数据特征;
步骤4:读取待测试的测试用例并对该测试用例执行判定,判断该测试用例的数据特征是否与当前所属类型的测试用例的通用特征矩阵相似,若否,进入步骤5执行;若是,直接累积测试时间,然后转步骤6执行;
步骤5:执行步骤4中读取的待测的测试用例,在测试执行完毕后,累积测试时间,若该测试用例测试通过,则将该测试用例的数据特征累积到通用特征矩阵中,若该测试用例测试不通过,则将该测试用例的数据特征累积到关键特征矩阵中;
步骤6:判断是否还有待测试的测试用例,如果有,则转步骤4执行,否则根据测试结果开始进行可靠性评估,结束本测试方法。
2.根据权利要求1所述的一种软件可靠性执行过程加速测试方法,其特征在于,步骤1中所述的预处理,包括:将各测试用例的测试输入转换为数字型,使得计算机便于处理,然后将具有相同长度的测试用例归为一类,对于完全相同的测试用例,保留其中一个测试用例,删除其他。
3.根据权利要求1所述的一种软件可靠性执行过程加速测试方法,其特征在于,步骤2中所述的数据特征分析,具体方法是:根据软件测试数据生成文件,在完整表述测试输入的逻辑意义的前提下选取颗粒度k,然后根据测试输入的逻辑意义,将测试输入的二进制数据划分为k组,对于同一类的测试用例,所选取的颗粒度k相同。
4.根据权利要求1所述的一种软件可靠性执行过程加速测试方法,其特征在于,步骤3中所述的累积效应分析,对每一类测试用例中测试通过和测试未通过的测试用例的数据特征矩阵分别进行累积,累积矩阵中的每个元素为需要累积的数据特征矩阵中对应的同一位置的元素的集合,若需要累积的数据特征矩阵中对应的同一位置的元素相同,则在累积矩阵只保留一个元素,若需要累积的数据特征矩阵中对应的同一位置的元素不相同,则将所有不相同的元素组成一个格作为累积矩阵中的一个元素。
5.根据权利要求1所述的一种软件可靠性执行过程加速测试方法,其特征在于,所述的步骤4具体包括如下步骤:
步骤4.1:首先,确定待测的测试用例属于哪一类测试用例,并对该测试用例进行步骤1至步骤2的过程得到该测试用例的数据特征矩阵Q,设矩阵R,令矩阵R=当前该测试用例所属测试用例类型的通用特征矩阵;
步骤4.2:利用数值对比分析方法确定矩阵Q中的元素Qi,j对于矩阵R中对应位置的Ri,j的隶属度
Figure FDA0000126130850000021
具体是:分别将矩阵Q中的元素Qi,j与矩阵R中的元素Ri,j作交集运算,若运算结果为数据特征元素Qi,j,则隶属度为1,若交集为空,则隶属度为0;
步骤4.3:确定待测的测试用例的数据特征矩阵Q中每个测试输入的评判函数值,具体是选取加权平均型评判函数、几何平均型评判函数、单因素决定型评判函数和主因素突出型评判函数中的一种评判函数,来确定第n个测试用例的第i个测试输入的评判函数值fn,i,对某个测试输入,在评判函数中第j个因素
Figure FDA0000126130850000022
第j个因素的权值
Figure FDA0000126130850000023
k表示该测试用例在进行数据特征分析时选取的颗粒度;
步骤4.4:确定测试用例的隶属函数
Figure FDA0000126130850000024
(数据相似):
其中,m表示第n个测试用例中包含的测试输入的总个数,u1,u2,…,um-1,um分别用来标记第1个,第2个,…,第m-1个,第m个测试输入;
步骤4.5:根据软件的测试要求划分置信等级;
步骤4.6:判断待测的测试用例的数据特征是否与当前所属类型的测试用例的通用特征矩阵相似,具体是,选定置信等级中的置信度λ,判断得到的该测试用例中的各测试输入的评判函数值是否均大于所选定的置信度λ;若是,则不执行该测试用例,直接累积测试时间,若否,则需要执行该测试用例。
6.根据权利要求5所述的一种软件可靠性执行过程加速测试方法,其特征在于,步骤4.5中所述的置信等级具体是:标记A为待测试的测试用例的数据特征,B为当前待测测试用例所属测试用例类型的通用特征矩阵,则:
置信度λ=0,表示A与B的数据不具备相似度;
置信度λ=0.1,表示A与B的数据相似度很低;
置信度λ=0.2,表示A与B的数据相似度较低;
置信度λ=0.5,表示A与B的数据相似度一般;
置信度λ=0.8,表示A与B的数据相似度较高;
置信度λ=0.9,表示A与B的数据相似度很高;
置信度λ=1,表示A与B的数据相同。
CN201110448159.6A 2011-11-30 2011-12-28 一种软件可靠性执行过程加速测试方法 Expired - Fee Related CN102541736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110448159.6A CN102541736B (zh) 2011-11-30 2011-12-28 一种软件可靠性执行过程加速测试方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110391183.0 2011-11-30
CN201110391183 2011-11-30
CN201110448159.6A CN102541736B (zh) 2011-11-30 2011-12-28 一种软件可靠性执行过程加速测试方法

Publications (2)

Publication Number Publication Date
CN102541736A true CN102541736A (zh) 2012-07-04
CN102541736B CN102541736B (zh) 2014-07-16

Family

ID=46348677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110448159.6A Expired - Fee Related CN102541736B (zh) 2011-11-30 2011-12-28 一种软件可靠性执行过程加速测试方法

Country Status (1)

Country Link
CN (1) CN102541736B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866949A (zh) * 2012-08-31 2013-01-09 中国人民解放军63928部队 一种基于假设检验的嵌入式基础软件可靠性评估方法
CN103092762A (zh) * 2013-02-19 2013-05-08 南京大学 一种适用于快速软件开发模式的实时软件缺陷检测方法
CN103617117A (zh) * 2013-11-15 2014-03-05 中国航空无线电电子研究所 一种基于航空嵌入式软件测试知识库系统
CN103810095A (zh) * 2012-11-15 2014-05-21 百度在线网络技术(北京)有限公司 一种数据对比测试的方法及装置
CN103970654A (zh) * 2014-04-30 2014-08-06 北京航空航天大学 一种软件可靠性虚拟测试方法
CN105159827A (zh) * 2015-08-21 2015-12-16 北京航空航天大学 一种面向gui软件的可靠性加速测试方法
CN108228469A (zh) * 2018-02-23 2018-06-29 科大讯飞股份有限公司 测试用例选取方法及装置
CN110210531A (zh) * 2019-05-15 2019-09-06 北京航空航天大学 基于扩展随机流网的模糊多态制造系统任务可靠性评估方法
CN114817004A (zh) * 2022-04-07 2022-07-29 中国联合网络通信集团有限公司 测试用例生成方法、装置、设备及可读存储介质
CN117292104A (zh) * 2023-11-22 2023-12-26 南京掌控网络科技有限公司 一种基于图像识别的货架陈列评分方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557120B1 (en) * 2000-03-31 2003-04-29 Microsoft Corporation System and method for testing software reliability over extended time
CN101894068A (zh) * 2010-05-31 2010-11-24 北京航空航天大学 一种嵌入式软件可靠性加速测试方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557120B1 (en) * 2000-03-31 2003-04-29 Microsoft Corporation System and method for testing software reliability over extended time
CN101894068A (zh) * 2010-05-31 2010-11-24 北京航空航天大学 一种嵌入式软件可靠性加速测试方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YUMEI WU等: "Software Reliability Accelerated Testing Method Based on Mixed Testing", 《RELIABILITY AND MAINTAINABILITY SYMPOSIUM(RAMS), 2010 PROCEEDINGS-ANNUAL》, 28 January 2010 (2010-01-28) *
徐云青等: "基于使用模型的软件可靠性加速测试", 《计算机应用与软件》, vol. 26, no. 3, 30 April 2009 (2009-04-30) *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866949B (zh) * 2012-08-31 2015-04-15 中国人民解放军63928部队 一种基于假设检验的嵌入式基础软件可靠性评估方法
CN102866949A (zh) * 2012-08-31 2013-01-09 中国人民解放军63928部队 一种基于假设检验的嵌入式基础软件可靠性评估方法
CN103810095A (zh) * 2012-11-15 2014-05-21 百度在线网络技术(北京)有限公司 一种数据对比测试的方法及装置
CN103810095B (zh) * 2012-11-15 2018-01-05 百度在线网络技术(北京)有限公司 一种数据对比测试的方法及装置
CN103092762A (zh) * 2013-02-19 2013-05-08 南京大学 一种适用于快速软件开发模式的实时软件缺陷检测方法
CN103617117B (zh) * 2013-11-15 2016-03-23 中国航空无线电电子研究所 一种基于航空嵌入式软件测试知识库系统
CN103617117A (zh) * 2013-11-15 2014-03-05 中国航空无线电电子研究所 一种基于航空嵌入式软件测试知识库系统
CN103970654B (zh) * 2014-04-30 2017-01-25 北京航空航天大学 一种软件可靠性虚拟测试方法
CN103970654A (zh) * 2014-04-30 2014-08-06 北京航空航天大学 一种软件可靠性虚拟测试方法
CN105159827A (zh) * 2015-08-21 2015-12-16 北京航空航天大学 一种面向gui软件的可靠性加速测试方法
CN105159827B (zh) * 2015-08-21 2017-09-19 北京航空航天大学 一种面向gui软件的可靠性加速测试方法
CN108228469A (zh) * 2018-02-23 2018-06-29 科大讯飞股份有限公司 测试用例选取方法及装置
CN110210531A (zh) * 2019-05-15 2019-09-06 北京航空航天大学 基于扩展随机流网的模糊多态制造系统任务可靠性评估方法
CN114817004A (zh) * 2022-04-07 2022-07-29 中国联合网络通信集团有限公司 测试用例生成方法、装置、设备及可读存储介质
CN114817004B (zh) * 2022-04-07 2024-05-17 中国联合网络通信集团有限公司 测试用例生成方法、装置、设备及可读存储介质
CN117292104A (zh) * 2023-11-22 2023-12-26 南京掌控网络科技有限公司 一种基于图像识别的货架陈列评分方法
CN117292104B (zh) * 2023-11-22 2024-02-27 南京掌控网络科技有限公司 基于图像识别的货架陈列检测方法及系统

Also Published As

Publication number Publication date
CN102541736B (zh) 2014-07-16

Similar Documents

Publication Publication Date Title
CN102541736B (zh) 一种软件可靠性执行过程加速测试方法
US7926026B2 (en) Graphical analysis to detect process object anomalies
CN104317681A (zh) 针对计算机系统的行为异常自动检测方法及检测系统
CN112506990A (zh) 一种基于时空信息的水文数据异常检测方法
US11442847B2 (en) Automated determination of software testing resources
CN107844414A (zh) 一种基于缺陷报告分析的跨项目、并行化缺陷定位方法
Chang et al. Integrating in-process software defect prediction with association mining to discover defect pattern
CN116257456B (zh) 一种多接口测试方法
KR20190110084A (ko) Esg 기반의 기업 평가 수행 장치 및 이의 작동 방법
CN102737063B (zh) 一种日志信息的处理方法及系统
CN104699595A (zh) 一种面向软件升级的软件测试方法
Huang et al. Dissimilarity‐based test case prioritization through data fusion
CN111105041B (zh) 一种用于智慧数据碰撞的机器学习方法及装置
Pane et al. Mapping log data activity using heuristic miner algorithm in manufacture and logistics company
CN103294828A (zh) 数据挖掘模型维度的验证方法和验证装置
CN110245455A (zh) 一种单向碳纤维增强复合材料的设计方法
CN114139636B (zh) 异常作业处理方法及装置
CN113780724B (zh) 产品质量批次稳定性量化评估判据计算方法
Ferrucci et al. Conversion from IFPUG FPA to COSMIC: within-vs without-company equations
CN110554952A (zh) 一种基于搜索的分层回归测试数据生成方法
Duan et al. The impact of duplicate changes on just-in-time defect prediction
CN109710888B (zh) 一种基于惩罚回归的天然气管道损坏预测方法及装置
CN113935037A (zh) 恶意进程检测方法、装置、系统及计算机可读存储介质
Singh et al. Application of support vector machine to predict fault prone classes
CN111240652A (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: 20140716

Termination date: 20141228

EXPY Termination of patent right or utility model