CN111309604B - 离线自动化测试方法、***、存储介质及移动终端 - Google Patents
离线自动化测试方法、***、存储介质及移动终端 Download PDFInfo
- Publication number
- CN111309604B CN111309604B CN202010082159.8A CN202010082159A CN111309604B CN 111309604 B CN111309604 B CN 111309604B CN 202010082159 A CN202010082159 A CN 202010082159A CN 111309604 B CN111309604 B CN 111309604B
- Authority
- CN
- China
- Prior art keywords
- test
- mobile terminal
- computer
- module
- log
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test 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)
- Telephone Function (AREA)
Abstract
本申请提供一种离线自动化测试方法、***、存储介质及移动终端。本申请通过测试时间持续供电,以避免由于测试耗电过高而导致测试时间短的问题,同时可测试多台移动终端,满足测试数量要求;通过将测试日志保存在移动终端中以实现离线测试;并且自动生成测试报告以便分析问题。
Description
技术领域
本申请涉及移动通信技术领域,具体涉及一种离线自动化测试方法、***、存储介质及移动终端。
背景技术
Monkey测试(Monkey Test)是Google原生***提供的命令执行应用,通过一些无规律无顺序的操作测试待测***,就像是一只猴子在测试机器上来回乱点。通过后台命令点击UI图标向被测机器发送伪随机数据流,使应用触发一些例如:点击、长按、滑动等事件。测试人员可从主观界面上查看现象,是否会出现应用Crash(无响应问题)或ANR(崩溃问题)等问题,常应用于手机设备制造商。操作的指令和测试过程中留下的Log文件(或称日志文件)可供测试或开发人员参考查阅,由此寻找导致问题的原因,从而判断程序的是否稳定,容错性能如何。Monkey测试代码被写在Android***当中,测试人员可以用来调用和编写测试脚本代码,生成批处理文件并执行。短时间的测试没有任何意义,一般需要3-7天的测试时长来尽可能全面地反映出待测设备存在的问题,同时整个过程设备耗电快,一旦设备没有电源供给,重新启动后也需要重新激活Monkey测试。传统Monkey测试需要将待测设备连接计算机,将抓取的日志文件保存到计算机上,但连接计算机不能满足长时间Monkey测试的电源供给,一般会在24小时之后断开充电,此时需要测试人员重新进行连接。通常每次测试所验设备数量较多,导致测试过程中产生的日志文件多,待分析的代码杂乱且量大,不容易快速对问题进行定位并建立漏洞(BUG)。同时对于历史版本已知问题,测试人员经常需要查看是否复现,若有复现则需要在原有的BUG上进行说明,而不重新建立BUG。
因此,本申请提供一种离线自动化测试方法、***、存储介质及移动终端,以解决上述问题。
发明内容
本申请实施例提供一种离线自动化测试方法、***、存储介质及移动终端,解决Monkey测试的测试时间长,电量消耗快,在线测试无法满足长时间供电以及测试日志量大且杂的问题。
根据本申请的第一方面,本申请实施例一种离线自动化测试方法,应用于移动终端,所述离线自动化测试方法包括:获取开启自动化测试命令;对至少一应用程序进行自动化测试,并自动生成相应的日志;储存所述日志于所述移动终端;对所述移动终端供电;当自动化测试时间达到预设时间后,停止执行所述自动化测试命令;以及导出所述日志至计算机进行解析生成测试报告。
进一步地,所述离线自动化测试方法还包括:在获取开启自动化测试命令的步骤前,还包括以下预处理步骤:连接若干所述移动终端至所述计算机;通过所述计算机对所述移动终端进行***测试;通过所述计算机获取所述移动终端所有应用的权限;通过所述计算机对所述移动终端进行单包测试;通过所述计算机选择所述移动终端待测应用程序;以及通过计算机设置所述移动终端进行自动化测试的时间。
进一步地,在储存所述日志于所述移动终端的步骤中,具体包括以下步骤:生成获取所述日志命令;判断获取所述日志是否正常;当判断出获取所述日志为正常时,断开所述移动终端与所述计算机的连接;以及储存所述日志于所述移动终端。
进一步地,在导出所述日志至计算机进行解析生成测试报告的步骤中,还包括以下步骤:所述计算机解析所述日志以获得关键字的堆栈信息;通过模糊匹配方式将所述堆栈信息与错误信息列表进行匹配,以更新错误列表;以及生成测试报告;其中所述测试报告包括:所述待测应用程序的名称和版本号、错误出现的次数、位置及时间以及复现错误信息。
根据本申请的第二方面,本申请实施例提供一种离线自动化测试装置,应用于移动终端,所述离线自动化测试装置包括:获取模块,用于获取开启自动化测试命令;测试模块,用于对至少一应用程序进行自动化测试,并自动生成相应的日志;储存模块,用于储存所述日志于所述移动终端;供电模块,用于对所述移动终端供电;停止模块,用于当自动化测试时间达到预设时间后,停止执行自动化测试命令;以及导出模块,用于导出所述日志至计算机进行解析生成测试报告。
进一步地,所述离线自动化测试***还包括以下预处理模块:连接模块,用于连接若干所述移动终端至所述计算机;***测试模块,用于通过所述计算机对所述移动终端进行***测试;权限获取模块,用于通过所述计算机获取所述移动终端所有应用的权限;单包测试模块,用于通过所述计算机对所述移动终端进行单包测试;应用选择模块,用于通过所述计算机选择所述移动终端待测应用程序;以及时间设置模块,用于通过计算机设置所述移动终端进行自动化测试的预设时间。
进一步地,所述储存模块包括:生成子模块,用于生成获取所述日志命令;判断子模块,用于判断获取所述日志是否正常;断连子模块,用于当判断出获取所述日志为正常时,断开所述移动终端与所述计算机的连接;以及存储子模块,用于储存所述日志于所述移动终端。
进一步地,所述导出模块包括:解析模块,用于所述计算机解析所述日志以获得关键字堆栈信息;匹配模块,用于通过模糊匹配方式将所述堆栈信息与错误信息列表进行匹配,以更新错误列表;以及生成模块,用于生成测试报告;所述测试报告包括:所述待测应用的名称和版本号、错误出现的次数、位置及时间以及复现错误信息。
根据本申请的第三方面,本申请实施例提供一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行上述的离线自动化测试方法。
根据本申请的第四方面,本申请实施例提供一种移动终端,其包括处理器和存储器,所述处理器与所述存储器电性连接,所述存储器用于存储指令和数据,所述处理器用于执行上述的离线自动化测试方法中的步骤。
本申请实施例提供一种离线自动化测试方法、***、存储介质及移动终端,通过测试时间持续供电,以避免由于测试耗电过高而导致测试时间短的问题,同时可测试多台移动终端,满足测试数量要求;通过将测试日志保存在移动终端中以实现离线测试;并且自动生成测试报告以便分析问题。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1为本申请实施例提供的一种离线自动化测试方法的步骤流程示意图。
图2为本申请实施例提供的预处理步骤的流程示意图。
图3为图1所示的步骤S13的流程示意图。
图4为图1所示的步骤S16的流程示意图。
图5为本申请实施例提供的一种离线自动化测试***的结构示意图。
图6为本申请实施例提供的预处理模块的结构示意图
图7为图5所示的储存模块的结构示意图。
图8为图5所示的导出模块的结构示意图。
图9为本申请实施例提供的移动终端的结构示意图。
图10为本申请实施例提供的移动终端的具体结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书以及上述附图中的术语“第一”、“第二”、“第三”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应当理解,这样描述的对象在适当情况下可以互换。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
在具体实施方式中,下文论述的附图以及用来描述本申请公开的原理的各实施例仅用于说明,而不应解释为限制本申请公开的范围。所属领域的技术人员将理解,本申请的原理可在任何适当布置的***中实施。将详细说明示例性实施方式,在附图中示出了这些实施方式的实例。此外,将参考附图详细描述根据示例性实施例的移动终端。附图中的相同附图标号指代相同的元件。
本具体实施方式中使用的术语仅用来描述特定实施方式,而并不意图显示本申请的概念。除非上下文中有明确不同的意义,否则,以单数形式使用的表达涵盖复数形式的表达。在本申请说明书中,应理解,诸如“包括”、“具有”以及“含有”等术语意图说明存在本申请说明书中揭示的特征、数字、步骤、动作或其组合的可能性,而并不意图排除可存在或可添加一个或多个其他特征、数字、步骤、动作或其组合的可能性。附图中的相同参考标号指代相同部分。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
下文的公开提供了许多不同的实施方式或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本申请提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
具体的,请参阅图1,本申请实施例提供一种离线自动化测试方法,所述离线自动化测试方法用于移动终端,其包括以下步骤。
步骤S11,获取开启自动化测试命令。
在本申请实施例中,开启自动化测试命令可以通过用户在移动终端的操作进行获取,亦可通过连接至计算机进行获取。开启自动化测试命令触发移动终端内部的Monkey原生代码进行离线自动化测试。
参阅图2,步骤S11之前包括步骤S21至步骤S26等预处理步骤。
步骤S21,连接若干所述移动终端至所述计算机。
在本申请实施例中,同时连接多台移动终端至计算机,并通过计算机逐一设置,对后台命令代码进行拼接,实现多台同步测试,也可对每台进行不同测试设置操作进行多台不同条件的Monkey测试。其中测试数量没有上限,可同时对所连移动终端同时操作,例如计算机连接了8台待测移动终端,测试人员可打开8个Monkey测试工具窗口对每台设备同时设置,点击“Start(开始)”按钮激活拼接完成的后台命令开始测试。
步骤S22,通过所述计算机对所述移动终端进行***测试。
在本申请实施例中,***测试默认测试一轮,缩短Monkey测试中事件与事件之间的延迟时间,验证在快速的事件响应的过程中,应用是否能正常运行。
步骤S23,通过所述计算机获取所述移动终端所有应用的权限。
在本申请实施例中,开启测试应用所有权限。目的为尽量完整地发现移动终端运行应用时所出现的问题,避免长时间停留在单一界面而影响测试效率。
步骤S24,通过所述计算机对所述移动终端进行单包测试。
在本申请实施例中,单包测试默认测试5轮,单包测试为忽略异常的测试,以实现可以在一次执行的过程中发现应用程序中的多个问题。
步骤S25,通过所述计算机选择所述移动终端待测应用程序。
在本申请实施例中,通过计算机选择移动终端待测应用程序,以使测试具有针对性,减少不必要的测试进而缩短测试时间。
步骤S26,通过计算机设置所述移动终端进行自动化测试的时间。
在本申请实施例中,默认设置一个10000000的随机时间数实现长时间不间断测试,且适用于多台设备同时测试。
继续参阅图1。
步骤S12,对至少一应用程序进行自动化测试,并自动生成相应的日志。
在本申请实施例中,自动化测试过程中,Monkey原生代码向***发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。
步骤S13,储存所述日志于所述移动终端。
在本申请实施例中,测试过程中日志默认保存在待测移动终端内部的存储路径下,无需连接计算机,实现离线自动化测试。
参阅图3,步骤S13具体包括步骤S31至步骤S34。
步骤S31,生成获取所述日志命令。
在本申请实施例中,日志为自动化测试过程中自动生成。
步骤S32,判断获取所述日志是否正常。
在本申请实施例中,检查测试过程中,若后台获取日志不正常,则自动停止测试,以避免不必要的测试。
步骤S33,当判断出获取日志为正常时,断开所述移动终端与所述计算机的连接。
在本申请实施例中,由于现有技术中,使用USB连接计算机给移动终端进行充电,其速度慢且接口少,待测移动终端以“仅供电”方式连接计算机充电易受充电保护影响导致无法长时间持续充电,通常不超过72小时,因此断开移动终端与计算机的连接,以便更换供电方式。
步骤S34,储存所述日志于所述移动终端。
在本申请实施例中,测试过程中日志默认保存在待测移动终端内部的存储路径下,无需连接计算机,实现离线自动化测试。
继续参阅图1。
步骤S14,对所述移动终端供电。
在本申请实施例中,对移动终端在测试过程中持续供电。优选的,使用交流充电头对移动终端供电,其充电电流大,从而解决测试过程中移动终端耗电过快以及计算机无法长时间供电的问题。
步骤S15,当自动化测试时间达到预设时间后,停止执行所述自动化测试命令。
在本申请实施例中,预设时间一般长达7天以上,以保证测试结果的准备性。停止执行所述自动化测试命令可以由移动终端自行停止执行,也可由计算机控制其停止执行。
步骤S16,导出所述日志至计算机进行解析生成测试报告。
在本申请实施例中,测试结束后通过USB连接至计算机,并通过adb pull命令导出至计算机中。其中,adb,即 Android Debug Bridge 是一种允许模拟器或已连接的Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问;pull即导出。
参阅图4,步骤S16具体包括步骤S41至步骤S43。
步骤S41,所述计算机解析所述日志以获得关键字的堆栈信息。
在本申请实施例中,在日志的最开始都会显示Monkey执行的seed值、执行次数和测试的包名。关键字的堆栈信息包括崩溃问题(ANR)以及无响应问题(Crash)等信息。其分析过程如下,首先查看Monkey测试中是否出现了ANR或者Crash异常, 然后分析日志中的具体信息,查看日志中第一个Switch,主要是查看Monkey执行的是哪一个Activity,譬如下面的日志中,执行的是com.tencent.smtt.SplashActivity,在下一个switch之间的,如果出现了崩溃或无响应等其他异常,可以在该Activity中查找问题的所在。
步骤S42,通过模糊匹配方式将所述堆栈信息与错误信息列表进行匹配。
在本申请实施例中,每一应用包括错误信息列表,通过模糊匹配方式寻找与错误信息列表相似字段,从而在日志中筛选新出现的错误信息(即指漏洞BUG产生的对应信息),过滤已知错误信息。
步骤S43,生成测试报告;其中所述测试报告包括:所述待测应用程序的名称和版本号、错误出现的次数、位置及时间以及复现错误信息。
在本申请实施例中,根据匹配结果自动生成测试报告,并备份于表格文档,方便分析问题时快速定位到相应日志信息。
参阅图5,本申请实施例提供一种离线自动化测试装置,应用于移动终端,其包括获取模块501、测试模块502、储存模块503、供电模块504、停止模块505以及导出模块506。
获取模块501用于获取开启自动化测试命令。
在本申请实施例中,开启自动化测试命令可以通过用户在移动终端的操作进行获取,亦可通过连接至计算机进行获取。开启自动化测试命令触发移动终端内部的Monkey原生代码进行离线自动化测试。
参阅图6,所述离线自动化测试***还包括以下预处理模块:连接模块601、***测试模块602、权限获取模块603、单包测试模块604、应用选择模块605以及时间测试模块606。
连接模块601用于连接若干所述移动终端至所述计算机。
在本申请实施例中,同时连接多台移动终端至计算机,并通过计算机逐一设置,对后台命令代码进行拼接,实现多台同步测试,也可对每台进行不同测试设置操作进行多台不同条件的Monkey测试。其中测试数量没有上限,可同时对所连移动终端同时操作,例如计算机连接了8台待测移动终端,测试人员可打开8个Monkey测试工具窗口对每台设备同时设置,点击“Start(开始)”按钮激活拼接完成的后台命令开始测试。
***测试模块602与连接模块601连接。***测试模块602用于通过所述计算机对所述移动终端进行***测试。
在本申请实施例中,***测试默认测试一轮,缩短Monkey测试中事件与事件之间的延迟时间,验证在快速的事件响应的过程中,应用是否能正常运行。
权限获取模块603与***测试模块602连接。权限获取模块603用于通过所述计算机获取所述移动终端所有应用的权限。
在本申请实施例中,开启测试应用所有权限。目的为尽量完整地发现移动终端运行应用时所出现的问题,避免长时间停留在单一界面而影响测试效率。
单包测试模块604与权限获取模块603连接。单包测试模块604用于通过所述计算机对所述移动终端进行单包测试。
在本申请实施例中,单包测试默认测试5轮,单包测试为忽略异常的测试,以实现可以在一次执行的过程中发现应用程序中的多个问题。
应用选择模块605与单包测试模块604连接。应用选择模块605用于通过所述计算机选择所述移动终端待测应用程序。
在本申请实施例中,通过计算机选择移动终端待测应用程序,以使测试具有针对性,减少不必要的测试进而缩短测试时间。
时间测试模块606与应用选择模块605连接。时间测试模块606用于通过计算机设置所述移动终端进行自动化测试的时间。
在本申请实施例中,默认设置一个10000000的随机时间数实现长时间不间断测试,且适用于多台设备同时测试。
继续参阅图5。
测试模块502与获取模块501连接。测试模块502用于对至少一应用程序进行自动化测试,并自动生成相应的日志。
在本申请实施例中,自动化测试过程中,Monkey原生代码向***发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。
储存模块503与测试模块502连接。储存模块503用于储存所述日志于所述移动终端。
在本申请实施例中,测试过程中日志默认保存在待测移动终端内部的存储路径下,无需连接计算机,实现离线自动化测试。
参阅图7,储存模块503具体包括获取子模块701、判断子模块702、断连子模块703以及存储子模块704。
生成子模块701用于生成获取所述日志命令。
在本申请实施例中,日志为自动化测试过程中自动生成。
判断子模块702与获取子模块701连接。判断子模块702判断获取所述日志是否正常。
在本申请实施例中,检查测试过程中,若后台获取日志不正常,则自动停止测试,以避免不必要的测试。
断连子模块703与判断子模块702连接。断连子模块703当判断出获取日志为正常时,断开所述移动终端与所述计算机的连接。
在本申请实施例中,由于现有技术中,使用USB连接计算机给移动终端进行充电,其速度慢且接口少,待测移动终端以“仅供电”方式连接计算机充电易受充电保护影响导致无法长时间持续充电,通常不超过72小时,因此断开移动终端与计算机的连接,以便更换供电方式。
存储子模块704与断连子模块703连接。存储子模块704用于储存所述日志于所述移动终端。
在本申请实施例中,测试过程中日志默认保存在待测移动终端内部的存储路径下,无需连接计算机,实现离线自动化测试。
继续参阅图5。
供电模块504与储存模块503连接。供电模块504用于对所述移动终端供电。
在本申请实施例中,对移动终端在测试过程中持续供电。优选的,使用交流充电头对移动终端供电,其充电电流大,从而解决测试过程中移动终端耗电过快以及计算机无法长时间供电的问题。
停止模块505与供电模块504连接。停止模块505用于当自动化测试时间达到预设时间后,停止执行所述自动化测试命令。
在本申请实施例中,预设时间一般长达7天以上,以保证测试结果的准备性。停止执行所述自动化测试命令可以由移动终端自行停止执行,也可由计算机控制其停止执行。
导出模块506与停止模块505连接。导出模块506用于导出所述日志至计算机进行解析生成测试报告。
在本申请实施例中,测试结束后通过USB连接至计算机,并通过adb pull命令导出至计算机中。
参阅图8,导出模块506具体包括解析模块801、匹配模块802以及生成模块803。
解析模块801用于所述计算机解析所述日志以获得关键字的堆栈信息。
在本申请实施例中,在日志的最开始都会显示Monkey执行的seed值、执行次数和测试的包名。关键字的堆栈信息包括崩溃问题(ANR)以及无响应问题(Crash)等信息。其分析过程如下,首先查看Monkey测试中是否出现了ANR或者Crash异常, 然后分析日志中的具体信息,查看日志中第一个Switch,主要是查看Monkey执行的是哪一个Activity,譬如下面的日志中,执行的是com.tencent.smtt.SplashActivity,在下一个switch之间的,如果出现了崩溃或无响应等其他异常,可以在该Activity中查找问题的所在。
匹配模块802与解析模块801连接。匹配模块802通过模糊匹配方式将所述堆栈信息与错误信息列表进行匹配。
在本申请实施例中,每一应用包括错误信息列表,通过模糊匹配方式寻找与错误信息列表相似字段,从而在日志中筛选新出现的错误信息,过滤已知错误信息。
生成模块803与匹配模块802连接。生成模块803用于生成测试报告;其中所述测试报告包括:所述待测应用程序的名称和版本号、错误出现的次数、位置及时间以及复现错误信息。
在本申请实施例中,根据匹配结果自动生成测试报告,并备份于表格文档,方便分析问题时快速定位到相应日志信息。
参阅图9,本申请实施例还提供一种移动终端900,该移动终端900可以是手机、平板以及电脑等设备。如图9所示,移动终端900包括处理器901、存储器902。其中,处理器901与存储器902电性连接。
处理器901是移动终端900的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或加载存储在存储器902内的应用程序,以及调用存储在存储器902内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。
在本实施例中,该移动终端900设有多个存储分区,该多个存储分区包括***分区和目标分区,移动终端900中的处理器901会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现各种功能:
获取开启自动化测试命令;
对至少一应用程序进行自动化测试,并自动生成相应的日志;
储存所述日志于所述移动终端;
对所述移动终端供电;
当自动化测试时间达到预设时间后,停止执行所述自动化测试命令;以及
导出所述日志至计算机进行解析生成测试报告。
参阅图10,图10示出了本申请实施例提供的移动终端1000的具体结构框图,该移动终端1000可以用于实施上述实施例中提供的离线自动化测试方法。该移动终端1000可以为手机或平板。移动终端1000包括以下部件。
RF电路1010用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路1010可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路1010可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信***(Global System for Mobile Communication, GSM)、增强型移动通信技术(EnhancedData GSM Environment, EDGE),宽带码分多址技术(Wideband Code Division MultipleAccess, WCDMA),码分多址技术(Code Division Access, CDMA)、时分多址技术(TimeDivision Multiple Access, TDMA),无线保真技术(Wireless Fidelity, Wi-Fi)(如美国电气和电子工程师协会标准 IEEE 802.11a, IEEE 802.11b, IEEE802.11g 和/或 IEEE802.11n)、网络电话(Voice over Internet Protocol, VoIP)、全球微波互联接入(Worldwide Interoperability for Microwave Access, Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
存储器1020可用于存储软件程序以及模块,如上述实施例中离线自动化测试方法对应的程序指令/模块,处理器1080通过运行存储在存储器1020内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现离线自动化测试方法的功能。存储器1020可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1020可进一步包括相对于处理器1080远程设置的存储器,这些远程存储器可以通过网络连接至移动终端1000。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入单元1030可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1030可包括触敏表面1031以及其他输入设备1032。触敏表面1031,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面1031上或在触敏表面1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面1031。除了触敏表面1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及移动终端1000的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1040可包括显示面板1041,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板1041。进一步的,触敏表面1031可覆盖显示面板1041,当触敏表面1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,触敏表面1031与显示面板1041是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面1031与显示面板1041集成而实现输入和输出功能。
移动终端1000还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在移动终端1000移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等; 至于移动终端1000还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与移动终端1000之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一终端,或者将音频数据输出至存储器1020以便进一步处理。音频电路1060还可能包括耳塞插孔,以提供外设耳机与移动终端1000的通信。
移动终端1000通过传输模块1070(例如Wi-Fi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了传输模块1070,但是可以理解的是,其并不属于移动终端1000的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是移动终端1000的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行移动终端1000的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理核心;在一些实施例中,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
移动终端1000还包括给各个部件供电的电源1090(比如电池),在一些实施例中,电源可以通过电源管理***与处理器1080逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源1090还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,移动终端1000还可以包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,移动终端的显示单元是触摸屏显示器,移动终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行以下操作的指令:
获取开启自动化测试命令;
对至少一应用程序进行自动化测试,并自动生成相应的日志;
储存所述日志于所述移动终端;
对所述移动终端供电;
当自动化测试时间达到预设时间后,停止执行所述自动化测试命令;以及
导出所述日志至计算机进行解析生成测试报告。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读的存储介质中,并由处理器进行加载和执行。为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种离线自动化测试方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种离线自动化测试方法中的步骤,因此,可以实现本申请实施例所提供的任一种离线自动化测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本申请实施例提供一种离线自动化测试方法、***、存储介质及移动终端,通过测试时间持续供电,以避免由于测试耗电过高而导致测试时间短的问题,同时可测试多台移动终端,满足测试数量要求;通过将测试日志保存在移动终端中以实现离线测试;并且自动生成测试报告以便分析问题。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种离线自动化测试方法、***、存储介质及移动终端进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (8)
1.一种离线自动化测试方法,应用于移动终端,其特征在于,所述离线自动化测试方法包括:
连接若干所述移动终端至计算机,通过所述计算机逐一设置,对后台命令代码进行拼接,以实现多台移动终端同步测试,以及对每台移动终端进行不同测试设置操作,以进行多台移动终端不同条件的测试;
通过所述计算机对所述移动终端进行***测试;
通过所述计算机获取所述移动终端所有应用的权限;
通过所述计算机对所述移动终端进行单包测试,其中所述单包测试包括忽略异常的测试,以在一次执行过程中发现应用程序中的多个问题;
通过所述计算机选择所述移动终端待测应用程序;以及
通过计算机设置所述移动终端进行自动化测试的时间;
获取开启自动化测试命令;
对至少一应用程序进行自动化测试,并自动生成相应的日志;
储存所述日志于所述移动终端;
对所述移动终端供电;
当自动化测试时间达到预设时间后,停止执行所述自动化测试命令;以及
导出所述日志至计算机进行解析生成测试报告。
2.如权利要求1所述的离线自动化测试方法,其特征在于,在储存所述日志于所述移动终端的步骤中,具体包括以下步骤:
生成获取所述日志命令;
判断获取所述日志是否正常;
当判断出获取所述日志为正常时,断开所述移动终端与所述计算机的连接;以及
储存所述日志于所述移动终端。
3.如权利要求1所述的离线自动化测试方法,其特征在于,在导出所述日志至计算机进行解析生成测试报告的步骤中,还包括以下步骤:
所述计算机解析所述日志以获得关键字的堆栈信息;
通过模糊匹配方式将所述堆栈信息与错误信息列表进行匹配,以更新错误列表;以及
生成测试报告;其中所述测试报告包括:所述待测应用程序的名称和版本号、错误出现的次数、位置及时间以及复现错误信息。
4.一种离线自动化测试***,应用于移动终端,其特征在于,所述离线自动化测试***包括:
连接模块,用于连接若干所述移动终端至计算机,通过所述计算机逐一设置,对后台命令代码进行拼接,以实现多台移动终端同步测试,以及对每台移动终端进行不同测试设置操作,以进行多台移动终端不同条件的测试;
***测试模块,用于通过所述计算机对所述移动终端进行***测试;
权限获取模块,用于通过所述计算机获取所述移动终端所有应用的权限;
单包测试模块,用于通过所述计算机对所述移动终端进行单包测试,其中所述单包测试包括忽略异常的测试,以在一次执行过程中发现应用程序中的多个问题;
应用选择模块,用于通过所述计算机选择所述移动终端待测应用程序;以及
时间设置模块,用于通过计算机设置所述移动终端进行自动化测试的预设时间;
获取模块,用于获取开启自动化测试命令;
测试模块,用于对至少一应用程序进行自动化测试,并自动生成相应的日志;
储存模块,用于储存所述日志于所述移动终端;
供电模块,用于对所述移动终端供电;
停止模块,用于当自动化测试时间达到预设时间后,停止执行自动化测试命令;以及
导出模块,用于导出所述日志至计算机进行解析生成测试报告。
5.如权利要求4所述的离线自动化测试***,其特征在于,所述储存模块包括:
生成子模块,用于生成获取所述日志命令;
判断子模块,用于判断获取所述日志是否正常;
断连子模块,用于当判断出获取所述日志为正常时,断开所述移动终端与所述计算机的连接;以及
存储子模块,用于储存所述日志于所述移动终端。
6.如权利要求4所述的离线自动化测试***,其特征在于,所述导出模块包括:
解析模块,用于所述计算机解析所述日志以获得关键字堆栈信息;
匹配模块,用于通过模糊匹配方式将所述堆栈信息与错误信息列表进行匹配,以更新错误列表;以及
生成模块,用于生成测试报告;所述测试报告包括:所述待测应用的名称和版本号、错误出现的次数、位置及时间以及复现错误信息。
7.一种存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行权利要求1至3任一项所述的离线自动化测试方法。
8.一种移动终端,其特征在于,包括处理器和存储器,所述处理器与所述存储器电性连接,所述存储器用于存储指令和数据,所述处理器用于执行权利要求1至3任一项所述的离线自动化测试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010082159.8A CN111309604B (zh) | 2020-02-07 | 2020-02-07 | 离线自动化测试方法、***、存储介质及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010082159.8A CN111309604B (zh) | 2020-02-07 | 2020-02-07 | 离线自动化测试方法、***、存储介质及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309604A CN111309604A (zh) | 2020-06-19 |
CN111309604B true CN111309604B (zh) | 2023-10-03 |
Family
ID=71159926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010082159.8A Active CN111309604B (zh) | 2020-02-07 | 2020-02-07 | 离线自动化测试方法、***、存储介质及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309604B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007061241A1 (en) * | 2005-11-25 | 2007-05-31 | Fusionsoft Co., Ltd. | Error test method for mobile communication terminals |
CN102419727A (zh) * | 2011-09-30 | 2012-04-18 | 宇龙计算机通信科技(深圳)有限公司 | 一种自动化测试方法及装置 |
CN103092756A (zh) * | 2013-01-08 | 2013-05-08 | 彭勇 | 一种交互式自动化测试***及其方法 |
CN103560829A (zh) * | 2013-10-31 | 2014-02-05 | 上海斐讯数据通信技术有限公司 | 一种uni 端口的自动化测试方法及*** |
CN103577313A (zh) * | 2012-07-27 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种移动终端应用程序测试方法及装置 |
CN104050075A (zh) * | 2013-03-11 | 2014-09-17 | 百度国际科技(深圳)有限公司 | Andriod应用程序的测试方法和装置 |
CN104331373A (zh) * | 2014-11-28 | 2015-02-04 | 上海斐讯数据通信技术有限公司 | 一种Monkey测试***及方法 |
CN105760301A (zh) * | 2016-02-24 | 2016-07-13 | 惠州Tcl移动通信有限公司 | 一种基于Monkey命令的自动化测试方法及*** |
CN105786694A (zh) * | 2014-12-26 | 2016-07-20 | 展讯通信(天津)有限公司 | 一种自动化测试***及方法以及移动终端 |
CN106294158A (zh) * | 2016-08-11 | 2017-01-04 | 北京小米移动软件有限公司 | 终端测试方法、装置及*** |
WO2017020721A1 (zh) * | 2015-08-04 | 2017-02-09 | 阿里巴巴集团控股有限公司 | 业务功能的测试方法和装置 |
CN107239493A (zh) * | 2017-04-28 | 2017-10-10 | 努比亚技术有限公司 | 移动终端及其离线日志处理方法、计算机可读存储介质 |
CN108984363A (zh) * | 2018-05-23 | 2018-12-11 | 福建天泉教育科技有限公司 | 一种并行测试的方法及*** |
CN109522181A (zh) * | 2018-10-22 | 2019-03-26 | 郑州云海信息技术有限公司 | 一种分布式存储***的性能测试方法、装置和设备 |
CN110069398A (zh) * | 2019-03-15 | 2019-07-30 | 平安普惠企业管理有限公司 | 程序压力测试控制方法、装置、计算机设备及存储介质 |
CN110162453A (zh) * | 2018-02-11 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 测试方法、装置、计算机可读存储介质和计算机设备 |
US10417113B1 (en) * | 2016-03-10 | 2019-09-17 | Amdocs Development Limited | System, method, and computer program for web testing and automation offline storage and analysis |
CN110457199A (zh) * | 2018-05-08 | 2019-11-15 | 北京京东尚科信息技术有限公司 | 性能测试的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954929B2 (en) * | 2010-03-29 | 2015-02-10 | Microsoft Corporation | Automatically redirecting method calls for unit testing |
US10649888B2 (en) * | 2018-01-31 | 2020-05-12 | Dell Products L.P. | Parallelizable data-driven testing |
-
2020
- 2020-02-07 CN CN202010082159.8A patent/CN111309604B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007061241A1 (en) * | 2005-11-25 | 2007-05-31 | Fusionsoft Co., Ltd. | Error test method for mobile communication terminals |
CN102419727A (zh) * | 2011-09-30 | 2012-04-18 | 宇龙计算机通信科技(深圳)有限公司 | 一种自动化测试方法及装置 |
CN103577313A (zh) * | 2012-07-27 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种移动终端应用程序测试方法及装置 |
CN103092756A (zh) * | 2013-01-08 | 2013-05-08 | 彭勇 | 一种交互式自动化测试***及其方法 |
CN104050075A (zh) * | 2013-03-11 | 2014-09-17 | 百度国际科技(深圳)有限公司 | Andriod应用程序的测试方法和装置 |
CN103560829A (zh) * | 2013-10-31 | 2014-02-05 | 上海斐讯数据通信技术有限公司 | 一种uni 端口的自动化测试方法及*** |
CN104331373A (zh) * | 2014-11-28 | 2015-02-04 | 上海斐讯数据通信技术有限公司 | 一种Monkey测试***及方法 |
CN105786694A (zh) * | 2014-12-26 | 2016-07-20 | 展讯通信(天津)有限公司 | 一种自动化测试***及方法以及移动终端 |
WO2017020721A1 (zh) * | 2015-08-04 | 2017-02-09 | 阿里巴巴集团控股有限公司 | 业务功能的测试方法和装置 |
CN105760301A (zh) * | 2016-02-24 | 2016-07-13 | 惠州Tcl移动通信有限公司 | 一种基于Monkey命令的自动化测试方法及*** |
US10417113B1 (en) * | 2016-03-10 | 2019-09-17 | Amdocs Development Limited | System, method, and computer program for web testing and automation offline storage and analysis |
CN106294158A (zh) * | 2016-08-11 | 2017-01-04 | 北京小米移动软件有限公司 | 终端测试方法、装置及*** |
CN107239493A (zh) * | 2017-04-28 | 2017-10-10 | 努比亚技术有限公司 | 移动终端及其离线日志处理方法、计算机可读存储介质 |
CN110162453A (zh) * | 2018-02-11 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 测试方法、装置、计算机可读存储介质和计算机设备 |
CN110457199A (zh) * | 2018-05-08 | 2019-11-15 | 北京京东尚科信息技术有限公司 | 性能测试的方法和装置 |
CN108984363A (zh) * | 2018-05-23 | 2018-12-11 | 福建天泉教育科技有限公司 | 一种并行测试的方法及*** |
CN109522181A (zh) * | 2018-10-22 | 2019-03-26 | 郑州云海信息技术有限公司 | 一种分布式存储***的性能测试方法、装置和设备 |
CN110069398A (zh) * | 2019-03-15 | 2019-07-30 | 平安普惠企业管理有限公司 | 程序压力测试控制方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
Android移动终端稳定性自动化测试***的研究;黎伟毅;郭太良;林志贤;;有线电视技术(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111309604A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104516812A (zh) | 一种软件测试方法和装置 | |
CN111239617B (zh) | 充放电测试的控制方法、装置、存储介质及*** | |
CN112415367B (zh) | 驱动芯片异常侦测方法、装置、电子设备及可读存储介质 | |
CN101751329B (zh) | 一种实现自动测试的方法和*** | |
CN101645033A (zh) | 一种手机软件异常时的调试方法 | |
CN105487966A (zh) | 程序测试方法、装置及*** | |
CN106294108B (zh) | 应用程序测试方法及装置 | |
CN110968508B (zh) | 一种小程序的加载时间确定方法、装置、终端及存储介质 | |
CN112115038A (zh) | 一种应用测试方法、装置和存储介质 | |
CN109196480B (zh) | 一种显示设备标识的方法、移动终端及终端设备 | |
CN109245195A (zh) | 移动终端和充电处理的方法、装置及存储装置 | |
CN106407800A (zh) | 一种hook的方法及终端设备 | |
CN112199246B (zh) | 终端测试方法、装置、存储介质及移动终端 | |
US9928134B2 (en) | Method and apparatus for repairing dynamic link library file | |
CN111309604B (zh) | 离线自动化测试方法、***、存储介质及移动终端 | |
CN116303085A (zh) | 一种测试原因分析方法、装置、设备及存储介质 | |
CN112084104A (zh) | 一种异常测试方法和装置 | |
CN115600213A (zh) | 基于应用程序的漏洞管理方法、装置、介质及设备 | |
CN116414630A (zh) | 设备测试方法、装置、电子设备及计算机可读存储介质 | |
CN112860501B (zh) | 检测方法、检测装置、存储介质及移动终端 | |
CN110908701B (zh) | 固件版本切换方法、装置、存储介质及电子设备 | |
CN112667868B (zh) | 一种数据检测方法以及装置 | |
CN112199270B (zh) | 一种程序测试方法、装置、设备及介质 | |
CN108804926B (zh) | 一种通用Web应用漏洞检测、修复方法以及装置 | |
CN111897726A (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 |