掌桥专利:专业的专利平台
掌桥专利
首页

一种应用稳定性测试方法

文献发布时间:2023-06-19 09:26:02


一种应用稳定性测试方法

技术领域

本发明属于自动化测试技术领域,具体涉及一种应用稳定性测试方法。

背景技术

应用稳定性测试技术和传统稳定性测试技术存在本质性差异,传统稳定性测试技术大多基于底层模块执行测试,无法直接地关注到实际用户体验相关的系统稳定性测试。此外,传统稳定性测试技术没有关注到某些操作系统中一些特有功能,无法足够全面地测试某些操作系统的稳定性。

中国发明专利“安卓应用稳定性测试的方法及装置”(申请号CN201410211591.7)公开了一种安卓应用稳定性测试的方法及装置,涉及终端应用测试领域,用于解决monkey工具测试覆盖不全面以及monkeyrunner 工具维护成本高、复用度低的问题,该方法包括:根据预设配置项确定测试类型及待测试数据,测试类型包括monkey测试和/或monkeyrunner测试;如果测试类型为monkey测试,则根据monkey测试语句中的各测试参数对待测试数据进行monkey测试;如果测试类型为monkeyrunner测试,则根据每个monkeyrunner测试语句中的各脚本语句对待测试数据进行monkeyrunner测试。该发明只适用于安卓移动终端,并没有考虑Linux操作系统等桌面系统。

中国发明专利“一种服务器稳定性测试方法”(申请号 CN201911090823.7)提供了一种服务器稳定性测试方法,通过创建模拟客户的实际应用场景拓扑环境,进行持续稳定的压力测试、渐变压力测试、收集测试数据并分析输出分析结果,通过模拟客户的实际场景,可以评估各种配置对容错和高可用场景的支持情况,检验服务的在客户应用场景下的稳定性。该申请解决了服务器稳定性测试问题,但并没有考虑到基于应用级的稳定性测试。

中国发明专利“服务器稳定性测试方法和服务器”(申请号 CN201710316288.7)提供一种服务器稳定性测试方法和服务器,该方法包括:服务器硬件稳定性测试指令集、操作系统软件稳定性测试集,通过在服务器上设置用于测试服务器稳定性的测试集使服务器通过自动运行该测试集来测试服务器的稳定性,该申请解决了服务器稳定性测试问题,但并没有考虑到通用桌面和服务器操作系统领域。

中国发明专利“一种GUI自动化测试方法及系统”(申请号 CN201710618522.1)公开了一种GUI自动化测试方法及系统,解决只需通过编辑/修改测试用例的方式就能快速完成GUI自动化测试的部署和实施,给 GUI自动化测试的实施带来了极大的便利,同时节约了大量的成本。但该发明只适用于功能测试,并没有考虑到应用稳定性测试。

综上,目前缺少针对应用稳定性测试的方法。

发明内容

为解决上述问题,本发明提供了一种应用稳定性测试方法,所述方法包括步骤:

在操作系统上配置应用稳定性测试软件;

开启所述应用稳定性测试软件;

在所述应用稳定性测试软件上配置测试信息;

所述应用稳定性测试软件调度所述测试配置;

所述应用稳定性测试软件执行所述测试配置;

所述应用稳定性测试软件输出测试报告。

优选地,所述在所述应用稳定性测试软件上配置测试信息包括步骤:

在所述应用稳定性测试软件上配置测试总时间;

在所述应用稳定性测试软件上配置动作间隔时间;

在所述应用稳定性测试软件上配置应用程序列表;

在所述应用稳定性测试软件上配置每个应用的对应测试动作数;

在所述应用稳定性测试软件上配置每个应用的对应最大开启数;

在所述应用稳定性测试软件上配置所有应用最大开启数。

优选地,所述应用稳定性测试软件调度所述测试配置包括步骤:

获取配置信息;

选定待测试应用;

基于所述配置信息对待测试应用进行分组;

基于所述配置信息对分组内的每个应用选择相应的测试动作;

获取每个应用的应用ID及其对应的测试动作ID;

获取每个分组内所有应用的应用ID及其对应的测试动作ID;

生成每个分组的测试运行编码。

优选地,所述基于所述配置信息对待测试应用进行分组包括步骤:

获取所述配置信息中的应用程序列表和所有应用最大开启数M;

