System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 软件测试方法及计算设备技术_技高网

软件测试方法及计算设备技术

技术编号:40254926 阅读:9 留言:0更新日期:2024-02-02 22:47
本申请提供一种软件测试方法及计算设备,属于计算设备领域。本申请通过业务自动化软件以及被测软件的测试用例,生成运行数据,运行数据为计算设备运行被测软件所依赖的数据,测试用例包括计算设备生成运行数据所依赖的参数、用于指示生成运行数据的代码以及基于运行数据运行被测软件后被测软件的预期结果;对运行数据进行数据变异,得到变异数据;将变异数据输入至被测软件,基于变异数据运行被测软件,以得到被测软件的输出结果;基于被测软件的输出结果以及被测软件的预期结果测试被测软件中存在的问题。由于在测试过程中引入了业务自动化软件基于被测软件的测试用例生成的运行数据,降低测试路径不可达的风险,提升测试深度。

【技术实现步骤摘要】

本申请涉及计算设备领域,具体涉及一种软件测试方法及计算设备


技术介绍

1、黑盒fuzz(模糊)测试是一种软件测试方法。所谓“黑盒”是指主要关注被测软件的输入数据和输出数据,基于被测软件的输出数据发现被测软件的问题,而不需要对被测软件的程序代码和内部实现有深入的了解。

2、目前,fuzz测试所基于的数据通常仅是静态的样本数据,例如待测试软件的设计示例数据,导致测试深度不足。


技术实现思路

1、本申请实施例提供了一种软件测试方法及计算设备,能够提升测试深度。所述技术方案如下。

2、第一方面,提供了一种软件测试方法,应用于计算设备,所述方法包括:通过业务自动化软件以及被测软件的测试用例,生成运行数据,所述运行数据为所述计算设备运行所述被测软件所依赖的数据,所述测试用例包括所述计算设备生成所述运行数据所依赖的参数、用于指示生成所述运行数据的代码以及基于所述运行数据运行所述被测软件后所述被测软件的预期结果;对所述运行数据进行数据变异,得到变异数据;将所述变异数据输入至所述被测软件,基于所述变异数据运行所述被测软件,以得到所述被测软件的输出结果;基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题。

3、通过第一方面提供的方法,由于在测试过程中引入了业务自动化软件基于被测软件的测试用例生成的运行数据,相当于为被测软件构建了运行时所依赖的环境,因此降低被测软件运行时由于缺少运行数据导致测试路径不可达的风险,从而提升测试深度。>

4、在一种可能的实现方式中,所述基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题,包括:对所述被测软件的输出结果与所述预期结果进行对比;响应于所述被测软件的输出结果与所述预期结果相同,确定所述被测软件存在问题。

5、由于被测软件在处理经过数据变异得到的输出结果与变异前的运行数据对应的预期结果相同,相当于于被测软件未正确处理异常情况,从而确定被测软件存在问题,从而降低了发现被测软件中存在问题的难度,更容易识别出被测软件中的问题。

6、在一种可能的实现方式中,所述方法还包括:在基于所述变异数据运行所述被测软件的过程中,将所述计算设备的状态记录至日志中;所述基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题,包括:响应于所述被测软件的输出结果与所述预期结果相同或者所述日志中记录的所述计算设备的状态为异常状态,确定所述被测软件存在问题。

7、通过在日志中记录计算设备在基于变异数据运行被测软件的状态,联合被测软件的输出结果与测试用例中的预期结果的对比结果以及日志中记录的设备状态这两个维度进行问题检测,从而提高问题检测的准确性和全面性,有助于进一步提高问题检测的覆盖率。

8、在一种可能的实现方式中,所述基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题之后,所述方法还包括:基于测试出的所述被测软件中存在的问题的数量以及基于所述变异数据运行所述被测软件的次数,获取问题检测率,所述问题检测率用于指示测试过程中发现问题的难度;响应于确定所述问题检测率小于或等于问题检测率阈值,结束测试过程。

9、由于采用问题检测率描述测试过程中发现问题的难度,在问题检测率小于或等于问题检测率阈值时结束测试,从而降低基于变异数据运行被测软件的次数过多导致测试周期过长且效率低下的风险,提高测试效率。

10、在一种可能的实现方式中,所述运行数据包括所述计算设备运行所述被测软件所依赖的业务对象,所述测试用例中所述计算设备生成所述运行数据所依赖的参数包括所述业务对象的标识,所述测试用例中用于指示生成所述运行数据的代码包括用于指示创建所述业务对象的代码,所述通过业务自动化软件以及被测软件的测试用例,生成运行数据,包括:通过业务自动化软件基于所述业务对象的标识执行所述用于指示创建所述业务对象的代码,得到所述业务对象。

