测试用例生成方法、系统及计算机可读存储介质技术方案

技术编号:32513985 阅读:20 留言:0更新日期:2022-03-02 11:04
本发明专利技术提供一种测试用例生成方法、系统及计算机可读存储介质。该测试用例生成方法包括如下步骤:S1:从待测模型的已有测试用例中获得初始图像样本x

【技术实现步骤摘要】
测试用例生成方法、系统及计算机可读存储介质


[0001]本专利技术涉及计算机软件
,具体涉及一种测试用例生成方法、系统及计算机可读存储介质。

技术介绍

[0002]图像分类问题是人工智能——计算机视觉领域的一个重要的问题,如人脸识别、物品识别等实际问题都可以被转化为图像分类问题。目前,利用已有数据集构建神经网络图像分类模型是解决图像分类问题的有效技术手段,也是应用最为广泛的主流技术手段。
[0003]图像分类具体可以被描述为如下问题:对于被编号为1、2、
……
、n的类别,输入一张属于其中某一类别的图像x,我们希望得到其正确的类别编号。在此场景下,我们也称被分类的图像为“样本”,类别编号为“标签”。神经网络图像分类模型即可被视为一个函数f,这个函数接收一个m维的向量,输出一个n维的向量。其中,输入的m维向量的每一个元素对应输入样本的一个像素值,而输出的n维向量的每一个元素对应这个样本被分类成某一类样本的可能性评分。我们用f
i
(x)表示神经网络接收样本x时的输出的第i维元素,那么对于某个i,如果f
i
(x)大于输出中其他所有元素,那么我们得到了神经网络的分类结果i,因为此时神经网络认为x的类别为i的可能性评分最高。
[0004]模型测试是保证模型能够正确、有效地完成其功能的重要途径。用于测试的数据被称为“测试用例”,其通常有两部分组成:(1)输入样本;(2)与该输入对应的正确输出。一般测试过程如下:我们将样本输入给被测试的模型,并得到模型的输出。若模型输出与正确输出一致,则说明模型在该测试用例下是正确的,否则我们就找到了模型的一个错误。而测试的目的即是通过测试用例有效地发现模型可能存在地错误。因此,在神经网络图像分类模型测试中,其一条测试用例包含一个样本图像,以及该样本图像的正确标签。而测试过程即是将样本输入给待测模型,并检查模型的输出结果是否与正确标签一致。
[0005]对于神经网络图像分类模型测试,其测试用例一方面来源于解决该分类问题真实采集的原始数据集,这个数据集一部分会被用于模型的构建,另一部被用来作为测试用例。事实上,来源于原始数据集的测试用例数量是十分有限的,而神经网络模型的输入空间是巨大的,这意味着来源于原始数据集的测试用例远远无法覆盖神经网络模型所可能接收到的输入样本。换言之,源于原始数据集的测试用例无法充分发现模型存在的潜在错误。
[0006]因此,测试用例另一方面会来源于人工构造,即人们基于已有测试用例通过某种方法生成的新测试用例以进行测试用例集的扩充。一种主流的测试用例生成方法即是在已有测试用例的图像样本增加一定扰动范围的随机噪声以获得新的样本。这是一种主流的测试用例生成方法,因为这种方法模拟现实场景下的噪声扰动,因此按照此种方法所生成的新的测试用例能够潜在发现一些神经网络图像分类模型因样本受到噪声干扰而发生分类错误的现象。
[0007]然而,这种直接在已有测试用例样本上增加随机噪声生成新测试用例的方法也有其不足之处。由于这种方法只关注于样本本身,而完全没有利用待测神经网络图像分类模
型的性质,这导致生成的新测试用例绝大多数的输出都是正确的。换言之,即是新生成的测试用例无法有效发现待测网络的潜在错误,因此失去了面向测试的实际意义。

技术实现思路

[0008]基于此,有必要提供一种能够生成有效发现待测模型错误的新测试用例的测试用例生成方法、系统及计算机可读存储介质。
[0009]本专利技术实施例一方面提供一种测试用例生成方法,其包括如下步骤:
[0010]S1:从待测模型的已有测试用例中获得初始图像样本x
ini
,x
ini
为一个m维的向量,x
ini
的正确分类结果为c,对初始图像样本x
ini
多次添加随机噪声,生成扰动样本集,所述扰动样本集包括多个在初始图像样本x
ini
基础上添加了随机噪声的新样本x',将所述扰动样本集的每个新样本x'输入至所述待测模型,获得每个新样本x'对应的输出y';
[0011]S2:对每个新样本x'的除维度为c的其他维度i,分别建立仿射函数:
[0012]Z
i
(x)=a0+a
1 x1+

+a
m
x
m

[0013]其中a0,a1,