预设A个空组;

将所述应用程序列表中所有的应用程序随机分入A个空组中,并得到A 个分组;其中,每个分组中的应用程序个数N满足:1≤N≤M,A、M和N均为正整数;

获取所述配置信息中的每个应用的对应最大开启数K;

对A个分组中每个分组的应用程序进行配置;其中,每个分组内每个应用程序的个数B和所有应用程序的总个数C满足:1≤B≤K,1≤C≤M,B、C 和K均为正整数。

优选地,所述基于所述配置信息对分组内的每个应用选择相应的测试动作包括步骤:

获取分组结果;

获取分组内每个应用对应的测试动作数P;

获取测试动作库;

从所述测试动作库中随机选择Q个测试动作;其中,1≤Q≤P,Q为正整数;

将每个应用及其对应的Q个测试动作映射形成测试动作字典。

优选地,所述应用稳定性测试软件执行所述测试配置包括步骤:

获取分组及对应的测试运行编码;

获取分组内每个应用对应的测试动作字典;

获取配置信息中的测试总时间、动作间隔时间和每个应用的对应最大开启数;

根据所述分组和所述测试运行编码,开启每一所述分组内的所有应用程序;

根据所述测试总时间、所述动作间隔时间和所述对应最大开启数对每一所述分组内的每个应用执行测试动作。

优选地,所述应用稳定性测试软件执行所述测试配置包括步骤:

对所述分组内的所有应用执行所述测试运动编码;

判断是否到达所述测试总时间;

若是,收集测试信息;

若否,判断当前所述测试运行编码中是否存在未执行测试动作;

若是,切换到所述测试动作对应的应用程序,并执行所述测试动作;

若否,判断所有所述测试动作编码是否完成执行;

若是,返回所述获取分组及对应的测试运行编码步骤;

若否,执行当前所述测试编码相邻的下一个测试编码。

优选地,所述应用稳定性测试软件输出测试报告包括步骤:

获取所有测试信息;

打印并输出所述测试信息。

本申请提供的一种应用稳定性测试方法具有如下有益效果:

(1)应用于国产银河麒麟操作系统,填补了Linux操作系统中应用级稳定性测试的空缺;

(2)关注应用级稳定性测试,即用户操作过程中真实体验方面,扩充了关注用户体验方面的操作系统测试技术;

(3)采用python语言编码,满足了跨架构平台上稳定性测试方法;

(4)可构建出多种场景应用稳定性测试,且符合用户实际体验稳定性测试方法;

(5)采用运行编码形式运行测试,可方便复现多种场景测试。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的一种应用稳定性测试方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

如图1,在本申请实施例中,本发明提供了一种应用稳定性测试方法,所述方法包括步骤:

S1:在操作系统上配置应用稳定性测试软件;

S2:开启所述应用稳定性测试软件;

S3:在所述应用稳定性测试软件上配置测试信息;

S4:所述应用稳定性测试软件调度所述测试配置;

S5:所述应用稳定性测试软件执行所述测试配置;

S6:所述应用稳定性测试软件输出测试报告。

当使用此应用稳定性测试方法对应用进行稳定性测试时,首先在操作系统上配置应用稳定性测试软件,该操作系统可以为Windows系统,也可以为 Linux系统,可以为国外公司研发的操作系统,也可以为国产操作系统,如为国产银河麒麟操作系统;该应用稳定性测试软件可以为现有测试软件,也可以为测试者根据测试要求自行开发的软件。当测试时,开启操作系统上的应用稳定性测试软件,然后在所述应用稳定性测试软件上配置测试信息,所述应用稳定性测试软件调度所述测试配置,并执行测试配置对应用进行测试,最终所述应用稳定性测试软件输出测试报告,供测试者参考分析应用的稳定性。本申请提供的方法采用python语言编码,满足了跨架构平台上稳定性测试要求。

在本申请实施例中,所述在所述应用稳定性测试软件上配置测试信息包括步骤:

在所述应用稳定性测试软件上配置测试总时间;

在所述应用稳定性测试软件上配置动作间隔时间;

在所述应用稳定性测试软件上配置应用程序列表;

在所述应用稳定性测试软件上配置每个应用的对应测试动作数;

在所述应用稳定性测试软件上配置每个应用的对应最大开启数;

