一种软件测试系统及方法技术方案

技术编号:27460396 阅读:68 留言:0更新日期:2021-02-25 05:16
本发明专利技术提供了一种软件测试方法,包括:获取用于进行软件测试的待校验软件,并获得初始测试序列和初始输入数据;运行所述待校验软件获得输出数据;记录软件测试过程中的变迁行为,得到测试序列,并根据所述测试序列对输出序列进行预测,得到校验数据;筛选并忽略掉无用的测试序列;判断所述校验数据与所述输出数据是否相同,当所述校验数据与所述输出数据相同时,确定所述待校验软件完整,本发明专利技术还提供了一种软件系统。了一种软件系统。了一种软件系统。

【技术实现步骤摘要】
一种软件测试系统及方法


[0001]本专利技术涉及计算机软件领域,尤其涉及一种软件测试系统及方法。

技术介绍

[0002]并行软件系统的状态数量都非常大,这种情况下,多数测试序列生成方法都很难生成有效的测试例。有的测试方法在状态数过多时将不能使用;有的测试方法在状态数过多时将产生大量无用的测试序列,使测试执行不完或失去意义,因为其状态空间的规模很大,所以传统的不针对并行软件的测试方法很难取得良好的测试效果。而目前出现的针对并行软件的测试方法非常有限,存在两大问题:一是在针对属性的测试方法和基于竞争资源的测试方法中,都存在覆盖率不足的问题,也就是产生的测试序列无法对待测行为进行完全覆盖;二是在采用新的并发覆盖标准的测试方法中,产生大量无用测试序列的问题,虽然达到了覆盖标准,但是测试序列过多,测试不能有效完成,所以,要想解决并行软件的测试问题,必须同时解决上述两大问题。

技术实现思路

[0003]本专利技术提供了一种软件测试方法能够记录软件测试行为,能够对产生的测试序列进行筛选评估和预测,并采用筛选方法忽略掉无用测试序列,保证测试有效完成。
[0004]本专利技术提供的技术方案为:
[0005]一种软件测试方法,包括:
[0006]获取用于进行软件测试的待校验软件,并获得初始测试序列和初始输入数据;运行所述待校验软件获得输出数据;
[0007]记录软件测试过程中的变迁行为,得到测试序列,并根据所述测试序列对输出序列进行预测,得到校验数据;
[0008]筛选并忽略掉无用的测试序列;
[0009]判断所述校验数据与所述输出数据是否相同,当所述校验数据与所述输出数据相同时,确定所述待校验软件完整。
[0010]优选的是,所述测试序列为运算数据集合,包括:数据取值范围,字符串长度、字符串结构、字符集和字符集构成比例。
[0011]优选的是,所述校验数据通过将所述测试序列输入预测模型获得,所述预测模型由如下步骤获得:
[0012]获取已有测试序列构建特征集合,并将所述特征集合内测试序列进行替代提取和评估;
[0013]并将所述特征集合内的测试序列划分为训练集和验证集两部分;
[0014]构建预测模型,将所述训练集输入预测模型,对所述预测模型进行训练,并通过所述验证集验证所述预测模型的准确性,完成所述预测模型的训练。
[0015]优选的是,根据权利要求3所述的软件测试方法,其特征在于:所述训练集和所述
验证集的划分比例为7:3。
[0016]优选的是,所述特征集合内测试序列进行替代提取和评估过程为:
[0017]确定滑动窗口,并对所述测试序进行逐字符滑窗,进而确定所述测试序列的平稳性;
[0018]利用替换数据对异常测试序列进行替换,所述异常测试序列为不在所述窗口范围内的测试序列数据;所述替换数据为异常测试序列的d次差分。
[0019]优选的是,所述预测模型的构建包括如下步骤:
[0020]建立时间标度,并将所述时间标度输入所述测试序列,以使所述测试序列与所述变迁次数相对应;
[0021]根据所述时间标度,计算每次变迁产生测试序列的变迁系数和优序系数;
[0022]计算完成测试时产生的变迁连接权重;
[0023]并根据所述变迁连接权重和优序系数结合输入数据生成校验数据计算公式;
[0024]将所述校验数据与验证集数据进行比较,当不满足阈值条件时,修正所述替换数据的差分次数,并重新生成校验数据计算公式;
[0025]当满足阈值条件时预测模型构建完成。
[0026]优选的是,所述变迁系数计算公式为:
[0027][0028]其中,B
iq
为变迁系数,η为校验系数,ρ为数据平稳性,m为数据个数,m
y
为异常数据个数,T为数据变化周期,x
c
为数据变化差值,e为自然底数,C为常数,k为数据变化频率;
[0029]所述变迁连接权重为:
[0030]其中,N为总变迁次数,i为变迁次数,i=1,2,3

