基于时间序列的软件测试方法、系统、存储介质及设备

文档序号:35532085发布日期:2023-09-21 13:16阅读:61来源:国知局
基于时间序列的软件测试方法、系统、存储介质及设备

本发明涉及软件测试领域,尤其涉及基于时间序列的软件测试方法、系统、存储介质及设备。


背景技术:

1、随着信息技术的飞速发展,越来越多的软件被广泛地应用于电子电器、公共交通、军事科技以及互联网it等领域,同时也给我们的生活品质带来了极大地改善和提升。然而,当这些软件的数量多到一定程度时,它们的质量难以得到保证,于是软件测试应运而生,服务于软件开发和用户,通过测试获取数据,并分析结果,来找出软件存在的缺陷,以此来帮助开发人员解决软件存在的bug,提高软件的质量,提升了用户的体验。

2、传统的软件测试方法在执行测试用例时是随机的,极有可能会重复执行相似的测试用例,降低了测试效率的同时也会降低发现缺陷的效果。现有技术中,为了降低重复单元的测试,采用聚类算法实现协助软件测试,但也存在缺陷:1、目前聚类算法架构趋于复杂,而传统的软件测试技术难以适应新的需求,在测试方面容易造成漏测,误测等不良结果。2、自动化软件测试在整个项目的软件测试中所占地比重仍然较小,大多数的测试还依赖人工的测试,现阶段的聚类研究并不能实现自动化测试的比重提升。3、目前的关于软件测试的聚类研究当中,在处理测试模块的方法上不能完全体现测试用例的功能模块,不能全面覆盖所要测试的功能需求,给产品的质量安全性埋下隐患。

3、针对上述问题,对数学化处理后的软件功能模块数据进行聚类已经被应用于不同的行业领域,这些被运用于聚类模型的数据经过研究人员的提取可以从这些复杂和大规模的数据集中获得有价值的信息,用聚类进行测试用例的回归分析,使用深度学习模型对测试用例进行特征取样并完成软件程序模块聚类。但是当前的聚类方法对软件模块测试分析只能对测试用例部分代码提取并加以选择,不能准确对软件测试各个环节进行有效分析,且分析方法过于单一,覆盖面小,不能降低软件测试的资源消耗、时间消耗。


技术实现思路

1、本发明的目的在于克服软件测试中聚类方法存在的问题,提供了一种基于时间序列分割聚类算法的软件测试方法、系统、存储介质及设备。

2、本发明的目的是通过以下技术方案来实现的:

3、主要提供一种基于时间序列分割聚类算法的软件测试方法,所述方法包括:

4、对各类待测项目程序进行静态分析并提取出待测目标代码,并在所述待测目标代码中插入原型项目程序的模块代码段,得到待测数据集;

5、采用时间序列分割聚类算法对所述待测数据集进行初次聚类,并对初次聚类进行准确性评估,得到初次聚类结果;其中,聚类相同的一组项目模块代码进行具体功能的划分,得到一组新的测试用例,并根据新的测试用例划分新的待测试模块;

6、对所述初次聚类结果使用时间序列分割聚类算法进行二次聚类,得到最终的测试用例集合;

7、对所述测试用例集合进行测试。

8、作为一优选项,一种基于时间序列分割聚类算法的软件测试方法,所述对各类待测项目程序进行静态分析并提取出目标代码,包括:

9、对所述待测项目程序进行切割成不同类型的功能代码片段,并对不同类型的功能代码片段设置不同类型的特征标签,得到不同类型的待测功能模块;

10、采用pca主成分分析对所述待测功能模块进行特征选取,并构建新的字段来描述原本的特征。

11、作为一优选项,一种基于时间序列分割聚类算法的软件测试方法,在所述待测目标代码中插入原型项目程序的模块代码段,包括:

12、对原型项目程序的模块代码段进行标签化,得到原型标签,并将所述原型标签插入所述待测目标代码中。