在所述应用稳定性测试软件上配置所有应用最大开启数。

具体地,在本申请实施例中,测试信息包括:测试总时间、动作间隔时间、应用程序列表、每个应用的对应测试动作数、每个应用的对应最大开启数和所有应用最大开启数。测试总时间表示进行测试时测试持续的总时长;动作间隔时间表示相邻两个测试动作之间相隔的时长;应用程序列表表示进行测试的应用程序的列表;每个应用的对应测试动作数表示针对每个应用均配置有相应的测试动作数,每个应用对应的测试动作数可以相同,也可以不同;每个应用的对应最大开启数表示针对每个应用均配置有相应的最大开启数,所有应用最大开启数表示针对所有应用配置有一个最大的开启数,在应用分组时以这两个配置为依据进行分组配置。当达到此最大开启数时,在后续测试过程中此应用不再开启;当达到此最大开启数时,在后续的测试过程中,没有应用再次开启。

在本申请实施例中,所述应用稳定性测试软件调度所述测试配置包括步骤:

获取配置信息;

选定待测试应用;

基于所述配置信息对待测试应用进行分组;

基于所述配置信息对分组内的每个应用选择相应的测试动作;

获取每个应用的应用ID及其对应的测试动作ID;

获取每个分组内所有应用的应用ID及其对应的测试动作ID;

生成每个分组的测试运行编码。

在本申请实施例中,首先获取配置信息,也即获取测试总时间、动作间隔时间、应用程序列表、每个应用的对应测试动作数、每个应用的对应最大开启数和所有应用最大开启数,然后在应用程序列表中选择待测试应用,选择规则可以为随机选择,或者按照一定的规则选择,比如在应用程序列表中按照排序顺序选择;接着基于所述配置信息中的一个或者多个项目(也即测试总时间、动作间隔时间、应用程序列表、每个应用的对应测试动作数、每个应用的对应最大开启数和所有应用最大开启数)对待测试应用进行分组,分组规则可以为随机分组,然后基于配置信息中的一个或者多个项目对分组内的每个应用选择相应的测试动作,并获取每个应用的应用ID及其对应的测试动作ID,以及获取每个分组内所有应用的应用ID及其对应的测试动作ID;然后将每个分组内所有应用的应用ID及对应的测试动作ID按照测试动作字典形式一一对应排列,并生成每个分组的测试运行编码,该测试运行编码可以存储在测试软件中便于后续直接调用。

在本申请实施例中,所述基于所述配置信息对待测试应用进行分组包括步骤:

获取所述配置信息中的应用程序列表和所有应用最大开启数M;

预设A个空组;

将所述应用程序列表中所有的应用程序随机分入A个空组中,并得到A 个分组;其中,每个分组中的应用程序个数N满足:1≤N≤M,A、M和N均为正整数;

获取所述配置信息中的每个应用的对应最大开启数K;

对A个分组中每个分组的应用程序进行配置;其中,每个分组内每个应用程序的个数B和所有应用程序的总个数C满足:1≤B≤K,1≤C≤M,B、C 和K均为正整数。

在本申请实施例中,分组可以依据每个应用的对应最大开启数和所有应用最大开启数而进行配置。具体地,首先获取所述配置信息中的应用程序列表和所有应用最大开启数M,该应用程序列表中存储有待测试的所有应用程序,此时预设A个空组,空组内没有应用程序,然后将所述应用程序列表中所有的应用程序随机分入A个空组中,并得到A个分组;其中,每个分组中的应用程序个数N满足:1≤N≤M,A、M和N均为正整数,每个分组内的应用程序个数可以相同,也可以不同;接着再获取所述配置信息中的每个应用的对应最大开启数K,然后根据每个应用的对应最大开启数K对A个分组中每个分组的应用程序进行配置;其中,每个分组内每个应用程序的个数B和所有应用程序的总个数C满足:1≤B≤K,1≤C≤M,B、C和K均为正整数。

在本申请实施例中,所述基于所述配置信息对分组内的每个应用选择相应的测试动作包括步骤:

获取分组结果;

获取分组内每个应用对应的测试动作数P;

获取测试动作库;

从所述测试动作库中随机选择Q个测试动作;其中,1≤Q≤P,Q为正整数;

