本发明是关于移动端测试领域,特别是关于一种随机组装交易路径的移动端应用自动化测试装置。
背景技术:
目前已有的移动端自动化测试方法归纳如下:
1、手工方式进行移动端测试,使用人工进行模拟实际操作,效率低,质量差
2、使用基于appium,在此基础上衍生出多种测试工具,但其实现原理仍停留在模拟用户操作,测试脚本采用录制和编写方式。复用性差,可执行效率低。
3、众测方式,收集大量数据信息,统计分析,缺点资源耗费高,时间成本大等
但是,移动端自动化测试一直以来存在的问题就包括显示屏大小、操作系统版本和基本设备特点等限制因素的不一致。同时被测app应用针对不同操作系统版本、机型等适配性不同,必须要标明系统组合(硬件/操作系统)和向下兼容性。需要自动化测试脚本能够具备广泛的适用性,能够实现不同组合的自动化测试,然而自动化脚本的开发通常依赖于某一设备或某一测试环境,交易的自动化脚本通用性。
技术实现要素:
本发明的目的在于提供一种随机组装交易路径的移动端应用自动化测试装置,能够在不重新开发自动化脚本的基础上,保证交易链路的完整性,根据测试交易步骤对交易进行按需匹配组装。
为实现上述目的,本发明提供了一种随机组装交易路径的移动端应用自动化测试装置,包括分离设计的服务器端和至少一个客户端应用,其中服务器端包括:客户端信息管理模块,其用来对移动端测试机自身配置及属性信息管理;应用环境管理模块,其用来管理测试环境及被测应用软件的基础信息;脚本模板库模块,其用来对被测应用测试脚本的集合;任务调度管理模块,其用来完成测试场景的构建和使用;数据聚合分析模块,其用来对所有客户端应用上送的测试数据进行汇总和分析;数据结果管理模块,其用来对所有测试结果数据进行统一管理和展示;客户端应用包括:执行任务管理模块,其用来为移动客户端本地被测应用的执行控制和调度;测试结果回传模块,其用来对本地测试数据进行分类上传;测试结果查看模块,其用来实时查看客户端应用测试结果以对数据进行正确性判断。
优选的,客户端信息管理模块管理的信息包括主机型号、硬件配置信息。
优选的,应用环境管理模块用来管理测试环境基础配置、工具版本情况及被测应用版本信息。
优选的,脚本模板库模块包含历史应用测试脚本存档。
优选的,任务调度管理模块完成测试场景的构建和使用包括完成测试应用及环境的选择、测试交易脚本的组装、测试任务触发。
优选的,数据结果管理模块统一管理和展示包括历史数据和实时数据。
优选的,脚本模板库模块集合被测应用测试脚本时,脚本模板库模块中的元素按照不同粒度拆分成控件、操作、交易进行上传。
优选的,脚本模板库模块包括编辑模块,编辑模块用来编辑控件、操作、交易。
优选的,脚本模板库模块包括再编辑模块,再编辑模块用来编辑脚本中的控件、步骤、交易所包含的任何内容,或为元素之间添加关联,或在元素上增加判断条件、断言和循环次数,或调整元素顺序。
优选的,任务调度管理模块包括:新建任务模块,其用来选择自动化测试脚本,并设置执行的场景;删除任务模块,其用来逻辑删除任务相关的执行记录、监控数据、统计分析数据;克隆任务模块,其用来克隆自动化测试脚本和场景设置;结果展示模块,其用来展示实时任务的执行情况和完成任务的执行结果。
与现有技术相比,根据本发明的随机组装交易路径的移动端应用自动化测试装置具有如下有益效果:
1、本发明实施例将所有操作流程按不同粒度进行拆分,提供对于控件、操作、交易的模板化管理。减少自动化测试脚本的重复建设。
2、本发明实施例提供对自动化测试脚本的组装功能和再编辑。减少开发自动化测试脚本的复杂度和门槛,降低开发成本,缩短开发周期,提高开发质量,提高灵活度。
3、本发明实施例以任务的形式对自动化测试脚本进行场景化管理,场景执行更多元化、灵活性。
附图说明
图1是根据本发明一实施方式的随机组装交易路径的移动端应用自动化测试装置的原理示意图;
图2是根据本发明一实施方式的随机组装交易路径的移动端应用自动化测试装置的功能流程示意图;
图3是根据本发明一实施方式的随机组装交易路径的移动端应用自动化测试装置中拆分的流程示意图;
图4是根据本发明一实施方式的随机组装交易路径的移动端应用自动化测试装置中再编辑的流程示意图;
图5是根据本发明一实施方式的随机组装交易路径的移动端应用自动化测试装置中任务调度管理模块的原理示意图;
图6是根据本发明一实施方式的随机组装交易路径的移动端应用自动化测试装置中测试数据回传处理流程示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
如图1所示,根据本发明优选实施方式的一种随机组装交易路径的移动端应用自动化测试装置,包括分离设计的服务器端和至少一个客户端应用,其中所述服务器端包括客户端信息管理模块、应用环境管理模块、脚本模板库模块、任务调度管理模块、数据聚合分析模块、数据结果管理模块,客户端信息管理模块用来对移动端测试机自身配置及属性信息管理;应用环境管理模块用来管理测试环境及被测应用软件的基础信息;脚本模板库模块用来对被测应用测试脚本的集合;任务调度管理模块用来完成测试场景的构建和使用;数据聚合分析模块用来对所有客户端应用上送的测试数据进行汇总和分析;数据结果管理模块用来对所有测试结果数据进行统一管理和展示。客户端应用包括执行任务管理模块、测试结果回传模块和测试结果查看模块,执行任务管理模块用来为移动客户端本地被测应用的执行控制和调度;测试结果回传模块用来对本地测试数据进行分类上传;测试结果查看模块用来实时查看客户端应用测试结果以对数据进行正确性判断。
参见图2,以下对各模块的功能和各模块之间关系详细说明如下:
1、客户端信息管理:移动端测试机自身配置及属性信息管理,包括主机型号、硬件配置信息等。
2、应用环境管理:测试环境及被测应用软件的基础信息,包括测试环境基础配置及工具版本情况、被测应用版本信息等。
3、脚本模板库:针对被测应用测试脚本的集合库,该库包含历史应用测试脚本存档,作为可再生资源使用。
4、任务调度管理:该模块主要完成测试场景的构建和使用,包括完成测试应用及环境的选择、测试交易脚本的组装、测试任务触发等。
5、数据聚合分析:对所有客户端应用上送的测试数据进行汇总和分析。
6、数据结果管理:对所有测试结果数据进行统一管理和展示,包括历史数据和实时数据。
7、执行任务管理:该功能模块主要为移动客户端本地被测应用的执行控制和调度。
8、测试结果回传:主要对本地测试数据进行分类上传。
9、测试结果查看:实时查看客户端应用测试结果,方便对数据进行正确性判断。
作为一种优选的实施例,脚本模板库模块集合被测应用测试脚本时,脚本模板库模块中的元素按照不同粒度拆分成控件、操作、交易进行上传。对于控件、操作、交易的模板化管理,可以减少自动化测试脚本的重复建设。
如图3所示,脚本模板库模块集合被测应用测试脚本时,脚本模板库模块中的元素按照不同粒度拆分成控件、操作、交易进行上传,并以json或xml的形式保存。
以控件为粒度拆分时,包含控件的resourceid、classname、xpath、description、坐标信息、相对布局信息。
以步骤为粒度拆分时,包含步骤的名称、入口判断条件、循环、断言、包含的控件。
拆分功能在脚本上传脚本模板库过程中进行,拆分完成后统一进入到脚本模板库中维护,该部分功能是独立于各装置模块。
以交易为粒度拆分时,包含交易的名称、入口判断条件、入口和出口参数、循环、断言、包含的步骤。
拆分后的控件、步骤、交易保存为模板元素,供生成自动化测试脚本时选择使用。
模板库中元素可删除和编辑,编辑保存后仍为模板库元素:
编辑控件,可编辑或新增控件的信息。
编辑步骤,可编辑步骤的名称、控件的循环次数、入口判断条件、埋点标签,删除控件,从模板库中选择增加控件。
编辑交易,可编辑交易的名称、步骤的循环次数、断言、埋点标签,删除步骤信息,从模板库中选择增加步骤或控件。
如图4所示,从模板库选择一个或多个控件、步骤或交易作为测试脚本的元素,随意组装成自动化测试脚本。根据实际场景对组装的脚本进行再编辑,具体包括:编辑脚本中的控件、步骤、交易所包含的任何内容;为元素之间添加关联;在元素上增加判断条件、断言和循环次数;调整元素顺序;添加埋点标签,用于监控、统计和追踪。通过再编辑,减少开发自动化测试脚本的复杂度和门槛,降低开发成本,缩短开发周期,提高开发质量,提高灵活度。
如图5所示,所述任务调度管理模块以任务的形式对场景进行管理,提供任务的新建、删除、克隆功能、结果展示。具体包括:
新建任务模块,其用来选择自动化测试脚本,并设置执行的场景。设置场景的执行方式,按时间执行、按次数循环执行;设置场景的执行时间,立即执行、指定时间点执行;选择执行的设备,设备按网络类型(2g/3g/4g/wifi)、品牌、操作系统等进行分类。
删除任务模块,其用来逻辑删除任务相关的执行记录、监控数据、统计分析数据;
克隆任务模块,其用来克隆自动化测试脚本和场景设置;
结果展示模块,其用来展示实时任务的执行情况和完成任务的执行结果。展示实时任务的执行情况、以标签为维度的监控数据;展示完成任务的执行结果、以标签为维度的监控数据、统计数据和资源数据。通过场景化管理,场景执行更多元化、灵活性。
参见图6,移动端驱动手机应用执行,实时获取监控结果并回传到服务端,监控指标丰富多样,以元素为最小单位时间,通过模板中标签位设置,随意获取指标数据,包括响应时间、单位处理能力、cpu使用率、内存使用率、流量消耗、fps、电池电量消耗等指标。在此基础上,针对异常测试结果提供截图、视频回放、日志告警等功能。测试数据实时回传到服务端后,进行测试结果的统计和计算,提供多种方式数据分析,包括单机结果展示、多机聚合比对、场景数据分析等,并提供多样化结果展示方式,如图表、图形等。测试结果数据同样可以反馈给客户端,提供查询下载。
发明已经在中信银行软件开发中心系统测试处内部进行了上线及测试推广使用:
综上,本实施例的随机组装交易路径的移动端应用自动化测试装置,支持不同网络、不同机型的多机并行,以控制中心对多机进行管理和监控、汇总监控数据,多机之间互不影响。通过对手机银行app应用开展常规化测试,具有如下效果:
1)通过自动化的工具实现了模拟实际用户对手机银行客户端进行自动化测试,并自动进行性能监控和分析,节省大量人员成本和时间成本,并且针对测试结果的准确性有了保障和提高。
2)整体提升所有移动端性能自动化测试工作效率和成本,同时为后续的移动端测试方法和实践提供了工具保障和基础,在此基础上可实现针对移动端性能测试不同类型的开发和迭代接口。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
1.一种随机组装交易路径的移动端应用自动化测试装置,其特征在于,包括分离设计的服务器端和至少一个客户端应用,其中所述服务器端包括:
客户端信息管理模块,其用来对移动端测试机自身配置及属性信息管理;
应用环境管理模块,其用来管理测试环境及被测应用软件的基础信息;
脚本模板库模块,其用来对被测应用测试脚本的集合;
任务调度管理模块,其用来完成测试场景的构建和使用;
数据聚合分析模块,其用来对所有客户端应用上送的测试数据进行汇总和分析;
数据结果管理模块,其用来对所有测试结果数据进行统一管理和展示;
所述客户端应用包括:
执行任务管理模块,其用来为移动客户端本地被测应用的执行控制和调度;
测试结果回传模块,其用来对本地测试数据进行分类上传;
测试结果查看模块,其用来实时查看客户端应用测试结果以对数据进行正确性判断。
2.如权利要求1所述的随机组装交易路径的移动端应用自动化测试装置,其特征在于,所述客户端信息管理模块管理的信息包括主机型号、硬件配置信息。
3.如权利要求1所述的随机组装交易路径的移动端应用自动化测试装置,其特征在于,所述应用环境管理模块用来管理测试环境基础配置、工具版本情况及被测应用版本信息。
4.如权利要求1所述的随机组装交易路径的移动端应用自动化测试装置,其特征在于,所述脚本模板库模块包含历史应用测试脚本存档。
5.如权利要求1所述的随机组装交易路径的移动端应用自动化测试装置,其特征在于,所述任务调度管理模块完成测试场景的构建和使用包括完成测试应用及环境的选择、测试交易脚本的组装、测试任务触发。
6.如权利要求1所述的随机组装交易路径的移动端应用自动化测试装置,其特征在于,所述数据结果管理模块统一管理和展示包括历史数据和实时数据。
7.如权利要求1所述的随机组装交易路径的移动端应用自动化测试装置,其特征在于,所述脚本模板库模块集合被测应用测试脚本时,所述脚本模板库模块中的元素按照不同粒度拆分成控件、操作、交易进行上传。
8.如权利要求7所述的随机组装交易路径的移动端应用自动化测试装置,其特征在于,所述脚本模板库模块包括编辑模块,所述编辑模块用来编辑控件、操作、交易。
9.如权利要求7所述的随机组装交易路径的移动端应用自动化测试装置,其特征在于,所述脚本模板库模块包括再编辑模块,所述再编辑模块用来编辑脚本中的控件、步骤、交易所包含的任何内容,或为元素之间添加关联,或在元素上增加判断条件、断言和循环次数,或调整元素顺序。
10.如权利要求1所述的随机组装交易路径的移动端应用自动化测试装置,其特征在于,所述任务调度管理模块包括:
新建任务模块,其用来选择自动化测试脚本,并设置执行的场景;
删除任务模块,其用来逻辑删除任务相关的执行记录、监控数据、统计分析数据;
克隆任务模块,其用来克隆自动化测试脚本和场景设置;
结果展示模块,其用来展示实时任务的执行情况和完成任务的执行结果。
技术总结