13、作为一优选项,一种基于时间序列分割聚类算法的软件测试方法,所述初次聚类包括:

14、将所述待测功能模块设定成一定长度的原始信号,将所述原始信号划分为若干可能的状态段,并标记原始信号的各个状态段。

15、作为一优选项,一种基于时间序列分割聚类算法的软件测试方法,使用f1-score均值对初次聚类进行准确性评估。

16、作为一优选项,一种基于时间序列分割聚类算法的软件测试方法,所述二次聚类包括:

17、对所述新的测试用例进一步划分,并将划分后的测试用例与所述原型项目程序的模块代码段进行聚类。

18、作为一优选项,一种基于时间序列分割聚类算法的软件测试方法,所述对不同类型的功能代码片段设置不同类型的特征标签,包括:

19、对具有增、删、改、查的目标功能代码片段进行特征标签,得到fp类特征标签;对登录注册功能的代码片段进行特征标签,得到lgp类特征标签;对含有可视化展示的功能代码片段进行特征标签,得到vp类特征标签。

20、本发明还提供一种基于时间序列分割聚类算法的软件测试系统,包括:

21、待测数据创建模块,用于对各类待测项目程序进行静态分析并提取出待测目标代码,并在所述待测目标代码中插入原型项目程序的模块代码段,得到待测数据集;

22、初次聚类模块,采用时间序列分割聚类算法对所述待测数据集进行初次聚类,并对初次聚类进行准确性评估,得到初次聚类结果;其中,聚类相同的一组项目模块代码进行具体功能的划分,得到一组新的测试用例,并根据新的测试用例划分新的待测试模块;

23、二次聚类模块,用于对所述初次聚类结果使用时间序列分割聚类算法进行二次聚类,得到最终的测试用例集合;

24、测试模块,用于对所述测试用例集合进行测试。

25、另一方面,本发明还提供一种计算机可读存储介质,其上存储有执行所述的软件测试方法的相关程序。

26、另一方面,本发明还提供一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使所述电子设备实现所述的软件测试方法。

27、需要进一步说明的是,上述各选项对应的技术特征在不冲突的情况下可以相互组合或替换构成新的技术方案。

28、与现有技术相比,本发明有益效果是:

29、(1)本发明采用时间序列分割聚类算法搭建基于软件功能性连接组采用逆协方差的自动分割聚类模型,在没有标定的情况下,能够发掘待测功能模块中隐藏的信息,准确提取出测试用例的功能模块,提升了软件测试各环节的覆盖面,保证测试用例的多元化的同时,降低测试用例的处理复杂度,降低软件测试的资源消耗,提高测试效率。

30、初次聚类的目的是为了获取标准测试代码同待测试的代码之间的聚类矩阵,二次聚类的目的就是能够具体到某一个功能,同第一次聚类中获得的标准测试代码的二次聚类,这次聚类能够获得该待测试代码同标准测试代码的聚类分组,随后软件测试人员根据聚类分组的情况以及聚类模型给出的评分决定同一分组内的代码为安全、标准或基本标准的代码,不用进行测试,通过多级聚类的方式,最终实现降低测试成本目标的目的。

31、(2)使用pca主成分分析的方法能够对初步获得的测试用例中的特征进行很好的降低特征维度,否则数据集维度过高会影响后续聚类效果,只有提取准确的测试代码模块特征才能完成时间序列聚类算法的数据输入模块,才能得到好的聚类结果

32、(3)本发明降低单元测试的重复测试,大幅度增强了自动化软件测试的工作效率,填补了软件测试生产中缩短测试工作周期的空缺。

33、(4)本发明使用改进的逆协方差方法,将软件测试过程当中需要进行检测的模块进行分割并进行静态分析,获得原型模块测试代码和分类软件功能模块测试代码并进行遍历,计算其中的代码耦合率,提供有效的聚类结果评估方法,并实现更加智能化的聚类识别从而减少重复软件测试。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1