CN109828918A - 应用程序测试方法、装置、计算机设备和存储介质 - Google Patents
应用程序测试方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109828918A CN109828918A CN201910039785.6A CN201910039785A CN109828918A CN 109828918 A CN109828918 A CN 109828918A CN 201910039785 A CN201910039785 A CN 201910039785A CN 109828918 A CN109828918 A CN 109828918A
- Authority
- CN
- China
- Prior art keywords
- test
- tested
- trigger action
- instruction
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种测试技术,具体涉及一种应用程序测试方法、装置、计算机设备和存储介质。所述方法包括:进入待测试应用程序的测试界面;当检测到作用于所述测试界面的第一触发操作时,接收外部输入设备发送的操作测试指令;当检测到作用于所述测试界面的第二触发操作时,生成操作测试指令;将所述操作测试指令转换成相应的模拟触摸测试指令;根据所述模拟触摸测试指令,对所述待测试应用程序进行测试。采用本方法能够提高应用程序测试的灵活性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序测试方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了越来越多的计算机程序产品。而衡量计算机程序产品质量好坏的一个重要标准就是产品的稳定性。此时,就需要对计算机程序产品进行稳定性测试。测试人员通常会采用Monkey测试来测试应用程序的稳定性。其中,Monkey测试也称搞怪测试。Monkey测试是指通过一些稀奇古怪的操作方式去测试被测试系统或应用程序,以测试系统或应用程序的稳定性和兼容性。
然而,传统的Monkey测试通常是自动化测试,就是在测试程序脚本中写好程序,自动生成相应的测试指令对应用程序进行测试。但传统的应用程序测试方法只能机械的自动测试,不具有针对性和目的性,不够灵活。
发明内容
基于此,有必要针对上述技术问题,提供一种能够灵活测试的应用程序测试方法、装置、计算机设备和存储介质。
一种应用程序测试方法,所述方法包括:
进入待测试应用程序的测试界面;
当检测到作用于所述测试界面的第一触发操作时,接收外部输入设备发送的操作测试指令;
当检测到作用于所述测试界面的第二触发操作时,生成操作测试指令;
将所述操作测试指令转换成相应的模拟触摸测试指令;
根据所述模拟触摸测试指令,对所述待测试应用程序进行测试。
一种应用程序测试装置,所述装置包括:
进入模块,用于进入待测试应用程序的测试界面;
接收模块,用于当检测到作用于所述测试界面的第一触发操作时,接收外部输入设备发送的操作测试指令;
生成模块,用于当检测到作用于所述测试界面的第二触发操作时,生成操作测试指令;
转换模块,用于将所述操作测试指令转换成相应的模拟触摸测试指令;
测试模块,用于根据所述模拟触摸测试指令,对所述待测试应用程序进行测试。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
进入待测试应用程序的测试界面;
当检测到作用于所述测试界面的第一触发操作时,接收外部输入设备发送的操作测试指令;
当检测到作用于所述测试界面的第二触发操作时,生成操作测试指令;
将所述操作测试指令转换成相应的模拟触摸测试指令;
根据所述模拟触摸测试指令,对所述待测试应用程序进行测试。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
进入待测试应用程序的测试界面;
当检测到作用于所述测试界面的第一触发操作时,接收外部输入设备发送的操作测试指令;
当检测到作用于所述测试界面的第二触发操作时,生成操作测试指令;
将所述操作测试指令转换成相应的模拟触摸测试指令;
根据所述模拟触摸测试指令,对所述待测试应用程序进行测试。
上述应用程序测试方法、装置、计算机设备和存储介质,当检测到作用于待测试应用程序的测试界面的第一触发操作时,进入手动测试模式,此时可接收外部输入设备发送的操作测试指令。当检测到作用于所述测试界面的第二触发操作时,进入自动测试模式,此时可自动生成操作测试指令。并且,不管是接收外部输入设备发送的操作测试指令还是自动生成的操作测试指令,都能将操作测试指令转换成模拟触摸测试指令以对待测试应用程序进行测试。这样,就可根据待测试应用程序的实际情况,灵活选择自动测试模式或手动测试模式以对待测试应用程序进行测试,大大提高了应用程序测试的灵活度。
附图说明
图1为一个实施例中应用程序测试方法的应用场景图;
图2为一个实施例中应用程序测试方法的流程示意图;
图3为一个实施例中自动填充测试用户信息的步骤的流程示意图;
图4为另一个实施例中应用程序测试方法的流程示意图;
图5为一个实施例中应用程序测试装置的结构框图;
图6为另一个实施例中应用程序测试装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的应用程序测试方法,可以应用于如图1所示的应用环境中。其中,测试设备110与外部输入设备120通过蓝牙或USB(Universal Serial Bus,通用串行总线)连接等方式进行通信。测试设备110进入待测试应用程序的测试界面。当测试设备110检测到作用于测试界面的第一触发操作时,接收外部输入设备120发送的操作测试指令。当测试设备110检测到作用于测试界面的第二触发操作时,生成操作测试指令。测试设备110将操作测试指令转换成相应的模拟触摸测试指令,并根据模拟触摸测试指令,对待测试应用程序进行测试。其中,测试设备110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,外部输入设备120可以但不限于是鼠标、键盘、或手写仪。
在一个实施例中,如图2所示,提供了一种应用程序测试方法,以该方法应用于图1中的测试设备110为例进行说明,包括以下步骤:
S202,进入待测试应用程序的测试界面。
其中,测试界面是对待应用程序进行测试的活动界面。具体地,测试设备上运行有待测试应用程序。当测试设备检测到作用于待测试应用程序的触发操作时,进入待测试应用程序的测试界面。其中,触发操作具体可以是触摸操作、光标操作、按键操作或者语音操作等。
在一个实施例中,在对待应用程序进行测试之前,可在待测试应用程序中嵌入SDK包(Software Development Kit,软件开发工具包)。通过嵌入的SDK工具包,提供在测试设备上进行展示的测试界面。也就是,通过运行嵌入有SDK包的待测试应用程序,测试设备可进入测试界面。
在一个实施例中,步骤S202具体包括:确定待测试应用程序;检测作用于待测试应用程序的展示触发操作;当检测到展示触发操作时,进入相应的测试界面;在测试界面中展示用于检测第一触发操作的第一虚拟按键、以及用于检测第二触发操作的第二虚拟按键。
其中,展示触发操作是触发展示测试界面的操作。具体地,测试设备上运行有多个应用程序。测试设备可根据各测试应用的应用包名来确定待测试应用程序。
在一个实施例中,测试设备可安装嵌入有SDK包的应用程序,安装有嵌入SDK包的应用程序即为待测试应用程序。测试设备可运行待测试应用程序。
进一步地,测试设备可检测作用于待测试应用程序的展示触发操作,当检测到预设的展示触发操作时,测试设备进入待测试应用程序的测试界面。进入待测试应用程序的的测试界面后,测试界面中可展示有用于选择不同的测试模式的响应选项。比如,用于选择手动测试模式的响应选项、以及用于选择自动测试模式的响应选项。其中,用于选择手动测试模式的响应选项,即用于触发第一触发操作的第一虚拟按键;用于选择自动测试模式的响应选项,即用于触发第二触发操作的第二虚拟按键。
当用户点击或按压第一虚拟按键时,可触发进入手动测试模式,也就是接收外部输入设备发送的操作测试指令。当用户点击或按压第二虚拟按键时,可触发进入自动测试模式,也就是自动生成操作测试指令。
在一个实施例中,测试界面中还可展示测试提示信息,比如提示用户如何进行Monkey测试等。在一个实施例中,测试界面中还可展示有测试用户信息的输入框。用户可在测试用户信息的输入框中输入测试用户信息。比如测试用户账号、测试账号密码、测试手机号、测试邮箱地址、测试银行卡号等等。
上述实施例中,通过在测试界面中展示用于检测第一触发操作的第一虚拟按键、以及用于检测第二触发操作的第二虚拟按键,这样在测试界面中就展示用于选择测试模式的虚拟按键,简洁直观,提高了应用程序测试的灵活度。
S204,当检测到作用于测试界面的第一触发操作时,接收外部输入设备发送的操作测试指令。
其中,外部输入设备是不同于测试设备的输入设备,比如测设设备外接的鼠标、键盘、或手写仪等。操作测试指令是一种测试信号,具体可以是按键信号。操作测试指令具体可以是由鼠标或键盘产生的信号。
具体地,当测试设备检测到作用于测试界面的第一触发操作时,可进入手动测试模式。手动测试模式是指,通过外部输入装置对待测试应用程序进行测试。测试设备可通过蓝牙或USB接口等连接方式连接鼠标或键盘。用户可通过鼠标或键盘来操作控制测试设备,进而对待测试应用程序进行测试。
在一个实施例中,步骤S204具体包括以下步骤:当检测到作用于测试界面的第一触发操作时,连接外部输入设备;外部输入设备包括鼠标和键盘中的至少一种;通过外部输入设备检测作用于外部输入设备的测试触发操作;通过外部输入设备生成与测试触发操作相应的操作测试指令;接收外部输入设备反馈的操作测试指令。
具体地,当测试设备检测到第一触发操作时,可通过蓝牙或USB接口等连接方式连接外部输入设备,比如键盘或鼠标。用户可通过点击键盘和/或鼠标触发测试触发操作,鼠标和/或键盘可根据检测到的测试触发操作,生成相应的操作测试指令。
举例说明,以蓝牙连接外部输入设备为例进行说明:测试设备可调用getProfileProxy(Context,BluetoothProfile.ServiceListener)来获取代理对象的连接。创建BluetoothHidDeviceAppSdpSettings,BluetoothHidDeviceAppQosSettings对象,创建BluetoothHidDeviceCallback回调,调用registerApp方法注册。将测试设备与外部输入装置配对,并且进行连接。
再以键盘为例说明外部输入设备将测试触发操作转换成相应的操作测试指令的过程:键盘的内部有一块微处理器,微处理器可不停的对键盘的行和列进行扫描。当一个键被按下时,微处理器可记录按键的行线位置和列线位置,根据按键位置,读出键值(ASCII码),因而可将测试触发操作转换成相应的操作测试指令。
上述实施例中,当检测到作用于测试界面的第一触发操作时,通过外部输入设备对待测试应用程序进行测试,外部输入设备包括鼠标和键盘中的至少一种。这样,可使得待测试应用程序的测试变得更有针对性和灵活。
S206,当检测到作用于测试界面的第二触发操作时,生成操作测试指令。
具体地,当测试设备检测到作用于测试界面的第二触发操作时,可进入自动测试模式。自动测试模式是指,测试设备自动生成操作测试指令,以对待测试应用程序进行测试。
在一个实施例中,步骤S206具体包括以下步骤:当检测到作用于测试界面的第二触发操作时,获取测试参数;依据测试参数,随机生成相应的操作测试指令。
其中,测试参数是生成操作测试指令的指标参数,具体可以包括:测试时间间隔、测试时长、点击次数、循环次数、测试类型、日志种类等。其中,测试类型包括整体测试和依次测试。日志种类包括logcat日志、kernel日志、radio日志等。
其中,测试时间间隔是指两次Monkey测试事件之间的间隔时间,可按用户需求自行设定。测试时长是指执行一次Monkey测试的时长,也就是说从开始对待测试应用程序进行测试开始,在预设时间段内进行Monkey测试,达到测试时长后停止测试。点击次数是一次Monkey测试中生成的点击操作测试指令的次数。
可以理解的是,设置的测试时间间隔、测试时长、点击次数、以及循环次数不同,相应的测试参数也不同,因而生成的操作测试指令也不同。
具体地,可预先在待测试应用程序中嵌入SDK包,SDK包中预先设置测试参数。当测试设备进入自动测试模式时,测试设备可提取出测试参数,并依据测试参数随机生成操作测试指令,以对待测试应用程序进行测试。
上述实施例中,当检测到作用于测试界面的第二触发操作时,可进入自动测试模式,依据获取的测试参数,随机生成相应的操作测试指令,大大提高了测试效率。
S208,将操作测试指令转换成相应的模拟触摸测试指令。
其中,模拟触摸测试指令是模拟的触摸测试信号。具体地,待测试应用程序中嵌入有SDK包,可预先在SDK包中存储信号转换表。信号转换表也就是将操作测试指令映射成模拟触摸测试指令的映射表。具体可以是操作测试指令和模拟触摸测试指令间的对应关系。
举例说明,比如,可将如鼠标单击,映射为测试设备上的点击事件;键盘tab事件,映射为测试设备上选中事件等。这样,即可将操作测试指令映射为模拟触摸测试指令。
S210,根据模拟触摸测试指令,对待测试应用程序进行测试。
具体地,测试设备可根据模拟触摸测试指令对待测试应用进行测试。就像用户手动点击触摸屏以在应用程序的界面中进行操作一样。待测试应用程序会根据模拟触摸测试指令进行相应的反应。
在一个实施例中,测试设备可记录对待测试应用程序进行测试时,待测试应用程序根据模拟触摸测试指令所产生的相应的反馈,并据此生成测试日志。
上述应用程序测试方法,当检测到作用于待测试应用程序的测试界面的第一触发操作时,进入手动测试模式,此时可接收外部输入设备发送的操作测试指令。当检测到作用于测试界面的第二触发操作时,进入自动测试模式,此时可自动生成操作测试指令。并且,不管是接收外部输入设备发送的操作测试指令还是自动生成的操作测试指令,都能将操作测试指令转换成模拟触摸测试指令以对待测试应用程序进行测试。这样,就可根据待测试应用程序的实际情况,灵活选择自动测试模式或手动测试模式以对待测试应用程序进行测试,大大提高了应用程序测试的灵活度。
在一个实施例中,该应用程序测试方法还包括展示测试报告的步骤,该步骤具体包括以下步骤:获取对待测试应用程序进行测试所得到的测试日志;对测试日志进行分析,得到分析结果;按预设条件展示分析结果。
具体地,测试设备对待测试应用程序进行测试后,会将每次的测试结果记录,以形成测试日志。进一步地,测试设备可对测试日志进行关键字查找,筛选出与关键字相关的测试日志,并对筛选出的测试日志、以及其他的测试日志进行整理生成分析结果。其中,关键字比如ANR(Application Not Responding,应用程序无响应)、crash(崩溃)和exception(异常)等。这样,就可将测试正常和测试异常进行分类别整理,便于发现测试异常,以进行相应的改进。
进一步地,测试设备对筛选出的测试日志、以及其他的测试日志进行整理生成分析结果后,测试设备可按预设条件展示分析结果,比如以图表或文字的形式展示分析结果。其中,预设条件,比如按测试异常原因的类别分条目展示、或按测试异常所产生的时间进行展示、或者按测试异常原因的类别进行频次分析展示等。
上述实施例中,通过对测试日志进行分析,得到分析结果,并按预设条件展示分析结果,可以直观明确地确定测试待应用程序时所发生的测试异常情况,方便后续进行异常分析和修复。
在一个实施例中,该应用程序测试方法还包括自动填充测试用户信息的步骤,该步骤具体包括以下步骤:
S302,获取输入至测试界面中的测试用户信息。
其中,测试用户信息是用于测试待应用程序的用户信息。在对待应用程序进行测试时,往往会出现一些需输入用户信息后才能进入下一个测试界面的场景。比如,在登录界面,就需在登录界面中输入用户名、用户密码、和验证码等,后台的服务器验证通过后才可进行下一个界面。还比如,在交易界面,需输入用户银行卡号和付款密码后,后台的服务器验证通过后才可进行下一个界面。
具体地,当测试设备进入测试界面时,测试界面中可展示有测试用户信息的输入框。用户可在测试用户信息输入框中输入测试用户信息。比如测试用户账号、测试账号密码、测试手机号、测试邮箱地址、测试银行卡号等等。此时,测试设备可将测试用户信息保存至存储介质中。
S304,当当前展示的页面为文本输入页面时,屏蔽当前的操作测试指令。
其中,文本输入页面是用于输入文本的页面,比如登录页面、验证码输入页面或银行卡输入页面等。具体地,在对待测试应用程序进行测试的过程中,待测试应用程序会展示不同的页面。测试设备可检测当前所展示页面的类名,以确定当前页面是否为文本输入页面。当测试设备展示的页面为文本输入页面时,可以认为此时需在文本输入页面中输入文本才可跳转至一下页面以对待测试应用程序进行测试。此时,测试设备可屏蔽掉当前的操作测试指令。也就是在手动测试模式下拒绝接收外部输入设备所发送的操作测试指令,或者自动测试模式下停止生成操作测试指令。
S306,确定文本输入页面中的关键字、以及与关键字相对应的输入框。
具体地,测试设备可检测当前所展示的页面中是否存在输入框,当存在输入框时,确定与输入框距离最近的文本,将距离最近的文本作为关键字。
在一个实施例中,测试设备可预先存储预设关键字词集,从当前所展示的文本输入页面中查找是否存在预设关键字词集中的关键字。当查找到关键字时,遍历关键字周围的显示区域,确定与关键字相对应的输入框。
S308,从测试用户信息中提取处与关键字匹配的信息。
具体地,测试设备可从存储的测试用户信息中进行关键字检索,查找并提取与关键字匹配的信息。
举例说明,比如,测试用户信息包括:“用户名:赵钱;账号密码:123”。而测试设备从文本输入页面中确定的关键字为“用户名”和“账号密码”。因此,测试设备从测试用户信息中提取处与关键字匹配的信息为“赵钱”和“123”。
S310,将提取的信息填充至相应的输入框中。
具体地,测试设备根据预先存储的测试用户信息提取与关键字匹配的信息并自动填充至输入框,以完成文本输入页面的文本输入。测试设备完成文本输入后自动跳转至下一页面。
在一个实施例中,测试设备跳转至下一页面后,将停止执行屏蔽当前的操作测试指令的动作。也就是,进入下一页面后,将继续按前述步骤对待测试应用程序进行测试。
上述实施例中,当当前展示的页面为文本输入页面时,屏蔽当前的操作测试指令,可自动将待输入文本填充至输入框中,避免了人工手动输入,大大提高了对应用程序进行测试的效率。
如图4所示,在一个具体实施例中,该应用程序测试方法包括以下步骤:
S402,确定待测试应用程序。
S404,检测作用于待测试应用程序的展示触发操作。
S406,当检测到展示触发操作时,进入相应的测试界面。
S408,在测试界面中展示用于检测第一触发操作的第一虚拟按键、以及用于检测第二触发操作的第二虚拟按键。
S410,当检测到作用于测试界面的第一触发操作时,连接外部输入设备。
S412,通过外部输入设备检测作用于外部输入设备的测试触发操作。
S414,通过外部输入设备生成与测试触发操作相应的操作测试指令。
S416,接收外部输入设备反馈的操作测试指令。
S418,当检测到作用于测试界面的第二触发操作时,获取测试参数。
S420,依据测试参数,随机生成相应的操作测试指令。
S422,将操作测试指令转换成相应的模拟触摸测试指令。
S424,根据模拟触摸测试指令,对待测试应用程序进行测试。
S426,获取输入至测试界面中的测试用户信息。
S428,当当前展示的页面为文本输入页面时,屏蔽当前的操作测试指令。
S430,确定文本输入页面中的关键字、以及与关键字相对应的输入框。
S432,从测试用户信息中提取处与关键字匹配的信息。
S434,将提取的信息填充至相应的输入框中。
S436,获取对待测试应用程序进行测试所得到的测试日志。
S438,对测试日志进行分析,得到分析结果。
S440,按预设条件展示分析结果。
上述应用程序测试方法,当检测到作用于待测试应用程序的测试界面的第一触发操作时,进入手动测试模式,此时可接收外部输入设备发送的操作测试指令。当检测到作用于测试界面的第二触发操作时,进入自动测试模式,此时可自动生成操作测试指令。并且,不管是接收外部输入设备发送的操作测试指令还是自动生成的操作测试指令,都能将操作测试指令转换成模拟触摸测试指令以对待测试应用程序进行测试。这样,就可根据待测试应用程序的实际情况,灵活选择自动测试模式或手动测试模式以对待测试应用程序进行测试,大大提高了应用程序测试的灵活度。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种应用程序测试装置500,包括:进入模块501、接收模块502、生成模块503、转换模块504和测试模块505,其中:
进入模块501,用于进入待测试应用程序的测试界面。
接收模块502,用于当检测到作用于测试界面的第一触发操作时,接收外部输入设备发送的操作测试指令。
生成模块503,用于当检测到作用于测试界面的第二触发操作时,生成操作测试指令。
转换模块504,用于将操作测试指令转换成相应的模拟触摸测试指令。
测试模块505,用于根据模拟触摸测试指令,对待测试应用程序进行测试。
上述应用程序测试装置,当检测到作用于待测试应用程序的测试界面的第一触发操作时,进入手动测试模式,此时可接收外部输入设备发送的操作测试指令。当检测到作用于测试界面的第二触发操作时,进入自动测试模式,此时可自动生成操作测试指令。并且,不管是接收外部输入设备发送的操作测试指令还是自动生成的操作测试指令,都能将操作测试指令转换成模拟触摸测试指令以对待测试应用程序进行测试。这样,就可根据待测试应用程序的实际情况,灵活选择自动测试模式或手动测试模式以对待测试应用程序进行测试,大大提高了应用程序测试的灵活度。
在一个实施例中,进入模块501还用于确定待测试应用程序;检测作用于待测试应用程序的展示触发操作;当检测到展示触发操作时,进入相应的测试界面;在测试界面中展示用于检测第一触发操作的第一虚拟按键、以及用于检测第二触发操作的第二虚拟按键。
上述实施例中,通过在测试界面中展示用于检测第一触发操作的第一虚拟按键、以及用于检测第二触发操作的第二虚拟按键,这样在测试界面中就展示用于选择测试模式的虚拟按键,简洁直观,提高了应用程序测试的灵活度。
在一个实施例中,接收模块502还用于当检测到作用于测试界面的第一触发操作时,连接外部输入设备;外部输入设备包括鼠标和键盘中的至少一种;通过外部输入设备检测作用于外部输入设备的测试触发操作;通过外部输入设备生成与测试触发操作相应的操作测试指令;接收外部输入设备反馈的操作测试指令。
上述实施例中,当检测到作用于测试界面的第一触发操作时,通过外部输入设备对待测试应用程序进行测试,外部输入设备包括鼠标和键盘中的至少一种。这样,可使得待测试应用程序的测试变得更有针对性和灵活。
在一个实施例中,生成模块503还用于当检测到作用于测试界面的第二触发操作时,获取测试参数;依据测试参数,随机生成相应的操作测试指令。
上述实施例中,当检测到作用于测试界面的第二触发操作时,可进入自动测试模式,依据获取的测试参数,随机生成相应的操作测试指令,大大提高了测试效率。
在一个实施例中,该应用程序测试装置500还包括获取模块506、分析模块507和展示模块508,其中:
获取模块506,用于获取对待测试应用程序进行测试所得到的测试日志。
分析模块507,用于对测试日志进行分析,得到分析结果。
展示模块508,用于按预设条件展示分析结果。
上述实施例中,通过对测试日志进行分析,得到分析结果,并按预设条件展示分析结果,可以直观明确地确定测试待应用程序时所发生的测试异常情况,方便后续进行异常分析和修复。
如图6所示,在一个实施例中,该应用程序测试装置500还包括屏蔽模块509、确定模块510、提取模块511和填充模块512,其中:
获取模块506还用于,用于获取输入至测试界面中的测试用户信息。
屏蔽模块509,用于当当前展示的页面为文本输入页面时,屏蔽当前的操作测试指令。
确定模块510,用于确定文本输入页面中的关键字、以及与关键字相对应的输入框。
提取模块511,用于从测试用户信息中提取处与关键字匹配的信息。
填充模块512,用于将提取的信息填充至相应的输入框中。
上述实施例中,当当前展示的页面为文本输入页面时,屏蔽当前的操作测试指令,可自动将待输入文本填充至输入框中,避免了人工手动输入,大大提高了对应用程序进行测试的效率。
关于应用程序测试装置的具体限定可以参见上文中对于应用程序测试方法的限定,在此不再赘述。上述应用程序测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和显示屏。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述应用程序测试方法的步骤。此处应用程序测试方法的步骤可以是上述各个实施例的应用程序测试方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述应用程序测试方法的步骤。此处应用程序测试方法的步骤可以是上述各个实施例的应用程序测试方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序测试方法,所述方法包括:
进入待测试应用程序的测试界面;
当检测到作用于所述测试界面的第一触发操作时,接收外部输入设备发送的操作测试指令;
当检测到作用于所述测试界面的第二触发操作时,生成操作测试指令;
将所述操作测试指令转换成相应的模拟触摸测试指令;
根据所述模拟触摸测试指令,对所述待测试应用程序进行测试。
2.根据权利要求1所述的方法,其特征在于,所述进入待测试应用程序的测试界面包括:
确定待测试应用程序;
检测作用于所述待测试应用程序的展示触发操作;
当检测到所述展示触发操作时,进入相应的测试界面;
在所述测试界面中展示用于检测第一触发操作的第一虚拟按键、以及用于检测第二触发操作的第二虚拟按键。
3.根据权利要求1所述的方法,其特征在于,所述当检测到作用于所述测试界面的第一触发操作时,接收外部输入设备发送的操作测试指令,包括:
当检测到作用于所述测试界面的第一触发操作时,连接外部输入设备;所述外部输入设备包括鼠标和键盘中的至少一种;
通过所述外部输入设备检测作用于所述外部输入设备的测试触发操作;
通过所述外部输入设备生成与所述测试触发操作相应的操作测试指令;
接收所述外部输入设备反馈的操作测试指令。
4.根据权利要求1所述的方法,其特征在于,所述当检测到作用于所述测试界面的第二触发操作时,生成操作测试指令,包括:
当检测到作用于所述测试界面的第二触发操作时,获取测试参数;
依据所述测试参数,随机生成相应的操作测试指令。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
获取对所述待测试应用程序进行测试所得到的测试日志;
对所述测试日志进行分析,得到分析结果;
按预设条件展示所述分析结果。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
获取输入至所述测试界面中的测试用户信息;
当当前展示的页面为文本输入页面时,屏蔽当前的所述操作测试指令;
确定所述文本输入页面中的关键字、以及与所述关键字相对应的输入框;
从所述测试用户信息中提取处与所述关键字匹配的信息;
将提取的所述信息填充至相应的输入框中。
7.一种应用程序测试装置,其特征在于,所述装置包括:
进入模块,用于进入待测试应用程序的测试界面;
接收模块,用于当检测到作用于所述测试界面的第一触发操作时,接收外部输入设备发送的操作测试指令;
生成模块,用于当检测到作用于所述测试界面的第二触发操作时,生成操作测试指令;
转换模块,用于将所述操作测试指令转换成相应的模拟触摸测试指令;
测试模块,用于根据所述模拟触摸测试指令,对所述待测试应用程序进行测试。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取输入至所述测试界面中的测试用户信息;
屏蔽模块,用于当当前展示的页面为文本输入页面时,屏蔽当前的所述操作测试指令;
确定模块,用于确定所述文本输入页面中的关键字、以及与所述关键字相对应的输入框;
提取模块,用于从所述测试用户信息中提取处与所述关键字匹配的信息;
填充模块,用于将提取的所述信息填充至相应的输入框中。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910039785.6A CN109828918A (zh) | 2019-01-16 | 2019-01-16 | 应用程序测试方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910039785.6A CN109828918A (zh) | 2019-01-16 | 2019-01-16 | 应用程序测试方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109828918A true CN109828918A (zh) | 2019-05-31 |
Family
ID=66860292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910039785.6A Pending CN109828918A (zh) | 2019-01-16 | 2019-01-16 | 应用程序测试方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828918A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888812A (zh) * | 2019-11-26 | 2020-03-17 | 国核自仪系统工程有限公司 | 终端页面的响应时间的测试系统及测试方法 |
CN110908848A (zh) * | 2019-11-25 | 2020-03-24 | 展讯通信(上海)有限公司 | 自动化测试方法、装置及存储介质 |
CN111163309A (zh) * | 2019-12-30 | 2020-05-15 | 深圳Tcl数字技术有限公司 | 基于行为模拟的测试方法、电视设备及存储介质 |
CN112306849A (zh) * | 2019-07-31 | 2021-02-02 | 深圳Tcl数字技术有限公司 | 一种应用程序测试方法、系统、智能终端及存储介质 |
CN113722231A (zh) * | 2021-09-09 | 2021-11-30 | 同盾科技有限公司 | 用户操作的模拟方法、装置、电子设备及存储介质 |
CN113821431A (zh) * | 2020-12-31 | 2021-12-21 | 京东科技控股股份有限公司 | 测试结果的获取方法、装置、电子设备和存储介质 |
CN113835995A (zh) * | 2020-06-24 | 2021-12-24 | 北京字节跳动网络技术有限公司 | 用于生成测试用例的方法和装置 |
CN114895994A (zh) * | 2022-03-10 | 2022-08-12 | 深圳优美创新科技有限公司 | 终端设备进入测试模式的方法、终端设备及可读存储介质 |
-
2019
- 2019-01-16 CN CN201910039785.6A patent/CN109828918A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306849A (zh) * | 2019-07-31 | 2021-02-02 | 深圳Tcl数字技术有限公司 | 一种应用程序测试方法、系统、智能终端及存储介质 |
CN110908848A (zh) * | 2019-11-25 | 2020-03-24 | 展讯通信(上海)有限公司 | 自动化测试方法、装置及存储介质 |
CN110888812A (zh) * | 2019-11-26 | 2020-03-17 | 国核自仪系统工程有限公司 | 终端页面的响应时间的测试系统及测试方法 |
CN110888812B (zh) * | 2019-11-26 | 2023-11-07 | 国核自仪系统工程有限公司 | 终端页面的响应时间的测试系统及测试方法 |
CN111163309A (zh) * | 2019-12-30 | 2020-05-15 | 深圳Tcl数字技术有限公司 | 基于行为模拟的测试方法、电视设备及存储介质 |
CN113835995A (zh) * | 2020-06-24 | 2021-12-24 | 北京字节跳动网络技术有限公司 | 用于生成测试用例的方法和装置 |
CN113835995B (zh) * | 2020-06-24 | 2024-04-16 | 北京字节跳动网络技术有限公司 | 用于生成测试用例的方法和装置 |
CN113821431A (zh) * | 2020-12-31 | 2021-12-21 | 京东科技控股股份有限公司 | 测试结果的获取方法、装置、电子设备和存储介质 |
CN113722231A (zh) * | 2021-09-09 | 2021-11-30 | 同盾科技有限公司 | 用户操作的模拟方法、装置、电子设备及存储介质 |
CN113722231B (zh) * | 2021-09-09 | 2024-04-26 | 同盾科技有限公司 | 用户操作的模拟方法、装置、电子设备及存储介质 |
CN114895994A (zh) * | 2022-03-10 | 2022-08-12 | 深圳优美创新科技有限公司 | 终端设备进入测试模式的方法、终端设备及可读存储介质 |
CN114895994B (zh) * | 2022-03-10 | 2023-09-01 | 深圳优美创新科技有限公司 | 终端设备进入测试模式的方法、终端设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828918A (zh) | 应用程序测试方法、装置、计算机设备和存储介质 | |
CN109828903B (zh) | 自动化测试方法、装置、计算机装置及存储介质 | |
CN104407980B (zh) | 移动应用自动化测试装置和方法 | |
CN105094783B (zh) | 安卓应用稳定性测试的方法及装置 | |
CN110427331B (zh) | 基于接口测试工具自动生成性能测试脚本的方法 | |
CN104199773B (zh) | 获取代码覆盖信息的方法及装置 | |
CN107861870A (zh) | 接口测试及测试数据生成方法、装置、终端和存储介质 | |
St. Amant et al. | Model-based evaluation of cell phone menu interaction | |
CN106649084A (zh) | 函数调用信息的获取方法及装置、测试设备 | |
CN108399124A (zh) | 应用测试方法、装置、计算机设备和存储介质 | |
CN107102947B (zh) | Atm交易流程测试装置及方法 | |
CN109840206A (zh) | 数据测试方法、装置、终端及存储介质 | |
CN103699477B (zh) | 压力测试方法及终端 | |
CN106326120B (zh) | 一种应用软件的回归测试方法及装置、电子设备 | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
CN104246714A (zh) | 软件缺陷验证 | |
CN110442515B (zh) | 应用测试方法、装置、设备及可读存储介质 | |
WO2020019490A1 (zh) | 一种接口测试方法、电子设备及存储介质 | |
CN107957956A (zh) | 软件差异覆盖率的测试方法、装置及可读存储介质 | |
CN107908554A (zh) | 一种手机游戏的动作捕捉、录制和重演的方法和系统 | |
CN110069404A (zh) | 代码调试方法、装置、设备及介质 | |
CN110321284A (zh) | 测试数据录入方法、装置、计算机设备和存储介质 | |
CN105824742A (zh) | 用户界面操作录制方法及装置 | |
US9723489B1 (en) | Automated vulnerability discovery in mobile device applications | |
CN107480048A (zh) | 测试工具生成方法、装置、存储介质及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |