【技术实现步骤摘要】
一种基于复杂性的数值表达式型蜕变关系选择方法
[0001]本专利技术涉及软件蜕变测试
,尤其涉及一种基于复杂性的数值表达式型蜕变关系选择方法
。
技术介绍
[0002]软件测试两大核心问题:测试用例集合完备性,以及程序正确性判定机制
。
软件测试技术可分为传统测试和非传统测试,传统测试技术的判定机制为程序输出与预期结果是否一致
。
当预期值构造困难
、
获取成本极高时,判定机制失效,如:武器爆轰流体模拟
、
航天飞行器太空环境仿真等场景就存在该问题
。
同时,传统测试技术只适用于确定论程序,当同一组输入的多次执行结果不相等时,判定机制也会失效,如基于概率模型的蒙特卡洛计算
、
深度神经网络
、
生成式人工智能等场景也存在该问题
。
[0003]蜕变测试
(Metamorphic Testing
,
MT)
是一种非传统测试技术,它是缓解软件测试预期值问题的有效技术之一,在科学计算
、
生成式人工智能等场景有广阔应用前景
。
蜕变关系
(Metamorphic Relation
,
MR)
是蜕变测试的核心,按照表征形式分类包括数值表达式型
、
谓词表达式型和其它
。
数值表达式是使用常量
、
变量
、
数学函数和运算符构 ...
【技术保护点】
【技术特征摘要】
1.
一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于,包括以下步骤:
S1
,数值表达式基本参数获取:收集数值表达式集,分析数值表达式种群中各数值表达式的组成,找出相同点与不同点,得到数值表达式的基本参数;
S2
,数值表达式基本参数的复杂性分析:分析数值表达式的基本参数,获取数值表达式各基本参数的复杂性;
S3
,数值表达式复杂性度量方法确定:根据数值表达式各基本参数的复杂性关系,确定数值表达式复杂性公式;
S4
,数值表达式型蜕变关系的复杂性度量方法确定:收集数值表达式型蜕变关系集,分析数值表达式型蜕变关系种群中各数值表达式型蜕变关系的组成,得到数值表达式型蜕变关系的基本参数,再对数值表达式型蜕变关系的基本参数进行分析,得到数值表达式型蜕变关系的复杂性,根据所述数值表达式型蜕变关系的复杂性,确定数值表达式型蜕变关系复杂性公式;
S5
,数值表达式型蜕变关系的选择:计算给定的各数值表达式型蜕变关系的复杂性,再对所述各数值表达式型蜕变关系的复杂性进行比较,选择目标蜕变关系进行蜕变测试
。2.
如权利要求1所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于,所述
S1
中数值表达式集为数值表达式的集合,所述数值表达式为基本参数的随机组合,包括标准型数值表达式和非标准型数值表达式:所述数值表达式的基本参数为常量
、
变量
、
函数和运算符;所述标准型数值表达式指运算符右侧表达式为0;所述非标准型数值表达式指运算符右侧表达式不为
0。3.
如权利要求1所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于,所述
S2
中数值表达式基本参数的复杂性包括规模复杂性和计算复杂性,具体如下:所述规模复杂性为变量的复杂性,变量的数量越多,规模复杂性越高;所述计算复杂性包括运算符的复杂性和基本初等函数的复杂性;所述运算符的复杂性包括算术运算符的复杂性
、
关系运算符的复杂性和逻辑运算符的复杂性;所述基本初等函数的复杂性包括幂函数的复杂性
、
指数函数的复杂性
、
对数函数的复杂性和三角函数的复杂性;所述数值表达式中系数和常量不改变数学性质,常量的复杂性为
0。4.
如权利要求3所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于:所述算术运算符的复杂性的计算公式为
Complexity(
算术运算符
)
=
α1*Complexity(
乘法
)+
β1*Complexity(
除法
)+
γ1*Complexity(
加法
)+
δ1*Complexity(
减法
)
,其中
α1、
β1、
γ1和
δ1分别为数值表达式中乘
、
除
、
加和减运算符的数量,
Complexity(
算术运算符
)、Complexity(
乘法
)、Complexity(
除法
)、Complexity(
加法
)
和
Complexity(
减法
)
分别为算术运算符的复杂性
、
乘法的计算复杂性
、
除法的计算复杂性
、
加法的计算复杂性和减法的计算复杂性,
Complexity(
乘法
)
和
Complexity(
除法
)
权重为2,
Complexity(
加法
)
和
Complexity(
减法
)
权重为
1。5.
如权利要求3所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于:
所述关系运算符的复杂性的计算公式为
Complexity(
关系运算符
)
=
α2*Complexity(
等于
)+
β2*Complexity(
大于
)+
γ2*Complexity(
小于
)+
δ2*Complexity(
大于等于
)+
ε2*Complexity(
小于等于
)
,其中
α2、
β2、
γ2、
δ2和
ε2分别为数值表达式中等于
、
大于
、
小于
、
大于等于和小于等于运算符的数量,
Complexity(
关系运算符
)、Complexity(
等于
)、Complexity(
大于
)、Complexity(
小于
)、Complexity(
大于等于
)
和
Complexity(
小于等于
)
分别为关系运算符的复杂性
、
等于的计算复杂性
、
大于的计算复杂性
、
小于的计算复杂性
、
大于等于的计算复杂性和小于等于的计算复杂性,
Complexity(
等于
)
权重为2,
Complexity(
大于
)、Complexity(
小于
)、Complexity(
大于等于
)
和
Complexity(
小于等于
)...
【专利技术属性】
技术研发人员:李萌,阳小华,刘杰,闫仕宇,马安刚,
申请(专利权)人:南华大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。