将每个应用及其对应的Q个测试动作映射形成测试动作字典。

在本申请实施例中,选择相应的测试动作可以通过分组结果和分组内每个应用对应的测试动作数P而得到,具体地,首先获取分组结果和分组内每个应用对应的测试动作数P,该分组结果中存储有位于同一组的应用程序,然后获取同一组内的每个应用对应的测试动作数P;然后获取测试动作库,并从此测试动作库中随机选择小于对应P的Q个测试动作,并分配给对应的应用,以待后续进行稳定性测试。该测试动作库可以预先设置,比如可以为“点击”、“按压”,也可以根据需要自定义设置,比如可以为“持续点击30s”等。

在本申请实施例中,所述应用稳定性测试软件执行所述测试配置包括步骤:

获取分组及对应的测试运行编码;

获取分组内每个应用对应的测试动作字典;

获取配置信息中的测试总时间、动作间隔时间和每个应用的对应最大开启数;

根据所述分组和所述测试运行编码,开启每一所述分组内的所有应用程序;

根据所述测试总时间、所述动作间隔时间和所述对应最大开启数对每一所述分组内的每个应用执行测试动作。

在本申请实施例中,当执行测试配置时,首先获取分组以及每个分组对应的测试运行编码,然后获取分组内每个应用对应的测试动作字典,根据所述分组和所述测试运行编码,开启每一所述分组内的所有应用程序,当每个分组内存在多个同一相同应用程序时,则多个相同应用程序均打开;然后根据所述测试总时间、所述动作间隔时间和所述对应最大开启数对每一所述分组内的每个应用执行测试动作。具体地,当对每个分组内的应用执行测试动作时,测试总体持续时间需要小于等于测试总时间,相邻两个测试动作时间的间隔时间需要大于等于动作间隔时间,每次测试时每个应用的最大开启数需要小于等于每个应用的对应最大开启数。

在本申请实施例中,所述应用稳定性测试软件执行所述测试配置包括步骤:

对所述分组内的所有应用执行所述测试运动编码;

判断是否到达所述测试总时间;

若是,收集测试信息;

若否,判断当前所述测试运行编码中是否存在未执行测试动作;

若是,切换到所述测试动作对应的应用程序,并执行所述测试动作;

若否,判断所有所述测试动作编码是否完成执行;

若是,返回所述获取分组及对应的测试运行编码步骤;

若否,执行当前所述测试编码相邻的下一个测试编码。

在本申请实施例中,当对分组内的所有应用执行测试运动编码时,需要周期性地判断是否达到测试总时间;当达到测试总时间时,此时测试需要结束,收集所有测试信息,便于后续形成测试报告;当没有达到测试总时间时,判断当前所述测试运行编码中是否存在未执行测试动作;如果存在未执行测试动作,则切换到所述测试动作对应的应用程序,并对此应用程序执行所述测试动作;如果不存在未执行测试动作,则判断所有的测试动作编码是否完成执行;如果所有的动作编码均以完成执行,则返回所述获取分组及对应的测试运行编码步骤,以对新的分组及分组内的测试运行编码进行测试;当还有动作编码未完成执行时,执行当前所述测试编码相邻的下一个测试编码,直至将所有的动作编码执行完成。

在本申请实施例中,所述应用稳定性测试软件输出测试报告包括步骤:

获取所有测试信息;

打印并输出所述测试信息。

在本申请实施例中,测试报告上包括所有的测试信息,当完成测试时,打印所有的测试信息,并形成测试报告,供测试者分析应用的稳定性。

本申请提供的一种应用稳定性测试方法具有如下有益效果:

(1)应用于国产银河麒麟操作系统,填补了Linux操作系统中应用级稳定性测试的空缺;

(2)关注应用级稳定性测试,即用户操作过程中真实体验方面,扩充了关注用户体验方面的操作系统测试技术;

(3)采用python语言编码,满足了跨架构平台上稳定性测试方法;

(4)可构建出多种场景应用稳定性测试,且符合用户实际体验稳定性测试方法;

(5)采用运行编码形式运行测试,可方便复现多种场景测试。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

相关技术
  • 一种应用的稳定性测试方法、装置、系统及存储介质
  • 一种应用于综合孔径微波辐射计的高稳定性测试方法
技术分类

06120112164474