,a
m
为待确定的未知参数,Z
i
(x)为z
i
(x)的仿射函数,
[0014]z
i
(x)=y
i

y
c

[0015]y为样本x在待测模型的输出,y
i
和y
c
分别为y的第i维和第c维元素;
[0016]S3:根据所述多个新样本x'及对应的输出y',计算未知参数a0,a1,

,a
m
,使得仿射函数Z
i
(x)满足|Z
i
(x')

z
i
(x')|≤λ,其中λ为预设误差;
[0017]S4:根据计算得到的未知参数a0,a1,

,a
m
,计算使Z
i
(x)获得最大值点的x1,x2,

,x
m
,将使Z
i
(x)获得最大值点的x1,x2,

,x
m
组成的向量即为新测试用例样本x
out
,x
out
=(x1,x2,

,x
m
)。
[0018]作为上述实施例的进一步改进,在步骤S1中,对初始图像样本x
ini
添加随机噪声的过程包括如下子步骤:
[0019]S11:对初始图像样本x
ini
的每一维x
i
,计算p
i
=min(0,x
i

r)与q
i
=max(255,x
i
+r);
[0020]S12:对每一维,随机获得区间[p
i
,q
i
]中的一个整数,将该整数赋值给x'
i

[0021]S13:获得一个新样本x',x'=(x'1,x'2,

,x'
m
)。
[0022]作为上述实施例的进一步改进,在步骤S3中,通过线性规划方法求解最优化问题:
[0023]minλ
[0024][0025]将所有新样本x'中使得λ最小的未知参数a0,a1,

,a
m
的值作为未知参数a0,a1,

,a...

【技术保护点】

【技术特征摘要】
1.一种测试用例生成方法,其特征在于,包括如下步骤:S1:从待测模型的已有测试用例中获得初始图像样本x
ini
,x
ini
为一个m维的向量,x
ini
的正确分类结果为c,对初始图像样本x
ini
多次添加随机噪声,生成扰动样本集,所述扰动样本集包括多个在初始图像样本x
ini
基础上添加了随机噪声的新样本x',将所述扰动样本集的每个新样本x'输入至所述待测模型,获得每个新样本x'对应的输出y';S2:对每个新样本x'的除维度为c的其他维度i,分别建立仿射函数:Z
i
(x)=a0+a
1 x1+

+a
m
x
m
,其中a0,a1,

,a
m
为待确定的未知参数,Z
i
(x)为z
i
(x)的仿射函数,z
i
(x)=y
i

y
c
,y为样本x在待测模型的输出,y
i
和y
c
分别为y的第i维和第c维元素;S3:根据所述多个新样本x'及对应的输出y',计算未知参数a0,a1,

,a
m
,使得仿射函数Z
i
(x)满足|Z
i
(x')

z
i
(x')|≤λ,其中λ为预设误差;S4:根据计算得到的未知参数a0,a1,

,a
m
,计算使Z
i
(x)获得最大值点的x1,x2,

,x
m
,将使Z
i
(x)获得最大值点的x1,x2,

,x
m
组成的向量即为新测试用例样本x
out
,x
out
=(x1,x2,

,x
m
)。2.如权利要求1所述的测试用例生成方法,其特征在于,在步骤S1中,对初始图像样本x
ini
添加随机噪声的过程包括如下子步骤:S11:对初始图像样本x
ini
的每一维x
i
,计算p
i
=min(0,x
i

r)与q
i
=max(255,x
i
+r);S12:对每一维,随机获得区间[p
i
,q
i
]中的一个整数,将该整数赋值给x'
i
;S13:获得一个新样本x',x'=(x'1,x'2,

,x'
m
)。3.如权利要求1或2所述的测试用例生成方法,其特征在于,在步骤S3中,通过线性规划方法求解最优化问题:minλs.t.将所有新样本x'中使得λ最小的未知参数a0,a1,

,a
m
的值作为未知参数a0,a1,

,a
m
的确定值。4.如权利要求2所述的测试用例生成方法,其特征在于,在步骤S4中,对于已经获得未知参数a0,a1,

,a
m
的确定值的仿射函数,Z
i
(x)=a0+a
1 x1+

+a
m
x
m
,当参数a
i
为正时,取x
i
=q
i
;当参数a
i
为负时,取x
i
=p
i
;将x1,x2,

,x
m
的值作为新测试用例样本x
out
对应各维度的值,由此形成新测试用例样本x
out
。5.一种测试用例生成系统,其特征在于,包括:扰动样本集生成模块:从待测模型的已有测试用例中获得初始图像样本x
ini
,x...

【专利技术属性】
技术研发人员:李仞珏黄承超杨鹏飞张立军
申请(专利权)人:广州市智能软件产业研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1