N。
[0031]优选的是,所述优序系数计算公式为:
[0032][0033]其中,p
y
为优序系数,L
n
为拉格朗日多项式。
[0034]所述校验数据计算公式为:
[0035]S
c
=(1+Q
b
)
·
p
y
·
a0;
[0036]其中,S
c
为校验数据,a0为输入数据。
[0037]优选的是,所述筛选并忽略掉无用的测试序列通过如下步骤实现:
[0038]建立筛选数据集合,所述筛选数列集合内包含需要保存测试序列的数据;
[0039]将所述测试序列与所述筛选数列集合内的数据作比较,若不同,忽略掉该测试序列。
[0040]一种软件测试系统,包括包括应用处理器和存储器,所述处理器用于实现所述存
储器中存储的计算机管理程序式时实现所述的的软件测试方法的步骤。
[0041]本专利技术提供了一种软件测试方法能够记录软件测试行为,能够对产生的测试序列进行筛选评估和预测,并采用筛选方法忽略掉无用测试序列,保证测试有效完成。
附图说明
[0042]图1为本专利技术所述的软件测试方法流程图。
[0043]图2为本专利技术所述的预测模型的构建流程图。
[0044]图3为本专利技术所述的特征集合内测试序列进行替代提取和评估过程流程图。
[0045]图4为本专利技术所述的预测模型的构建流程图。
具体实施方式
[0046]以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0047]需要说明的是,在本专利技术的描述中,术语“中”、“上”、“下”、“横”、“内”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0048]此外,还需要说明的是,在本专利技术的描述中,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本专利技术中的具体含义。
[0049]如图1所示,基于
技术介绍
提出本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件测试方法,其特征在于:包括:获取用于进行软件测试的待校验软件,并获得初始测试序列和初始输入数据;运行所述待校验软件获得输出数据;记录软件测试过程中的变迁行为,得到测试序列,并根据所述测试序列对输出序列进行预测,得到校验数据;筛选并忽略掉无用的测试序列;判断所述校验数据与所述输出数据是否相同,当所述校验数据与所述输出数据相同时,确定所述待校验软件完整。2.根据权利要求1所述的软件测试方法,其特征在于:所述测试序列为运算数据集合,包括:数据取值范围,字符串长度、字符串结构、字符集和字符集构成比例。3.根据权利要求1或2所述的软件测试方法,其特征在于:所述校验数据通过将所述测试序列输入预测模型获得,所述预测模型由如下步骤获得:获取已有测试序列构建特征集合,并将所述特征集合内测试序列进行替代提取和评估;并将所述特征集合内的测试序列划分为训练集和验证集两部分;构建预测模型,将所述训练集输入预测模型,对所述预测模型进行训练,并通过所述验证集验证所述预测模型的准确性,完成所述预测模型的训练。4.根据权利要求3所述的软件测试方法,其特征在于:所述训练集和所述验证集的划分比例为7:3。5.根据权利要求4所述的软件测试方法,其特征在于:所述特征集合内测试序列进行替代提取和评估过程为:确定滑动窗口,并对所述测试序进行逐字符滑窗,进而确定所述测试序列的平稳性;利用替换数据对异常测试序列进行替换,所述异常测试序列为不在所述窗口范围内的测试序列数据;所述替换数据为异常测试序列的d次差分。6.根据权利要求5所述的软件测试方法,其特征在于:所述预测模型的构建包括如下步骤:建立时间标度,并将所述时间标度输入所述测试序列,以使所述测试序列与所述变迁次数相对应;根据所述时间标度,计算每次变迁产生测试序列的变迁系数和优序...

【专利技术属性】
技术研发人员:王宇龙刘斌武伟文枫连晓峰肖锦龙肖正秀王琳琳盛珂王栓奇李之博
申请(专利权)人:北京工商大学
类型:发明
国别省市:

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

1