System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及自动化测试,具体涉及一种基于数据预处理的接口自动化测试方法及系统。
技术介绍
1、在实际中,数据库中存储的往往是经过预处理的数据。原始数据通常以日志的形式被采集并存储在elasticsearch等搜索引擎中,再通过定时任务进行查询、清洗和转换,最终将处理后的数据存入关系型数据库中。
2、但是如果产品的持续迭代,则现有的自动化测试方案存在以下技术问题:测试用例依赖于固定的历史数据,数据是按照旧的处理逻辑生成的,无法反映新的数据的正确性,由于固定时间范围的查询结果可能已经过时,无法覆盖新增的业务场景和数据处理需求。当数据处理逻辑发生变化时,需要重新准备测试数据,维护成本较高。
3、因此,现有技术对于待测接口的检测存在准确性不足的问题,难以保证数据处理逻辑的正确性,不能满足产品持续迭代场景中的质量保证需求。
技术实现思路
1、有鉴于此,本专利技术提供了一种基于数据预处理的接口自动化测试方法及系统,以解决如何在产品的持续迭代过程中,有效提高对于待测接口的检测结果的准确性。
2、第一方面,本专利技术提供了一种基于数据预处理的接口自动化测试方法,应用于自动化测试框架,方法包括:
3、判断当前时刻对应的时间戳的值与上一次日志上报时对应的时间戳的值之间的时间差值是否大于第一预设时间周期阈值,其中,所述第一预设时间周期阈值与待测目标模块的数据处理频率值为负相关关系;
4、若大于第一预设时间周期阈值,则读取待测目标模块运行时产生
5、基于与待测目标模块对应的待测接口查询所述数据库中目标时间区间范围内的目标日志信息,其中,所述目标时间区间范围表示当前时刻向前推移第一预设时间周期阈值所对应的时间区间范围;
6、若所述目标日志信息中包含上报数据库的所述原始日志信息,则基于所述目标日志信息进行待测接口的逻辑测试,得到所述待测接口的测试结果。
7、本专利技术实施例,判断当前时刻对应的时间戳的值与上一次日志上报时对应的时间戳的值之间的时间差值是否大于第一预设时间周期阈值,通过时间差值判断是否需要上报新日志,避免过于频繁的数据更新,以提高测试效率,若大于第一预设时间周期阈值,将原始日志信息中的日志时间变量的值修改为当前时刻对应的时间戳的值,将修改后的日志信息上报至数据库,之后记录当前时刻对应的时间戳的值,将日志时间更新为当前时间,确保测试数据的实时性,下次日志采集上报时的日志数据是最新的,基于待测接口查询数据库中目标时间区间范围内的目标日志信息,目标时间区间是向前推移一个预设的时间周期,保证查询到的数据是与当前测试时刻相关的最新数据,避免了使用旧数据进行测试,从而提高了测试的准确性;如果查询到的目标日志信息包含先前上报的原始日志信息,则说明数据处理流程是正确的,是基于最新的时间戳生成的,进而有效保证在产品迭代更新、对应接口修改后,进行最新接口测试结果的准确性。
8、在一种可选的实施方式中,所述判断当前时刻对应的时间戳的值与上一次日志上报时对应的时间戳的值之间的时间差值是否大于第一预设时间周期阈值,具体包括:
9、获取第一时间变量对应的值和第二时间变量对应的值,其中,所述第一时间变量用于存储上一次日志上报时所记录的时间戳的值,所述第二时间变量用于存储当前时刻对应的时间戳的值;
10、判断第二时间变量对应的值减去所述第一时间变量对应的值得到的时间差值是否大于所述第一预设时间周期阈值。
11、本专利技术实施例中,第一时间变量用于存储上一次日志上报时记录的时间戳值。第二时间变量用于存储当前时刻对应的时间戳值,通过这两个时间变量,系统能够精确地跟踪上次日志上报的时间和当前时间,从而为后续的时间差值计算提供数据基础。
12、在一种可选的实施方式中,所述基于与待测目标模块对应的待测接口查询所述数据库中目标时间区间范围内的目标日志信息之前,所述方法还包括:
13、进入等待状态,直至等待状态的持续时长达到第二预设时间周期阈值;其中,所述第二预设时间周期阈值与所述待测目标模块的数据处理复杂度数值为负相关关系,或者所述第二预设时间周期阈值与所述待测目标模块的数据响应速度数值为正相关关系。
14、本专利技术实施例,在查询目标日志信息之前,先进入等待状态,直到等待时长达到第二预设时间周期阈值。保证数据库有足够的时间完成数据处理和响应,避免因为数据处理复杂度或响应速度较慢而导致数据没有及时生成或处理,影响产品迭代时接口测试的准确性的情况。
15、在一种可选的实施方式中,所述基于与待测目标模块对应的待测接口查询所述数据库中目标时间区间范围内的目标日志信息之后,所述方法还包括:
16、若所述目标日志信息中不包含上报数据库的所述原始日志信息,则间隔所述第二预设时间周期阈值后,继续基于与待测目标模块对应的待测接口查询所述数据库中目标时间区间范围内的目标日志信息,直至所述目标日志信息中包含上报数据库的所述原始日志信息。
17、本专利技术实施例,目标日志信息中不包含上报的原始日志信息时,间隔时间后再次查询,也就是说如果是在初次查询中,目标日志信息中没有找到更新后的原始日志信息,说明日志数据可能尚未完全处理,查询到的也并非是最新的、准确的日志,此时不会立即结束测试,而是间隔一个第二预设时间周期阈值后,继续查询数据库中的目标日志信息,避免了频繁查询数据库,控制测试的频率同时从而保证在产品迭代并且接口修改后依然能够采用最新的日志数据进行测试,提高了测试结果的准确性。
18、在一种可选的实施方式中,所述待测接口中包括数据处理代码逻辑片段;
19、所述基于所述目标日志信息进行待测接口的逻辑测试,得到所述待测接口的测试结果,具体包括:
20、根据将所述目标日志信息输入至所述数据处理代码逻辑片段,得到输出的实际数据处理结果;
21、判断所述实际数据处理结果与预设期望处理结果是否相同,若相同,则所述待测接口的数据处理代码逻辑片段测试通过,若不同,则所述待测接口测试数据处理代码逻辑片段不通过。
22、本专利技术实施例,待测接口不仅仅是简单地通过查询数据库返回数据,还包含了用于数据处理的代码逻辑片段,即测试的不仅仅是数据库查询结果,还包括了对数据处理逻辑的测试,通过将目标日志信息输入到数据处理代码逻辑片段中,可以直接测试目前代码逻辑的运行结果,也就是说测试过程对应的是最新的代码逻辑,不是依赖于历史数据进行测试,从而保证在产品迭代并且接口修改后依然能够采用最新的日志数据进行测试,提高了接口测试的准确性。
23、在一种可选的实施方式中,所述待测接口中包括数据采集代码逻辑片段;
24、所述基于所述目标日志信本文档来自技高网...
【技术保护点】
1.一种基于数据预处理的接口自动化测试方法,其特征在于,应用于自动化测试框架,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述判断当前时刻对应的时间戳的值与上一次日志上报时对应的时间戳的值之间的时间差值是否大于第一预设时间周期阈值,具体包括:
3.根据权利要求1所述的方法,其特征在于,所述基于与待测目标模块对应的待测接口查询所述数据库中目标时间区间范围内的目标日志信息之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述基于与待测目标模块对应的待测接口查询所述数据库中目标时间区间范围内的目标日志信息之后,所述方法还包括:
5.根据权利要求1-4任一项所述的方法,其特征在于,所述待测接口中包括数据处理代码逻辑片段;
6.根据权利要求1-4任一项所述的方法,其特征在于,所述待测接口中包括数据采集代码逻辑片段;
7.一种基于数据预处理的接口自动化测试系统,其特征在于,所述系统包括:
8.一种计算机设备,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,
10.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于使计算机执行权利要求1-6中任一项所述的基于数据预处理的接口自动化测试方法。
...【技术特征摘要】
1.一种基于数据预处理的接口自动化测试方法,其特征在于,应用于自动化测试框架,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述判断当前时刻对应的时间戳的值与上一次日志上报时对应的时间戳的值之间的时间差值是否大于第一预设时间周期阈值,具体包括:
3.根据权利要求1所述的方法,其特征在于,所述基于与待测目标模块对应的待测接口查询所述数据库中目标时间区间范围内的目标日志信息之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述基于与待测目标模块对应的待测接口查询所述数据库中目标时间区间范围内的目标日志信息之后,所述方法还包括:
5.根据权利要求1-4任一项所述的方法,...
【专利技术属性】
技术研发人员:施素玲,张枫漳,温晓英,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。