CN111427803A - 自动化随机测试方法、装置、计算机设备及介质 - Google Patents

自动化随机测试方法、装置、计算机设备及介质 Download PDF

Info

Publication number
CN111427803A
CN111427803A CN202010526912.8A CN202010526912A CN111427803A CN 111427803 A CN111427803 A CN 111427803A CN 202010526912 A CN202010526912 A CN 202010526912A CN 111427803 A CN111427803 A CN 111427803A
Authority
CN
China
Prior art keywords
test
application program
module
tested
random
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.)
Granted
Application number
CN202010526912.8A
Other languages
English (en)
Other versions
CN111427803B (zh
Inventor
罗康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ping An Smart Healthcare Technology Co ltd
Original Assignee
Ping An International Smart City Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202010526912.8A priority Critical patent/CN111427803B/zh
Publication of CN111427803A publication Critical patent/CN111427803A/zh
Application granted granted Critical
Publication of CN111427803B publication Critical patent/CN111427803B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及自动化测试领域,公开了一种自动化随机测试方法、装置、计算机设备及存储介质,包括:获取待测试应用程序的activity,作为目标activity,并获取移动端的操作***类型,从运行的应用程序中,获取目标activity对应的应用程序,作为待测试应用程序,从测试模块中,选取与操作***类型对应的测试子模块,作为目标测试模块,驱动目标测试模块对待测试应用程序进行随机测试,并将得到的测试数据存储到预设路径,在接收到随机测试完成的消息时,从预设路径中提取测试数据,并根据测试数据生成测试报告。本发明还涉及区块链领域,将得到的测试数据和测试报告存储于区块链中。本发明实现提高自动化随机测试的效率。

Description

自动化随机测试方法、装置、计算机设备及介质
技术领域
本发明涉及自动化测试领域,尤其涉及一种自动化随机测试方法、装置、计算机设备及介质。
背景技术
随着信息化进程的加速推进和计算机水平的日益提高,越来越多人采用手机、平板等移动端设备进行娱乐、查询资料等,通过移动设备进行网页页面浏览成了比较常用的操作,移动设备主要通过各种应用程序(Application,APP)来为用户提供服务,为给用户提供更好的服务,这些APP在提供给用户使用之前,均需要进行软件测试。
当前移动端的测试,主要通过Monkey进行自动化随机测试,以测试***的稳定性,兼容性。Monkey测试是移动设备自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常,所以可以用Monkey随机重复的方法去负荷测试应用程序。但这种方式由于其对页面元素定位的不精确,导致出现较多重复的测试过程,使得其测试效率降低,同时,对于操作***不相同的移动端,需要开发单独的测试方案,并分开进行测试,也使得测试效率偏低,因而,需求一种能提高当前应用程序测试效率的方法,成了一个亟待解决的技术问题。
发明内容
本发明实施例提供一种自动化随机测试方法、装置、计算机设备和存储介质,以提高自动化随机测试的效率。
为了解决上述技术问题,本发明实施例提供一种自动化随机测试方法,包括:
在接收到应用程序测试请求时,获取所述应用程序测试请求中包含的待测试应用程序的activity,作为目标activity,并获取移动端的操作***类型;
从运行的应用程序中,获取所述目标activity对应的应用程序,作为待测试应用程序;
从测试模块中,选取与所述操作***类型对应的测试子模块,作为目标测试模块;
驱动所述目标测试模块对所述待测试应用程序进行随机测试,并将得到的测试数据存储到预设路径,其中,所述测试数据包括Crash信息、截图和日志信息;
若接收到随机测试完成的消息,则从所述预设路径中提取所述测试数据,并根据所述测试数据生成测试报告。
可选地,所述测试模块基于Appium框架开发。
可选地,所述驱动所述目标测试模块对所述待测试应用程序进行随机测试包括:
读取预设的配置文件,得到所述预设的配置文件中包含的配置信息;
根据所述配置信息,驱动所述目标测试模块对所述待测试应用程序进行随机测试。
可选地,所述配置信息包括预存的输入文本,所述根据所述配置信息,驱动所述目标测试模块对所述待测试应用程序进行随机测试包括:
若检测到页面元素的类型为信息输入框,则将所述预存的输入文本的文本内容写入到所述信息输入框中。
可选地,在所述从运行的应用程序中,获取所述目标activity对应的应用程序,作为待测试应用程序之后,所述自动化随机测试方法还包括:
按照预设的时间间隔,对待测试应用程序的activity进行检测,得到当前activity;
若所述当前activity与所述目标activity不同,则触发回退操作,并重新获取所述目标activity对应的应用程序,作为待测试应用程序。
可选地,在所述根据所述测试数据生成测试报告之后,所述自动化随机测试方法还包括:
将所述测试报告发送给监控端;
若检测到监控端发送的异常定位请求,则从所述预设路径获取测试数据,并将所述测试数据发送给监控端,以使所述监控端根据所述测试数据对异常进行定位。
可选地,在所述根据所述测试数据生成测试报告之后,所述自动化随机测试方法还包括:将所述测试数据和所述测试报告存储于区块链网络中。
为了解决上述技术问题,本发明实施例提供一种自动化随机测试装置,包括:
获取模块,用于在接收到应用程序测试请求时,获取所述应用程序测试请求中包含的待测试应用程序的activity,作为目标activity,并获取移动端的操作***类型;
定位模块,用于从运行的应用程序中,获取所述目标activity对应的应用程序,作为待测试应用程序;
选取模块,用于从测试模块中,选取与所述操作***类型对应的测试子模块,作为目标测试模块;
测试模块,用于驱动所述目标测试模块对所述待测试应用程序进行随机测试,并将得到的测试数据存储到预设路径,其中,所述测试数据包括Crash信息、截图和日志信息;
生成模块,用于若接收到随机测试完成的消息,则从所述预设路径中提取所述测试数据,并根据所述测试数据生成测试报告。
可选地,所述测试模块包括:
信息读取单元,用于读取预设的配置文件,得到所述预设的配置文件中包含的配置信息;
驱动测试单元,用于根据所述配置信息,驱动所述目标测试模块对所述待测试应用程序进行随机测试。
可选地,所述配置信息包括预存的输入文本,所述驱动测试单元包括:
信息写入子单元,用于若检测到页面元素的类型为信息输入框,则将所述预存的输入文本的文本内容写入到所述信息输入框中。
可选地,所述自动化随机测试装置还包括:
定时检测模块,用于按照预设的时间间隔,对待测试应用程序的activity进行检测,得到当前activity;
重定位模块,用于若所述当前activity与所述目标activity不同,则触发回退操作,并重新获取所述目标activity对应的应用程序,作为待测试应用程序。
可选地,所述自动化随机测试装置还包括:
报告传输模块,用于将所述测试报告发送给监控端;
数据传输模块,用于若检测到监控端发送的异常定位请求,则从所述预设路径获取测试数据,并将所述测试数据发送给监控端,以使所述监控端根据所述测试数据对异常进行定位。
可选地,所述自动化随机测试装置还包括:
存储模块,用于将所述测试数据和所述测试报告存储于区块链网络中。
为了解决上述技术问题,本发明发明实施例还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述自动化随机测试方法的步骤。
为了解决上述技术问题,本发明发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述自动化随机测试方法的步骤。
本发明实施例提供的自动化随机测试方法、装置、计算机设备及存储介质,在接收到应用程序测试请求时,获取应用程序测试请求中包含的待测试应用程序的activity,作为目标activity,并获取移动端的操作***类型,进而从运行的应用程序中,获取目标activity对应的应用程序,作为待测试应用程序,从测试模块中,选取与操作***类型对应的测试子模块,作为目标测试模块,后续采用目标测试模块进行测试即可,而无需为不同操作***进行单独开发各自测试模块,实现了兼容不同操作***的自动化随机测试,有利于提高随机测试效率,驱动目标测试模块对待测试应用程序进行随机测试,并将得到的测试数据存储到预设路径,在接收到随机测试完成的消息时,从预设路径中提取测试数据,并根据测试数据生成测试报告,实现通过自定义好的目标测试模块对待测试应用程序进行有针对性地随机测试,有效减轻当前采用随机测试中常见的由于测试精度低而需要反复测试的现状,提高了自动化随机测试的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明可以应用于其中的示例性***架构图;
图2是本发明的自动化随机测试方法的一个实施例的流程图;
图3是根据本发明的自动化随机测试装置的一个实施例的结构示意图;
图4是根据本发明的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同;本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明;本发明的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本发明的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器( Moving Picture E界面显示perts Group Audio Layer III,动态影像专家压缩标准音频层面3 )、MP4( MovingPicture E界面显示perts Group Audio Layer IV,动态影像专家压缩标准音频层面4 )播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本发明实施例所提供的自动化随机测试方法由服务器执行,相应地,自动化随机测试装置设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本发明实施例中的终端设备101、102、103具体可以对应的是实际生产中的应用***。
请参阅图2,图2示出本发明实施例提供的一种自动化随机测试方法,以该方法应用在图1中的服务端为例进行说明,详述如下:
S201:在接收到应用程序测试请求时,获取应用程序测试请求中包含的待测试应用程序的activity,作为目标activity,并获取移动端的操作***类型。
具体地,在接收到应用程序测试请求时,从该请求中获取待测试的应用程序的activity,作为目标activity,以便后续对该目标activity进行测试和实时监控,确保所有有效测试操作均是针对该目标activity来进行的。与此同时,还获取操作***的类型,以便后续根据操作***的类型来选取对应的模块进行测试。
其中,操作***类型是指操作***的类型,具体包括但不限于:Android(谷歌)、iOS(苹果)、windows phone(微软)、Symbian(诺基亚)、BlackBerry OS(黑莓)、web os、windows mobile(微软)和Harmony(鸿蒙)等。
其中,activity是一个移动操作***的应用组件,它提供屏幕进行交互,每个activity都会获得一个用于绘制其用户界面的窗口,窗口可以充满屏幕或者小于屏幕并浮动在其他窗口之上。
需要说明的是,一个应用通常是由多个彼此松散联系的activity组成,一般会指定应用中的某个activity为主活动,也就是说首次启动应用时给用户呈现的activity,而本实施例中待测试应用程序的activity,即指主活动的activity。
S202:从运行的应用程序中,获取目标activity对应的应用程序,作为待测试应用程序。
S203:从测试模块中,选取与操作***类型对应的测试子模块,作为目标测试模块。
具体地,考虑到移动端当前主流的操作***包括Android***和IOS***,大多数APP开发者在开发APP时,均会开发出这两种***的APP,为确保在对APP在每个操作***的测试,本实施例的测试模块包括至少两个测试子模块,在开始测试之前,选取与所述操作***类型对应的测试子模块,作为目标测试模块,以便后续用于进行测试。
其中,测试子模块用于驱动元素定位操作、元素操作事件,截图,滑动屏幕等,不同的测试子模块在实现层上存在差异,实现层包括但不限于:页面元素操作,CASE,场景,用例集,构建等。
应理解,测试子模块可根据需要进行添加或者更改设置,而不仅仅局限于Android***和IOS***,具体也可以是其他操作***类型,此处不做限制。
需要说明的是,本实施例的测试模块中,包含大多数共用的部分,子模块可以直接调用这些共用的部分,从而节约开发时间,减少资源冗余,有利于提高运行速度,提高执行效率和测试效率。
优选的,本实施例的测试模块基于Appium框架开发,以提高自动化测试的效率。
其中,Appium框架是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试,Appium框架使用WebDriver协议驱动iOS,Android和Windows应用程序。
需要说明的是,Appium框架是通过对布局的检测实现控件点击/滑动/输入等事件,因此需要定位控件位置非常精确,否则就会停止工作,现有技术主要是通过Adb自带的monkey命令来实现自动化测试,由于monkey命令对操作界限控制的不够严格,因而容易导致进行自动化随机测试中经常会错误的运行到手机的其他应用程序上,导致测试的结果不够准确。在本实施例中,采用编程语言,基于基于Appium框架开发出的测试模块,不仅可以实现精准定位和测试,还可以在不同平台进行运行,具有较好的兼容性,实现资源重复利用,提高了自动化测试的效率。
在进行UI功能测试时,经常需要对某个test case重复进行以复现某个bug或检测功能是否稳定,一个test case通常包含某几个固定的点击/滑动/输入事件,如果使用Appium框架进行自动化测试控制手机模拟test case中的操作,可以大量减少工作量,提高测试效率。
S204:驱动目标测试模块对待测试应用程序进行随机测试,并将得到的测试数据存储到预设路径,其中,测试数据包括Crash信息、截图和日志信息。
具体地,通过驱动目标测试模块对待测试应用程序进行随机测试,并将得到的测试数据存储到预设路径,其中,测试数据包括Crash信息、截图和日志信息。
其中,随机测试包括对待测试应用程序的各项功能进行测试,具体测试动作包括但不限于:点击、长按、翻页、输入等。
其中,Crash信息是指记录应用程序在***压力或性能测试过程中,有时出现因某种原因出现持续无响应、功能失常或程序停止工作等情况的信息。
其中,预设路径是根据实际需要,预先设定的物理路径或者网络路径,例如,云服务器中的一个存储地址。
驱动目标测试模块对待测试应用程序进行随机测试的具体过程,可参考后续实施例的描述,为避免重复,此处不再赘述。
S205:若接收到随机测试完成的消息,则从预设路径中提取测试数据,并根据测试数据生成测试报告。
具体地,目标测试模块在完成对待测试应用程序的随机测试时,会广播随机测试完成的消息,此时,从预设路径中提取测试数据,并根据测试数据生成测试报告。
优选的,本实施例的测试报告采用html格式,以方便后续监控端对该测试报告进行快速分析。
需要强调的是,为进一步保证测试数据和测试报告不被非法篡改,确保最后测试数据和测试报告的私密和安全性,上述还可以存储于一区块链的节点中。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本实施例中,在接收到应用程序测试请求时,获取应用程序测试请求中包含的待测试应用程序的activity,作为目标activity,并获取移动端的操作***类型,进而从运行的应用程序中,获取目标activity对应的应用程序,作为待测试应用程序,从测试模块中,选取与操作***类型对应的测试子模块,作为目标测试模块,后续采用目标测试模块进行测试即可,而无需为不同操作***进行单独开发各自测试模块,实现了兼容不同操作***的自动化随机测试,有利于提高随机测试效率,驱动目标测试模块对待测试应用程序进行随机测试,并将得到的测试数据存储到预设路径,在接收到随机测试完成的消息时,从预设路径中提取测试数据,并根据测试数据生成测试报告,实现通过自定义好的目标测试模块对待测试应用程序进行有针对性地随机测试,有效减轻当前采用随机测试中常见的由于测试精度低而需要反复测试的现状,提高了自动化随机测试的效率。
在本实施例的一些可选的实现方式中,步骤S204中,驱动目标测试模块对待测试应用程序进行随机测试包括:
读取预设的配置文件,得到预设的配置文件中包含的配置信息;
根据配置信息,驱动目标测试模块对待测试应用程序进行随机测试。
具体地,为提高针对待测试应用程序的测试效率,服务端预先设置有包含配置信息的配置文件,通过读取该预设的配置文件,获取其中的配置信息,进而根据配置信息中的各项参数,驱动目标测试模块对待测试应用程序进行随机测试,实现有针对性地对待测试的应用程序进行个性化配置,有效提高对待测试应用程序进行测试的效率。
其中,配置信息包括但不限于:每次点击操作的间隔时间;自动化随机测试的时间、是否需要录屏、是否需要截图以及截图的数量、随机测试触发时间类型和比率等。
需要说明的是,配置信息可以根据待测试应用程序的实际需要进行设置,也可以根据历史测试数据动态生成,此处不做限定。
在本实施例中,通过采用预先配置配置信息,并通过配置信息驱动测试的方式,可以有针对性地对待测试的应用程序进行个性化测试,有效提高对待测试应用程序进行测试的效率。
在本实施例的一些可选的实现方式中,配置信息包括预存的输入文本,根据配置信息,驱动目标测试模块对待测试应用程序进行随机测试包括:
若检测到页面元素的类型为信息输入框,则将预存的输入文本的文本内容写入到信息输入框中。
具体地,通用的Monkey测试针对类型为信息输入框的页面元素,无法执行测试任务,在一些自动化随机测试中,需要测试信息输入框是否符合要求,其实现功能是否完整,例如账号输入框和密码输入框,本实施例通过自定义配置文件预先存储输入文本,再通过自定义的测试模块,将预存的输入文本的文本内容写入到信息输入框中,实现对信息输入框类型的页面元素的功能测试。
在本实施例中,在检测到页面元素的类型为信息输入框,将配置文件中预存的输入文本的文本内容写入到信息输入框中,实现对信息输入框功能的自动化测试,有利于提高测试效率。
在本实施例的一些可选的实现方式中,步骤S202之后,该自动化随机测试方法还包括:
按照预设的时间间隔,对待测试应用程序的activity进行检测,得到当前activity;
若当前activity与目标activity不同,则触发回退操作,并重新获取目标activity对应的应用程序,作为待测试应用程序。
具体地,移动端的应用程序中,一些组件事件被触发后,会跳转到应用程序之外的程序,例如跳转到浏览器、支付工具或者第三方登录验证程序等,使得后续测试无法顺利进行,造成需要反复测试,为避免这种情况导致测试效率低下,本实施例按照预设的时间间隔,对待测试应用程序的activity进行检测,得到当前activity,再通过当前activity与目标activity对比,判断当前测试的应用程序是否为待测试应用程序,若不是,则触发回退操作,并重新根据目标activity获取待测试应用程序进行测试,确保测试的有效进行。
在本实施例中,通过定时监控当前activity,判断测试的应用程序是否正确,确保测试的有效进行。
在本实施例的一些可选的实现方式中,步骤S205之后,该自动化随机测试方法还包括:
将测试报告发送给监控端;
若检测到监控端发送的异常定位请求,则从预设路径获取测试数据,并将测试数据发送给监控端,以使监控端根据测试数据对异常进行定位。
具体地,本实施例采用html格式的测试报告,将测试报告发送给监控端,监控端接收给测试报告,并对测试报告进行分析判断,若监控端分析判断结果为该测试报告中存在至少一处异常,则向服务端发送关于该测试报告的异常定位请求,服务端根据该异常定位请求,从预设路径获取测试数据,并将测试数据发送给监控端,以使监控端根据测试数据对异常进行定位。
需要说明地是,从预设路径获取测试数据,具体可以是获取与异常部分有关联的测试数据,也可以是获取所有测试数据,具体可依据实际情况进行设定,此处不做限制。
在本实施例中,通过与监控端交互,在监控端检测到测试报告中存在的异常时,向监控端提供相关的测试数据,实现及时对异常进行诊断处理,有利于提高自动化随机测试的准确性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图3示出与上述实施例自动化随机测试方法一一对应的自动化随机测试装置的原理框图。如图3所示,该自动化随机测试装置包括获取模块31、定位模块32、选取模块33、测试模块34和生成模块35。各功能模块详细说明如下:
获取模块31,用于在接收到应用程序测试请求时,获取应用程序测试请求中包含的待测试应用程序的activity,作为目标activity,并获取移动端的操作***类型;
定位模块32,用于从运行的应用程序中,获取目标activity对应的应用程序,作为待测试应用程序;
选取模块33,用于从测试模块中,选取与操作***类型对应的测试子模块,作为目标测试模块;
测试模块34,用于驱动目标测试模块对待测试应用程序进行随机测试,并将得到的测试数据存储到预设路径,其中,测试数据包括Crash信息、截图和日志信息;
生成模块35,用于若接收到随机测试完成的消息,则从预设路径中提取测试数据,并根据测试数据生成测试报告。
可选地,测试模块34包括:
信息读取单元,用于读取预设的配置文件,得到预设的配置文件中包含的配置信息;
驱动测试单元,用于根据配置信息,驱动目标测试模块对待测试应用程序进行随机测试。
可选地,配置信息包括预存的输入文本,驱动测试单元包括:
信息写入子单元,用于若检测到页面元素的类型为信息输入框,则将预存的输入文本的文本内容写入到信息输入框中。
可选地,自动化随机测试装置还包括:
定时检测模块,用于按照预设的时间间隔,对待测试应用程序的activity进行检测,得到当前activity;
重定位模块,用于若当前activity与目标activity不同,则触发回退操作,并重新获取目标activity对应的应用程序,作为待测试应用程序。
可选地,自动化随机测试装置还包括:
报告传输模块,用于将测试报告发送给监控端;
数据传输模块,用于若检测到监控端发送的异常定位请求,则从预设路径获取测试数据,并将测试数据发送给监控端,以使监控端根据测试数据对异常进行定位。
可选地,自动化随机测试装置还包括:
存储模块,用于将测试数据和测试报告存储于区块链网络中。
关于自动化随机测试装置的具体限定可以参见上文中对于自动化随机测试方法的限定,在此不再赘述。上述自动化随机测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
为解决上述技术问题,本发明实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过***总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件连接存储器41、处理器42、网络接口43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器 (Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D界面显示存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作***和各类应用软件,例如电子文件的控制的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如运行电子文件的控制的程序代码。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本发明还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有界面显示程序,所述界面显示程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的自动化随机测试方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,附图中给出了本发明的较佳实施例,但并不限制本发明的专利范围。本发明可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本发明说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明专利保护范围之内。

Claims (10)

1.一种自动化随机测试方法,应用于移动端应用程序的随机测试,其特征在于,包括:
在接收到应用程序测试请求时,获取所述应用程序测试请求中包含的待测试应用程序的activity,作为目标activity,并获取移动端的操作***类型;
从运行的应用程序中,获取所述目标activity对应的应用程序,作为待测试应用程序;
从测试模块中,选取与所述操作***类型对应的测试子模块,作为目标测试模块;
驱动所述目标测试模块对所述待测试应用程序进行随机测试,并将得到的测试数据存储到预设路径,其中,所述测试数据包括Crash信息、截图和日志信息;
若接收到随机测试完成的消息,则从所述预设路径中提取所述测试数据,并根据所述测试数据生成测试报告。
2.如权利要求1所述的自动化随机测试方法,其特征在于,所述测试模块基于Appium框架开发。
3.如权利要求1所述的自动化随机测试方法,其特征在于,所述驱动所述目标测试模块对所述待测试应用程序进行随机测试包括:
读取预设的配置文件,得到所述预设的配置文件中包含的配置信息;
根据所述配置信息,驱动所述目标测试模块对所述待测试应用程序进行随机测试。
4.如权利要求3所述的自动化随机测试方法,其特征在于,所述配置信息包括预存的输入文本,所述根据所述配置信息,驱动所述目标测试模块对所述待测试应用程序进行随机测试包括:
若检测到页面元素的类型为信息输入框,则将所述预存的输入文本的文本内容写入到所述信息输入框中。
5.如权利要求1至4任一项所述的自动化随机测试方法,其特征在于,在所述从运行的应用程序中,获取所述目标activity对应的应用程序,作为待测试应用程序之后,所述自动化随机测试方法还包括:
按照预设的时间间隔,对待测试应用程序的activity进行检测,得到当前activity;
若所述当前activity与所述目标activity不同,则触发回退操作,并重新获取所述目标activity对应的应用程序,作为待测试应用程序。
6.如权利要求1所述的自动化随机测试方法,其特征在于,在所述根据所述测试数据生成测试报告之后,所述自动化随机测试方法还包括:
将所述测试报告发送给监控端;
若检测到监控端发送的异常定位请求,则从所述预设路径获取测试数据,并将所述测试数据发送给监控端,以使所述监控端根据所述测试数据对异常进行定位。
7.如权利要求1所述的自动化随机测试方法,其特征在于,在所述根据所述测试数据生成测试报告之后,所述自动化随机测试方法还包括:将所述测试数据和所述测试报告存储于区块链网络中。
8.一种自动化随机测试装置,应用于移动端应用程序的页面首屏的加载时长测试,其特征在于,所述自动化随机测试装置包括:
获取模块,用于在接收到应用程序测试请求时,获取所述应用程序测试请求中包含的待测试应用程序的activity,作为目标activity,并获取移动端的操作***类型;
定位模块,用于从运行的应用程序中,获取所述目标activity对应的应用程序,作为待测试应用程序;
选取模块,用于从测试模块中,选取与所述操作***类型对应的测试子模块,作为目标测试模块;
测试模块,用于驱动所述目标测试模块对所述待测试应用程序进行随机测试,并将得到的测试数据存储到预设路径,其中,所述测试数据包括Crash信息、截图和日志信息;
生成模块,用于若接收到随机测试完成的消息,则从所述预设路径中提取所述测试数据,并根据所述测试数据生成测试报告。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的自动化随机测试方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的自动化随机测试方法。
CN202010526912.8A 2020-06-11 2020-06-11 自动化随机测试方法、装置、计算机设备及介质 Active CN111427803B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010526912.8A CN111427803B (zh) 2020-06-11 2020-06-11 自动化随机测试方法、装置、计算机设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010526912.8A CN111427803B (zh) 2020-06-11 2020-06-11 自动化随机测试方法、装置、计算机设备及介质

Publications (2)

Publication Number Publication Date
CN111427803A true CN111427803A (zh) 2020-07-17
CN111427803B CN111427803B (zh) 2020-10-20

Family

ID=71551455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010526912.8A Active CN111427803B (zh) 2020-06-11 2020-06-11 自动化随机测试方法、装置、计算机设备及介质

Country Status (1)

Country Link
CN (1) CN111427803B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949550A (zh) * 2020-08-31 2020-11-17 平安国际智慧城市科技股份有限公司 自动生成测试数据的方法、装置、设备及存储介质
CN112100086A (zh) * 2020-11-17 2020-12-18 深圳市房多多网络科技有限公司 软件自动化测试方法、装置、设备和计算机可读存储介质
CN112131129A (zh) * 2020-09-29 2020-12-25 中国银行股份有限公司 一种应用程序的测试方法及***
CN112181811A (zh) * 2020-09-14 2021-01-05 麒麟软件有限公司 一种应用稳定性测试方法
CN112363885A (zh) * 2020-11-10 2021-02-12 北京字节跳动网络技术有限公司 检测应用异常的方法、装置、电子设备及计算机可读介质
CN112506380A (zh) * 2020-12-23 2021-03-16 Tcl通力电子(惠州)有限公司 触控设备的检测方法、触控设备检测装置及可读存储介质
CN112543478A (zh) * 2020-12-04 2021-03-23 深圳市康冠商用科技有限公司 WiFi模块自动化测试方法、装置、计算机设备及存储介质
CN113505079A (zh) * 2021-07-27 2021-10-15 平安普惠企业管理有限公司 应用程序测试方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160188448A1 (en) * 2014-12-29 2016-06-30 Quixey, Inc. Discovery of application states
CN107133519A (zh) * 2017-05-15 2017-09-05 华中科技大学 一种安卓应用网络通信中隐私泄漏检测方法及***
CN107357727A (zh) * 2017-07-04 2017-11-17 广州君海网络科技有限公司 App运行测试方法、装置、可读存储介质和计算机设备
CN108829389A (zh) * 2018-03-29 2018-11-16 中南大学 基于Appium的安卓应用自动化触发执行方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160188448A1 (en) * 2014-12-29 2016-06-30 Quixey, Inc. Discovery of application states
CN107133519A (zh) * 2017-05-15 2017-09-05 华中科技大学 一种安卓应用网络通信中隐私泄漏检测方法及***
CN107357727A (zh) * 2017-07-04 2017-11-17 广州君海网络科技有限公司 App运行测试方法、装置、可读存储介质和计算机设备
CN108829389A (zh) * 2018-03-29 2018-11-16 中南大学 基于Appium的安卓应用自动化触发执行方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949550B (zh) * 2020-08-31 2024-02-06 深圳赛安特技术服务有限公司 自动生成测试数据的方法、装置、设备及存储介质
CN111949550A (zh) * 2020-08-31 2020-11-17 平安国际智慧城市科技股份有限公司 自动生成测试数据的方法、装置、设备及存储介质
CN112181811A (zh) * 2020-09-14 2021-01-05 麒麟软件有限公司 一种应用稳定性测试方法
CN112181811B (zh) * 2020-09-14 2024-05-10 麒麟软件有限公司 一种应用稳定性测试方法
CN112131129B (zh) * 2020-09-29 2023-09-08 中国银行股份有限公司 一种应用程序的测试方法及***
CN112131129A (zh) * 2020-09-29 2020-12-25 中国银行股份有限公司 一种应用程序的测试方法及***
CN112363885A (zh) * 2020-11-10 2021-02-12 北京字节跳动网络技术有限公司 检测应用异常的方法、装置、电子设备及计算机可读介质
CN112363885B (zh) * 2020-11-10 2023-09-22 抖音视界有限公司 检测应用异常的方法、装置、电子设备及计算机可读介质
CN112100086A (zh) * 2020-11-17 2020-12-18 深圳市房多多网络科技有限公司 软件自动化测试方法、装置、设备和计算机可读存储介质
CN112100086B (zh) * 2020-11-17 2021-02-26 深圳市房多多网络科技有限公司 软件自动化测试方法、装置、设备和计算机可读存储介质
CN112543478B (zh) * 2020-12-04 2023-06-06 深圳市康冠商用科技有限公司 WiFi模块自动化测试方法、装置、计算机设备及存储介质
CN112543478A (zh) * 2020-12-04 2021-03-23 深圳市康冠商用科技有限公司 WiFi模块自动化测试方法、装置、计算机设备及存储介质
CN112506380B (zh) * 2020-12-23 2023-07-14 通力科技股份有限公司 触控设备的检测方法、触控设备检测装置及可读存储介质
CN112506380A (zh) * 2020-12-23 2021-03-16 Tcl通力电子(惠州)有限公司 触控设备的检测方法、触控设备检测装置及可读存储介质
CN113505079A (zh) * 2021-07-27 2021-10-15 平安普惠企业管理有限公司 应用程序测试方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111427803B (zh) 2020-10-20

Similar Documents

Publication Publication Date Title
CN111427803B (zh) 自动化随机测试方法、装置、计算机设备及介质
CN108959068B (zh) 软件界面测试方法、设备及存储介质
EP3270300A1 (en) Method and device for form verification
CN109033772B (zh) 一种验证信息的输入方法及装置
CN112558946B (zh) 一种生成代码的方法、装置、设备和计算机可读存储介质
CN110704304A (zh) 一种应用程序测试方法、装置、存储介质和服务器
CN112491602A (zh) 行为数据的监控方法、装置、计算机设备及介质
CN112631911A (zh) 自动化测试方法、装置、计算机设备及存储介质
US20200050534A1 (en) System error detection
CN112631924A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN112817831A (zh) 应用性能监测方法、装置、计算机***和可读存储介质
CN114006885A (zh) 一种基于智能设备的数据采集方法、装置及电子设备
CN110209572A (zh) 用户界面测试方法、用户界面测试***及终端
CN113360172B (zh) 应用部署方法、装置、计算机设备及存储介质
CN113535580B (zh) 一种cts测试方法、装置及测试设备
CN114637672A (zh) 自动化数据测试方法、装置、计算机设备及存储介质
CN115328764A (zh) 基于自动化测试的测试代码优化方法及其相关设备
CN113542323B (zh) 业务处理方法、装置、设备及计算机可读存储介质
CN111367799B (zh) 定位源代码崩溃位置的方法、装置、介质及电子设备
CN111679862A (zh) 云主机关机方法、装置、电子设备及介质
CN111949510A (zh) 测试处理方法、装置、电子设备及可读存储介质
CN113496017B (zh) 验证方法、装置、设备和存储介质
CN111611520B (zh) 一种流量作弊的监测方法、装置、电子设备及存储介质
CN116955201A (zh) 数据开发测试方法、装置、设备及介质
CN116737437A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231031

Address after: Room 2601 (Unit 07), Qianhai Free Trade Building, No. 3048, Xinghai Avenue, Nanshan Street, Qianhai Shenzhen-Hong Kong Cooperation Zone, Shenzhen, Guangdong 518000

Patentee after: Shenzhen Ping An Smart Healthcare Technology Co.,Ltd.

Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000

Patentee before: Ping An International Smart City Technology Co.,Ltd.