一种APP性能测试的方法及应用装置
文献发布时间:2023-06-19 10:27:30
技术领域
本发明属于软件性能测试技术领域,尤其涉及一种APP性能测试的方法、应用装置、电子设备和存储介质。
背景技术
稳定性测试是移动端产品专线测试中的重要一项测试,是指移动端产品在一段较长的时间(通常不少于8个小时)进行反复、长期的操作,并在这种压力测试下系统资源是否占用异常,以及APP是否会在运行中崩溃。稳定性性能测试可以考量产品代码的健壮性,是移动端产品发版上线的一个重要质量标准。
在Android(安卓)自动化测试中,有时候需要对一个软件进行压力测试,检查该软件的性能。Android系统中的一个命令行工具Monkey,可以减轻很多重复而又繁琐的工作。Monkey是安卓系统自带的一款稳定性和压力测试工具。Monkey工具像一只调皮的猴子,可在APP中进行各种操作,如乱按、乱摸、乱滚、乱跳。Monkey测试是Android平台下自动化测试的一种快速有效的手段,通过Monkey工具可以模拟用户触摸屏幕、滑动轨迹球、按键等操作来对模拟器或者手机设备上的软件进行压力测试,检测该软件的稳定性、健壮性。它的原理是向系统发送伪随机的用户事件流(如按键输入、触摸输入、手势输入等),实现对正在开发的应用程序进行压力测试。
Monkey工具可以随机产生事件,不带任何主观性,并且使用方便。但在使用传统Monkey进行压测时,如果APP需要登录或者有其他用户参数时,就必须手动操作手机输入数据,这样就会有太多的人为干扰,容易产生脏数据,导致测试结果不精准,难以分析出性能隐患。
因此,如何实现对于APP性能的自动化测试避免人为干预而产生脏数据,是目前亟需解决的技术问题。
发明内容
为解决上述技术缺陷,本发明提供一种APP性能测试的方法,包括步骤:
通过数据线连接,以用于向移动端导入待测APP;
获取自动化测试脚本,以用于插入测试参数;
触发测试命令以启动自动化测试,并最终生成测试报告。
对应的,本发明还提供一种APP性能测试的应用装置,包括:
待测APP导入模块,用于通过数据线连接,以用于向移动端导入待测APP;
测试脚本获取模块,用于获取自动化测试脚本,以用于插入测试参数;
测试命令触发模块,用于触发测试命令以启动自动化测试,并最终生成测试报告。
技术效果说明:通过数据连接向移动端导入待检测APP;通过自动化测试脚本,将测试数据导入到移动端;通过获取测试脚本以注入测试参数,用于实现在启动自动化测试的过程中替代人为操作去插入测试参数,然后开启自动化测试,进而减少人为干预,解决了性能测试过程可能因人为操作而产生脏数据的问题。
优选的,所述通过数据线连接,以用于向移动端导入待测APP的步骤包括:
向移动端导入待检测APP压缩包文件;
解压,并安装为移动端APP。
对应的,所述待测APP导入模块包括:
文件导入单元,用于向移动端导入待检测APP压缩包文件;
解压案件单元,用于解压并安装为移动端APP。
技术效果说明:向移动端导入APP压缩包文件,并进行解压和安装,以作为待检测的APP.
优选的,所述获取自动化测试脚本,以用于插入测试参数的步骤包括:
调用移动端底层驱动,用于以启动待检测APP;
创建APP动作指令,用于检测待测APP状态;
根据测试需求,向所述APP导入测试数据。
对应的,所述测试脚本获取模块包括:
应用调用单元,用于调用移动端底层驱动,用于以启动待检测APP;
指令创建单元,用于创建APP动作指令,用于检测待测APP状态;
数据导入单元,用于根据测试需求,向所述APP导入测试数据。
技术效果说明,通过调动移动端底层应用以启动待检测APP,并创建一个动作指令,以检测APP的状态;同时向APP导入测试数据,以用于性能测试。
优选的,所述触发测试命令以启动自动化测试步骤中的所述自动化测试为模拟用户触摸屏幕、滑动轨迹球、按键操作,用于对移动端上的APP进行压力测试,检测该APP的稳定性及健壮性。
对应的,所述测试命令触发模块包括自动化测试单元;所述自动化测试单元用于模拟用户触摸屏幕、滑动轨迹球、按键操作,用于对移动端上的APP进行压力测试,检测该APP的稳定性及健壮性。
技术效果说明,自动化测试是基于模拟用户向移动端APP所发出的各种指令如触摸屏幕、滑动轨迹球、按键操作,以对移动端上的APP进行压力测试,检测该APP的稳定性及健壮性。
本发明还提供一种电子设备,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序在所述处理器中执行可实现上述任一种方法。
本发明还提供一种存储介质,存储计算机程序,所述计算机程序在处理器中执行可实现上述任一种方法。
本发明提供一种APP性能测试的方法,通过数据连接向移动端导入待检测APP;通过自动化测试脚本,将测试数据导入到移动端;通过获取测试脚本以注入测试参数,用于实现在启动自动化测试的过程中可以替代人为操作去插入测试参数,然后开启自动化测试,进而减少人为干预,解决了性能测试过程可能因人为操作而产生脏数据的问题。
附图说明
图1为一实施例提供的一种APP性能测试的方法的流程图;
图2为一实施例提供的一种APP性能测试的装置图;
图3为一实施例提供的对图1中方法的改进方法流程图;
图4为一实施例提供的待测APP导入模块的架构图;
图5为一实施例提供的对图1中方法的改进方法流程图
图6为一实施例提供的测试脚本获取模块的架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,在本发明的描述中,除非另有明确的规定和限定,术语“存储介质”可以是ROM、RAM、磁碟或者光盘等各种可以存储计算机程序的介质。术语“处理器”可以是CPLD(Complex Programmable Logic Device:复杂可编程逻辑器件)、FPGA(Field-Programmable Gate Array:现场可编程门阵列)、MCU(Microcontroller Unit:微控制单元)、PLC(Programmable Logic Controller:可编程逻辑控制器)以及CPU(CentralProcessing Unit:中央处理器)等具备数据处理功能的芯片或电路。术语“电子设备”可以是具有数据处理功能和存储功能的任何设备,通常可以包括固定终端和移动终端。固定终端如台式机等。移动终端如手机、PAD以及移动机器人等。此外,后续所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
下面,本发明提出部分优选实施例以教导本领域技术人员实现。
实施例一:
参见图1,本实施例提供一种APP性能测试的方法,包括步骤:
S1、通过数据线连接,以用于向移动端导入待测APP;
S2、获取自动化测试脚本,以用于插入测试参数;
S3、触发测试命令以启动自动化测试,并最终生成测试报告。
实施例二:
参见图2,对应的,本发明还提供一种APP性能测试的应用装置,包括:
待测APP导入模块1,用于通过数据线连接,以用于向移动端导入待测APP;
测试脚本获取模块2,用于获取自动化测试脚本,以用于插入测试参数;
测试命令触发模块3,用于触发测试命令以启动自动化测试,并最终生成测试报告。
本实施例通过数据连接向移动端导入待检测APP;通过自动化测试脚本,将测试数据导入到移动端;通过获取测试脚本以注入测试参数,用于实现在启动自动化测试的过程中可以替代人为操作去插入测试参数,然后开启自动化测试,进而减少人为干预,解决了性能测试过程可能因人为操作而产生脏数据的问题。
需要进一步说明的是,本发明所使用的自动化测试为Monkey自动化测试;且,通过ADB shell monkey命令开始执行Monkey自动化测试。
实施例三:
参见图3,优选的,所述通过数据线连接,以用于向移动端导入待测APP的步骤包括:
S11、向移动端导入待检测APP压缩包文件;
S12、解压,并安装为移动端APP。
实施例四:
参见图4,对应的,所述待测APP导入模块包括:
文件导入单元11,用于向移动端导入待检测APP压缩包文件;
解压案件单元12,用于解压并安装为移动端APP。
本实施例通过向移动端导入APP压缩包文件,并进行解压和安装,以作为待检测的APP。
需要进一步说明的是,通过数据线连接电脑与手机,开启移动端(或手机端)ADBshell功能,导入待测APK至移动端(或手机)中。
实施例五:
参见图5,优选的,所述获取自动化测试脚本,以用于插入测试参数的步骤包括:
S21、调用移动端底层驱动,用于以启动待检测APP;
S22、创建APP动作指令,用于检测待测APP状态;
S23、根据测试需求,向所述APP导入测试数据。
实施例六:
参见图6,对应的,所述测试脚本获取模块包括:
应用调用单元21,用于调用移动端底层驱动,用于以启动待检测APP;
指令创建单元22,用于创建APP动作指令,用于检测待测APP状态;
数据导入单元23,用于根据测试需求,向所述APP导入测试数据。
本实施例通过调动移动端底层应用以启动待检测APP,并创建一个动作指令,以检测APP的状态;同时向APP导入测试数据,以用于性能测试。
需要进一步说明的是,配置好测试环境与参数,根据测试用例中不同的测试场景,输入代码手动构建专项测试的自动化脚本,通过ADB shell端口调用手机Service(安卓系统机制,用于启动APP),创建一个Activity(与用户进行交互),用于管理待测APP状态,然后根据测试需求使用ADB shell input方法进行APP数据注入。其中,一般的Monkey测试,如果要对待测APP进行状态更改,如登录状态、是否使用网路数据、wifi等,都是手动去更改,可能会造成测试环境被污染。
优选的,所述触发测试命令以启动自动化测试步骤中的所述自动化测试为模拟用户触摸屏幕、滑动轨迹球、按键操作,用于对移动端上的APP进行压力测试,检测该APP的稳定性及健壮性。
对应的,所述测试命令触发模块包括自动化测试单元;所述自动化测试单元用于模拟用户触摸屏幕、滑动轨迹球、按键操作,用于对移动端上的APP进行压力测试,检测该APP的稳定性及健壮性。
本实施例自动化测试是基于模拟用户向移动端APP所发出的各种指令如触摸屏幕、滑动轨迹球、按键操作,以对移动端上的APP进行压力测试,检测该APP的稳定性及健壮性。
需要进一步说明的是,测试完成后,通过ADB logcat命令导出手机Log(日志文件);对性能测试结果进行取样分析,按性能测试指标生成测试报告。
本发明还提供一种电子设备,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序在所述处理器中执行可实现上述任一种方法。
本发明还提供一种存储介质,存储计算机程序,所述计算机程序在处理器中执行可实现上述任一种方法。
- 一种APP性能测试的方法及应用装置
- 一种安卓/IOS手机APP性能测试及数据采集方法