11、考虑到被测软件的一些功能依赖于特定的业务对象,在没有创建业务对象的情况下运行被测软件存在被测软件运行失败的风险,通过创建业务对象,从而降低后续在运行被测软件的过程中由于业务对象不存在导致被测软件运行失败的风险,提高测试成功的概率。

12、在一种可能的实现方式中,所述基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题,包括:响应于所述被测软件的输出结果为所述业务对象创建成功且所述被测软件的输出结果为所述业务对象创建成功,确定所述被测软件中存在问题。

13、在一种可能的实现方式中,所述运行数据包括所述计算设备运行所述被测软件所依赖的token,所述测试用例中所述计算设备生成所述运行数据所依赖的参数包括账号和密码,所述测试用例中用于指示生成所述运行数据的代码包括用于指示获取所述token的代码,所述通过业务自动化软件以及被测软件的测试用例,生成运行数据,包括:通过业务自动化软件基于所述账号和所述密码执行所述用于指示获取所述token的代码,获取所述token。

14、考虑到被测软件在执行一些功能时会基于token进行权限验证,在没有token的情况下存在没有权限运行被测软件导致测试失败的风险,通过获取token,从而降低后续在运行测试软件的过程中由于缺少token导致没有权限运行被测软件的风险,提高测试成功的概率。

15、在一种可能的实现方式中,所述测试用例还包括登录所述被测软件所依赖的账号和密码,所述通过业务自动化软件以及被测软件的测试用例,生成运行数据之前,所述方法还包括:基于所述账号和所述密码登录所述被测软件。

16、考虑到被测软件的一些处理逻辑需要在处于登录状态这一前提条件下执行,通过登录被测软件,从而降低由于没有登录导致被测软件运行失败的风险,提高测试成功的概率。

17、在一种可能的实现方式中,所述基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题之后,所述方法还包括:从所述计算设备的内存中删除所述运行数据。

18、通过删除运行数据,相当于清理了测试用例运行时所处的环境,避免下一次执行测试用例时受到上一次执行测试用例时遗留的运行数据的干扰,使得每一次执行测试用例所处的环境相互独立,从而提高测试的准确性。

19、在一种可能的实现方式中,所述对所述运行数据进行数据变异,得到变异数据,包括:按照数据模型对所述运行数据的格式进行处理,所述数据模型用于指示所述被测软件的输入数据中每个字段的格式;对格式处理后的数据进行数据变异。

20、通过采用数据模型处理运行数据的格式,有助于运行数据的格式满足被测软件对输入数据的格式要求,从而降低由于格式错误导致被测软件执行失败的风险。

21、第二方面,提供了一种计算设备,所述计算设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条计算机程序指令,所述至少一条计本文档来自技高网...

【技术保护点】

1.一种软件测试方法,其特征在于,应用于计算设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题,包括:

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题之后,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述运行数据包括所述计算设备运行所述被测软件所依赖的业务对象,所述测试用例中所述计算设备生成所述运行数据所依赖的参数包括所述业务对象的标识,所述测试用例中用于指示生成所述运行数据的代码包括用于指示创建所述业务对象的代码,所述通过业务自动化软件以及被测软件的测试用例,生成运行数据,包括:

6.根据权利要求5所述的方法,其特征在于,所述基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题,包括:

7.根据权利要求1所述的方法,其特征在于,所述运行数据包括所述计算设备运行所述被测软件所依赖的token,所述测试用例中所述计算设备生成所述运行数据所依赖的参数包括账号和密码,所述测试用例中用于指示生成所述运行数据的代码包括用于指示获取所述token的代码,所述通过业务自动化软件以及被测软件的测试用例,生成运行数据,包括:

8.根据权利要求1至7中任一项所述的方法,其特征在于,所述基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题之后,所述方法还包括:

9.根据权利要求1所述的方法,其特征在于,所述对所述运行数据进行数据变异,得到变异数据,包括:

10.一种计算设备,其特征在于,所述计算设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条计算机程序指令,所述至少一条计算机程序指令由所述处理器加载并执行,以使所述计算设备实现权利要求1-9中任一项所述的方法。

...

【技术特征摘要】

1.一种软件测试方法,其特征在于,应用于计算设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题,包括:

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述基于所述被测软件的输出结果以及所述被测软件的预期结果测试所述被测软件中存在的问题之后,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述运行数据包括所述计算设备运行所述被测软件所依赖的业务对象,所述测试用例中所述计算设备生成所述运行数据所依赖的参数包括所述业务对象的标识,所述测试用例中用于指示生成所述运行数据的代码包括用于指示创建所述业务对象的代码,所述通过业务自动化软件以及被测软件的测试用例,生成运行数据,包括:

6.根据权利要求5所述的方法,其特征在于,所述基于所述被测软件的输出结果以及所述被测软件的预期结果...

【专利技术属性】
技术研发人员:吕状
申请(专利权)人:超聚变数字技术有限公司
类型:发明
国别省市:

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

1