CN106155885A - 一种全自动测试***及测试方法 - Google Patents
一种全自动测试***及测试方法 Download PDFInfo
- Publication number
- CN106155885A CN106155885A CN201510149115.1A CN201510149115A CN106155885A CN 106155885 A CN106155885 A CN 106155885A CN 201510149115 A CN201510149115 A CN 201510149115A CN 106155885 A CN106155885 A CN 106155885A
- Authority
- CN
- China
- Prior art keywords
- test
- mobile terminal
- automatic
- beta version
- bag
- 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
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种全自动测试***及方法,属于自动化测试技术领域;***包括:版本管理单元,测试管理单元和监控管理单元;方法包括:检测控制端中是否包括尚未经过测试的测试版本包,并在包括时继续步骤;控制端提取测试版本包,并根据被提取的测试版本包得到需要执行的测试类型所对应的测试脚本;向相应的移动终端下发被提取的测试版本包,以及根据被提取的测试脚本向移动终端下发相应的测试指令;步骤S4,控制端于移动终端于自动化测试的过程中进行监控,并根据监控结果控制测试管理单元挂起或继续运行。上述技术方案的有益效果是:减少测试过程中人力资源的耗费,提升测试效率,便于使用者随时掌握测试进程。
Description
技术领域
本发明涉及自动化测试技术领域,尤其涉及一种全自动测试***及测试方法。
背景技术
随着移动终端行业的兴起,移动终端逐渐融入人们的生活中。随着行业竞争压力的提升,整个移动终端行业发展的关键逐渐转向了缩短开发周期、保证软件版本稳定等方面。而在这方面具有重要作用的即为对移动终端执行的自动化测试过程。
现有技术中的自动化测试过程在有测试任务需要执行时,仍然需要人为干预,例如需要人为输入版本,人为选择测试任务等。换言之,现有技术中的自动化测试技术无法做到在无人值守时保证自动执行测试,因此相应降低了自动化测试的测试效率。
发明内容
根据现有技术中存在的问题,现提供一种全自动测试***及测试方法的技术方案,旨在进一步减少自动化测试过程中人力资源的耗费,提升自动化测试的效率。
上述技术方案具体包括:
一种全自动测试***,其中,包括控制端和分别与所述控制端连接的多个移动终端;
所述控制端包括:
版本管理单元,其中预存有多个测试版本包,所述版本管理单元供测试人员添加所述测试版本包,并检测是否存在尚未经过测试的测试版本包,输出相应的检测结果;
测试管理单元,其中预设有多个测试脚本,所述测试管理单元连接所述版本管理单元,用于根据所述检测结果,向相应的所述移动终端下发尚未经过测试的所述测试版本包,并以与所述测试版本包对应的测试脚本控制相应的所述移动终端进行自动化测试;
监控管理单元,连接所述测试管理单元,用于对所述移动终端执行自动化测试的过程进行监控,并根据监控结果控制所述测试管理单元挂起或继续运行。
优选的,该全自动测试***,其中,所述版本管理单元包括:
第一存储模块,其中预先保存有多个所述测试版本包,每个所述测试版本包对应一个版本的测试***;
编辑模块,连接所述第一存储模块,供使用者编辑所述测试版本包,和/或向所述第一存储模块中添加新的所述测试版本包;
检测模块,连接所述第一存储模块,用于定期扫描是否存在尚未经过测试的所述测试版本包,并输出相应的所述检测结果。
优选的,该全自动测试***,其中,所述测试管理单元包括:
版本提取模块,用于根据所述检测结果提取相应的尚未经过测试的所述测试版本包并输出;
第二存储模块,其中预先保存有不同测试类型的所述测试脚本;
脚本提取模块,分别连接所述版本提取模块和所述第二存储模块,用于根据被提取的所述测试版本包,判断需要进行的所述测试类型,并从所述第二存储模块中提取对应类型的所述测试脚本并输出;
测试选择模块,连接所述版本提取模块,用于根据被提取的所述测试版本包选择相应的所述移动终端进行自动化测试;
版本管理模块,分别连接所述版本提取模块和所述测试选择模块,用于向被选择的所述移动终端下发被提取的所述测试版本包,以供所述移动终端配置相应的所述测试***;
测试管理模块,分别连接所述脚本提取模块和所述测试选择模块,用于根据被提取的所述测试脚本,向被选择的所述移动终端下发相应的测试指令,以控制所述移动终端执行相应的自动化测试。
优选的,该全自动测试***,其中,所述测试管理单元下发所述测试版本包以及所述测试指令的方式均为发送AT命令至相应的所述移动终端,以控制所述移动终端进入下载模式并自动下载被提取的所述测试版本包和所述测试指令。
优选的,该全自动测试***,其中,所述监控管理单元包括:
第一监控模块,用于在所述移动终端执行自动化测试的过程中监控是否发生影响测试过程的第一测试异常,记录发生所述第一测试异常的监控日志,并在发生所述第一测试异常时将所述测试管理单元挂起;
第二监控模块,用于在所述移动终端执行完自动化测试的过程之后获取所述移动终端产生的日志文件,分析所述日志文件以处理得到相应的测试报告并向使用者显示。
优选的,该全自动测试***,其中,所述第二监控模块中预设有多个关键字信息,每个所述关键字信息对应于一类用于表示所述移动终端的***性能出现问题的第二测试异常;
所述第二监控模块筛选得到所述日志文件中包括所述关键字信息的日志记录,并根据所述关键字信息对所述筛选得到的所述日志记录进行分类处理,以分别得到对应每类所述第二测试异常的测试结果;
所述第二监控模块将所有所述测试结果整合在一测试报告中并向使用者显示。
优选的,该全自动测试***,其中,所述监控管理单元中还包括:
输入模块,连接所述第二监控模块,供使用者编辑预设于所述第二监控模块中的所述关键字信息。
优选的,该全自动测试***,其中,所述监控管理单元中还包括:
异常提交模块,连接所述第二监控模块,用于将表示所述第二测试异常的所述测试结果与相应的所述日志记录关联形成一异常记录,并提交所述异常记录,以供使用者进行异常情况跟踪。
优选的,该全自动测试***,其中,还包括:
异常恢复单元,连接所述监控管理单元,用于在所述监控结果表示所述移动终端于自动化测试的过程中产生预设的测试异常时下发相应的恢复指令以控制所述移动终端从所述测试异常中恢复,并继续执行自动化测试。
一种全自动测试方法,其中,包括控制端与分别和所述控制端连接的多个移动终端;
所述控制端中预设有多个测试版本包,以及对应不同测试类型的多个测试脚本,并供使用者编辑和/或添加;
所述全自动测试方法具体包括:
步骤S1,检测所述控制端中是否包括尚未经过测试的所述测试版本包,并在所述控制端中包括尚未经过测试的所述测试版本包时转向步骤S2;
步骤S2,所述控制端提取尚未经过测试的所述测试版本包,并根据被提取的所述测试版本包查找得到需要执行的测试类型所对应的所述测试脚本;
步骤S3,所述控制端向相应的所述移动终端下发被提取的所述测试版本包,以及根据被提取的所述测试脚本向相应的所述移动终端下发相应的测试指令,以控制所述移动终端执行自动化测试;
步骤S4,所述控制端于所述移动终端于自动化测试的过程中进行监控,并根据监控结果控制所述测试管理单元挂起或继续运行。
优选的,该全自动测试方法,其中,所述步骤S2具体包括:
步骤S21,所述控制端提取尚未经过测试的所述测试版本包;
步骤S22,所述控制端根据被提取的所述测试版本包确定需要测试的测试类型;
步骤S23,所述控制端根据确定的所述测试类型,提取相应的多个测试脚本并输出,随后转至所述步骤S3。
优选的,该全自动测试方法,其中,所述步骤S3中,所述控制端以下发AT命令的方式控制所述移动终端进入下载状态,并自动下载所述控制端下发的所述测试版本包和所述测试指令。
优选的,该全自动测试方法,其中,所述步骤S3具体包括:
步骤S31,所述控制端根据被提取的所述测试版本包,选择一个相匹配的所述移动终端;
步骤S32,所述控制端向被选择的所述移动终端下发被提取的所述测试版本包;
步骤S33,所述控制端根据被提取的所述测试脚本向被选择的所述移动终端下发相应的所述测试指令,随后转至所述步骤S4。
优选的,该全自动测试方法,其中,所述步骤S4中,所述控制端于所述移动终端执行自动化测试的过程中监控的内容包括:
在所述移动终端执行自动化测试的过程中监控是否发生影响测试过程的第一测试异常,记录发生所述第一测试异常的监控日志,并在发生所述第一测试异常时将所述测试管理单元挂起;和/或
在所述移动终端执行完自动化测试的过程之后获取所述移动终端产生的日志文件,分析所述日志文件以处理得到相应的测试报告并向使用者显示。
优选的,该全自动测试方法,其中,预设有多个关键字信息,每个所述关键字信息对应于一类用于表示所述移动终端的***性能出现问题的第二测试异常;
所述步骤S4中,筛选得到所述日志文件中包括所述关键字信息的日志记录,并根据所述关键字信息对所述筛选得到的所述日志记录进行分类处理,以分别得到对应每类所述第二测试异常的测试结果;
将所有所述测试结果整合在一测试报告中并向使用者显示。
优选的,该全自动测试方法,其中,所述步骤S4中,将表示所述第二测试异常的所述测试结果与相应的所述日志记录关联形成一异常记录,并提交所述异常记录,以供使用者进行异常情况跟踪。
优选的,该全自动测试方法,其中,在所述监控结果表示所述移动终端于自动化测试的过程中产生预设的测试异常时,下发相应的恢复指令以控制所述移动终端从所述测试异常中恢复,并继续执行自动化测试。
上述技术方案的有益效果是:
1)实现测试***版本的自动跟踪测试,进一步减少测试过程中人力资源的耗费,提升测试效率;
2)对测试结果进行监控,便于使用者随时掌握测试进程,直观反映测试***版本质量的走势。
附图说明
图1是本发明的较佳的实施例中,一种全自动测试***的总体结构示意图;
图2-4是本发明的较佳的实施例中,一种全自动测试***的分部结构示意图;
图5是本发明的较佳的实施例中,一种全自动测试方法的总体流程示意图;
图6-7是本发明的较佳的实施例中,一种全自动测试方法的分步流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
现有的自动化测试技术,往往仍然需要人为干预,例如需要人为输入软件版本,需要手动对输入的软件版本进行相关测试任务的设定,手动将软件版本下载到移动终端内并手动设置移动终端内的相应的预配置,在测试过程中发生一些硬件上的异常,同样需要手动处理。同时,现有的自动化测试技术中,对于测试结果的呈现比较单一,无法让测试人员比较直观地观察测试结果,降低使用体验。
本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种全自动测试***的技术方案。
本发明的较佳的实施例中,如图1所示,上述全自动测试***中包括控制端A和移动终端B,控制端A分别与移动终端B连接。本发明的较佳的实施例中,控制端A与移动终端B之间的连接方式可以为无线连接,也可以为有线连接,在此不对控制端A与移动终端B之间的连接方式作出限定。
本发明的较佳的实施例中,上述控制端A的任务在于控制移动终端B执行自动化测试。具体地,控制端A向移动终端B下发测试***的测试版本包,移动终端B安装该测试版本包并对该测试***预配置完成,以准备进行自动化测试。控制端A向移动终端B下发相应的测试指令,移动终端B根据下发的测试指令执行相应的自动化测试。
本发明的较佳的实施例中,仍然如图1所示,控制端A中包括:
版本管理单元1。本发明的较佳的实施例中,版本管理单元1中预存有多个测试版本包。本发明的较佳的实施例中,所谓测试版本包,其中包括了安装相应的测试***所需的信息,以及配置相应的测试***所需的信息。本发明的较佳的实施例中,所谓测试***,并非一定为操作***,也可以为一个软件应用,本发明技术方案中所称测试***,是为便于本领域技术人员认识到测试版本包对应于构建一个相应版本的测试环境所做的考虑,并非将测试***等同于操作***。
本发明的较佳的实施例中,版本管理单元1供测试人员添加测试版本包,并检测是否存在尚未经过测试的测试版本包,输出相应的检测结果。
本发明的较佳的实施例中,所谓尚未经过测试的测试版本包,通常情况下是指测试人员新添加的测试版本包。
本发明的一个较佳的实施例中,当一个测试版本包已经被测试完毕后,版本管理单元1会对该测试版本包打上相应的标记。因此,版本管理单元1可以通过是否打上相应标记的方式判断一个测试版本包是否经过测试;
本发明的另一个较佳的实施例中,当一个测试版本包已经被测试完毕后,版本管理单元1会将该测试版本包删除。因此,版本管理单元1可以通过查找其中是否预设有测试版本包来判断是否存在尚未经过测试的测试版本包。
本发明的其他实施例中,版本管理单元1还可以通过其他方式检测其中是否预设有尚未经过检测的测试版本包,在此不再赘述。
本发明的较佳的实施例中,如图2所示,上述版本管理单元1中进一步包括:
第一存储模块11,其中预先保存有多个测试版本包。本发明的较佳的实施例中,每个测试版本包对应一个版本的测试***;
编辑模块12,连接第一存储模块11。本发明的较佳的实施例中,编辑模块12供测试人员编辑测试版本包,和/或向第一存储模块11中添加新的测试版本包;
检测模块13,连接第一存储模块11。本发明的较佳的实施例中,检测模块13用于定期扫描是否存在尚未经过测试的测试版本包,并输出相应的检测结果。本发明的较佳的实施例中,检测的方式如上文中所述,在此不再赘述。
本发明的较佳的实施例中,上述控制端A中还包括:
测试管理单元2,连接上述版本管理单元1。本发明的较佳的实施例中,测试管理单元2中预设有多个测试脚本。进一步地,本发明的较佳的实施例中,上述测试管理单元2中预设有对应不同测试类型的多个测试脚本。而上文中所述的测试版本包,其关联于相应的测试类型,即可以根据测试版本包决定在该测试***中需要执行哪些类型的自动化测试,因此可以根据确定的测试类型找到相应的测试脚本。换言之,本发明的较佳的实施例中,测试管理单元可以根据被提取的测试版本包查找并提取需要执行的多个测试脚本。本发明的较佳的实施例中,测试管理单元2向相应的移动终端B下发尚未经过测试的测试版本包,并以与测试版本包对应的测试脚本控制相应的移动终端B进行自动化测试。
进一步地,本发明的较佳的实施例中,如图3所示,上述测试管理单元2包括:
版本提取模块21。本发明的较佳的实施例中,上述版本提取模块21用于根据检测结果提取相应的尚未经过测试的测试版本包并输出。
第二存储模块22。本发明的较佳的实施例中,如上文中所述,第二存储模块22中预先保存有不同测试类型的测试脚本。本发明的较佳的实施例中,第二存储模块22中包括出的一个测试脚本可以认为是用于完成移动终端B中一个功能模块的自动化测试所需要的指令集合。例如,将完成移动终端B通话功能的自动化测试所需要的测试指令按预设的执行顺序排列于相应的测试脚本中;又或者,需要对移动终端B的短信收发功能进行测试,则可以将测试短信收发功能所需要的测试指令按照预设的执行顺序封装于相应的测试脚本中。
脚本提取模块23,分别连接版本提取模块21和第二存储模块22。本发明的较佳的实施例中,如上文中所述,脚本提取模块23用于根据被提取的测试版本包,判断需要进行的测试类型,并从第二存储模块中提取对应类型的测试脚本并输出。
测试选择模块24,连接版本提取模块21。本发明的较佳的实施例中,上述测试选择模块24用于根据被提取的测试版本包选择相应的移动终端B进行自动化测试。本发明的较佳的实施例中,对于每个测试版本包而言,在下发并执行测试之前,首先需要确定适合该测试版本包的移动终端B。具体地,例如,该测试版本包为一在安卓***下运行的应用软件的最新版本包,则需要选择一个同样搭载有安卓***的移动终端B才能安装该测试版本包;又例如,该测试版本包所对应的测试类型中,包括需要进行短信收发测试的测试脚本,因此需要选择一个短信收发功能开启的移动终端B才能安装该测试版本包。本发明的较佳的实施例中,上述测试选择模块24根据测试版本包中包括的信息选择一个或多个连接的移动终端B作为测试对象,随后输出选择结果。
版本管理模块25,分别连接版本提取模块22和测试选择模块24。本发明的较佳的实施例中,版本管理模块25用于向被选择的移动终端B下发被提取的测试版本包,以供移动终端B配置相应的测试***。
本发明的较佳的实施例中,版本管理模块25向被选择的移动终端(一个或多个)下发被提取的测试版本包。移动终端根据该测试版本包中包括的信息安装该测试版本包。
进一步地,本发明的较佳的实施例中,版本管理模块25采用下发AT命令的方式下发测试版本包。具体地,所谓AT命令,是指从终端设备(例如控制端A)向数据电路终端设备(例如移动终端B)发送的命令,控制端A可以通过AT命令直接控制移动终端B底层的功能模块工作,以执行相应的自动化测试动作。
本发明的较佳的实施例中,移动终端B接收到AT命令后,即处于下载状态。换言之,移动终端B接收到AT命令后即处于假死状态并自动下载控制端A提供的测试版本包。所谓假死状态,是指移动终端的操作界面锁定无法操作,键盘锁定无法操作,但是移动终端后台仍然处于运行状态中。现有技术中,移动终端只能彻底关机(例如插拔电池)后再开机才能将测试版本包刷入移动终端内,以支持自动化测试。但是本发明中,移动终端接收到AT命令后即进入假死状态,此时就可以自动下载从控制端A传输的测试版本包并进行安装,而无需测试人员手动执行关机开机的操作,大大减少了人力资源的耗费。
本发明的较佳的实施例中,移动终端B下载的测试版本包中,除了包括安装该版本包对应的测试***的安装信息之外,还包括该测试***的配置信息。换言之,本发明技术方案中,支持在安装测试版本包时对其进行必要的预先配置,因此可以支持某些特定的需要预先配置才能执行的测试类型,而无需在测试前麻烦测试人员手动设置,减少测试过程中人力资源的耗费。
测试管理模块26,分别连接脚本提取模块23和测试选择模块24。本发明的较佳的实施例中,测试管理模块26用于根据被提取的测试脚本,向被选择的移动终端B下发相应的测试指令,以控制移动终端B执行相应的自动化测试。
本发明的较佳的实施例中,测试管理模块26同样采用AT命令下发的方式向移动终端B下发相应的测试指令。移动终端B接收到AT命令后自动转入假死状态,并自动下载测试管理模块26提供的测试指令。
本发明的较佳的实施例中,控制端A还提供给移动终端B充电功能。当需要向其中一个或多个移动终端B下发相应的测试版本包以及测试指令时,即控制其中一个或多个移动终端B执行自动化测试时,被控制的一个或多个移动终端B停止充电并转入自动化测试过程,其余未被选中的移动终端B仍然处于充电状态。
本发明的较佳的实施例中,测试管理模块26还根据预先配置的时长控制移动终端B循环测试。例如,预先配置的时长为1小时,则测试管理模块26在1小时内循环向移动终端B下发测试指令,以控制移动终端B针对该测试版本包执行循环的自动化测试。
本发明的较佳的实施例中,如图1所示,上述控制端A中还包括:
监控管理单元3,连接上述测试管理单元2。本发明的较佳的实施例中,监控管理单元3用于对移动终端执行自动化测试的过程进行监控,并根据监控结果控制测试管理单元挂起或继续运行。
进一步地,本发明的较佳的实施例中,上述控制测试管理单元挂起或继续运行仅为监控管理单元3的其中一项功能,在下文中会对监控管理单元3的全部功能做具体阐述。
本发明的较佳的实施例中,如图4所述,上述监控管理单元3中具体包括:
第一监控模块31。本发明的较佳的实施例中,第一监控模块31用于在移动终端执行自动化测试的过程中监控是否发生影响测试过程的第一测试异常,记录发生第一测试异常的监控日志,并在发生第一测试异常时将测试管理单元挂起,即将测试管理单元设置为处于Hold状态。
本发明的较佳的实施例中,所谓第一测试异常,是指相关于测试过程是否能够顺利进行的异常,也就是会影响到测试过程的测试异常。例如移动终端B下载测试版本包未成功,或者移动终端B安装测试版本包未成功,或者移动终端B在测试过程中与控制端A断开连接等。出现上述类型的测试异常,则表示自动化测试过程可能会被中断(若执行自动化测试结束时出现断开连接的异常,则测试可以正常结束,该异常仍然被归类为第一测试异常)。本发明的较佳的实施例中,上述第一监控模块31主动监控移动终端B于自动化测试过程中出现的上述第一测试异常,并在出现第一测试异常时将上述测试管理单元3挂起,以等待测试人员手动查看并处理。
本发明的较佳的实施例中,上述自动化测试过程是一个比较宽泛的概念,从移动终端B接收到AT命令并开始下载测试版本包开始至移动终端B完成自动化测试并上传日志文件为止均为自动化测试的过程。
本发明的较佳的实施例中,当第一监控模块31监控到移动终端B于自动化测试过程中发生上述第一测试异常时,主动记录相应的监控日志并输出,以供测试人员查看。
本发明的较佳的实施例中,上述监控管理单元3中还包括:
第二监控模块32。本发明的较佳的实施例中,第二监控模块32用于在移动终端执行完自动化测试的过程之后获取移动终端产生的日志文件,分析日志文件以处理得到相应的测试报告并向测试人员显示。
具体地,本发明的较佳的实施例中,在第二监控模块32中预设有多个关键字信息,每个关键字信息对应于一类第二测试异常。本发明的较佳的实施例中,所谓第二测试异常,实际为用于表示移动终端B本身测试性能的测试异常,例如测试过程中移动终端B出现应用未响应(关键字信息对应为Anr)的测试异常,或者出现程序异常退出(关键字信息对应为Crash)的测试异常,或者Frame层服务异常(关键字信息对应为Watchdog),或者Java层服务异常(关键字信息对应为JavaCrasch),或者其他测试异常(统统归类在对应关键字信息为Others的一类第二测试异常中)。
本发明的较佳的实施例中,第二监控模块32首先根据关键字信息对主动监控得到的移动终端于一次自动化测试结束后上传的日志文件进行解析(由于一次可以控制多台移动终端测试,因此可以获得多个日志文件),并筛选得到包括关键字信息的所有日志记录(通常一个日志文件中包括多条日志记录)。随后,第二监控模块32根据关键字信息对筛选得到的日志记录进行分类,具体为一个关键字信息对应一类日志记录的分类。本发明的较佳的实施例中,在分类完毕后,第二监控模块32对每类日志记录分别进行处理,以得到针对每类第二测试异常的测试结果,并最终将这些测试结果整合在一个测试报告上显示。本发明的较佳的实施例中,测试结果可以采用比较直观的表示方法例如图示法或者表格示意方法,从而便于测试人员查看。
本发明的较佳的实施例中,每个关键字信息关联于多个子关键字信息,每个子关键字信息对应于上述一类第二测试异常中的一个第二测试异常。例如Anr下对应有Binder传输失败、I/O操作异常以及进程意外终止等,Crash下对应有低内存以及低内存时触发oom-killer(触发杀死进程)等,Watchdog下对应有Modem(基带处理器)发生assert(异常)以及Watchdog杀进程提醒等,JavaCrash下对应有程序开启超过虚拟机空间以及Window(窗口)泄漏等。
因此,本发明的较佳的实施例中,上述对应每类第二测试异常的测试结果中,还可以包括针对每个测试异常的测试结果,把这些测试结果整合在一起即形成一测试报告并输出。
本发明的较佳的实施例中,上述第二监控模块32还支持将上述测试报告显示给测试人员查看,以及对上述测试报告执行上传备份等操作。
本发明的较佳的实施例中,上述监控管理单元3中还包括:
输入模块33,连接上述第二监控模块32。本发明的较佳的实施例中,输入模块33供测试人员对预设于监控管理模块32中的关键字信息进行编辑。具体地,本发明的较佳的实施例中,对关键字信息进行编辑包括添加、删除以及修改关键字信息等。这样能够对关键字信息进行编辑修改,能够弥补现有技术中分析工具对应固定软件版本而在其中固化分析信息,从而导致测试异常分析的泛用性较窄的问题。
本发明的较佳的实施例中,上述监控管理单元3中还包括:
异常提交模块34,连接上述第二监控模块32。本发明的较佳的实施例中,异常提交模块还用于根据测试报告中的测试异常(失败的case),自动提交相应的异常报告(bug报告),并在该异常报告上附上对应于该测试异常的日志记录和/或日志记录所在的日志文件,便于测试人员进行问题追踪。
本发明的较佳的实施例中,仍然如图1所示,上述控制端A中还包括:
异常恢复单元4,连接上述监控管理单元3。本发明的较佳的实施例中,异常恢复单元4用于在监控结果表示移动终端于自动化测试的过程中产生预设的测试异常时下发相应的恢复指令以控制移动终端从测试异常中恢复,并继续执行自动化测试。具体地,例如,当移动终端发生定屏、黑屏、掉口等异常时,该异常恢复单元4可以自动恢复移动终端的自动化测试过程,即修复异常并继续进行测试。
综上所述,本发明技术方案中,采用一台控制端A挂载多台移动终端B的方式执行移动终端B的自动化测试控制:
首先,控制端A判断是否存在新的尚未经过测试的测试版本包,并提取尚未经过测试的测试版本包,以向相应的移动终端下发AT命令的方式控制移动终端自动下载并安装该测试版本包,以形成相应的测试环境;
随后,控制端A根据被提取的测试版本包确定需要测试的类型,并进而确定需要执行的测试脚本,根据测试脚本向移动终端下发相应的测试指令,以控制移动终端进行自动化测试,下发仍然采用AT命令的方式进行;
最后,控制端A在移动终端执行自动化测试的过程中进行主动监控,以监控得到测试过程中产生测试异常对应的监控日志,对日志进行处理以形成测试报告并显示,或者判断测试异常是否需要控制测试工具挂起以等待测试人员手动处理,从而完成一次完整的自动化测试过程。
上述自动化测试方案能够尽量排除自动化测试过程中测试人员的参与(例如无需测试人员根据新版本选择测试任务以及无需测试人员重启移动终端以安装新版本等),大大减少测试过程中人力资源的耗费,提升测试效率,并且能够提供给测试人员比较直观的测试报告,提升使用体验。
本发明的较佳的实施例中,基于上文中所述的全自动测试***,现提供一种全自动测试方法,其步骤具体如图4所示,包括:
步骤S1,检测控制端中是否包括尚未经过测试的测试版本包,并在控制端中包括尚未经过测试的测试版本包时转向步骤S2;
步骤S2,控制端提取尚未经过测试的测试版本包,并根据被提取的测试版本包查找得到需要执行的测试类型所对应的测试脚本;
本发明的较佳的实施例中,如图6所示,上述步骤S2具体包括:
步骤S21,控制端提取尚未经过测试的测试版本包;
步骤S22,控制端根据被提取的测试版本包确定需要测试的测试类型;
步骤S23,控制端根据确定的测试类型,提取相应的多个测试脚本并输出,随后转至步骤S3。
步骤S3,控制端向相应的移动终端下发被提取的测试版本包,以及根据被提取的测试脚本向相应的移动终端下发相应的测试指令,以控制移动终端执行自动化测试;
本发明的较佳的实施例中,如图7所示,上述步骤S3具体包括:
步骤S31,控制端根据被提取的测试版本包,选择一个相匹配的移动终端;
步骤S32,控制端向被选择的移动终端下发被提取的测试版本包;
步骤S33,控制端根据被提取的测试脚本向被选择的移动终端下发相应的测试指令,随后转至步骤S4。
本发明的较佳的实施例中,上述步骤S3中,控制端向移动终端下发测试版本包以及测试指令的方式均为向移动终端下发AT命令,以控制移动终端进入自动下载状态(假死状态)并自动下载上述测试版本包以及测试指令。
步骤S4,控制端于移动终端于自动化测试的过程中进行监控,并根据监控结果控制测试管理单元挂起或继续运行。
本发明的较佳的实施例中,如上文中所述,上述步骤S4中,控制端的监控功能实际分为两块:
1)于自动化测试过程中监控是否出现影响测试过程的第一测试异常,例如是否出现移动终端下载版本失败,或者移动终端安装版本失败,或者移动终端与控制端断开连接等情况,生成相应的异常监控日志并上传,同时将测试工具挂起等待测试人员处理;
2)于自动化测试过程中,移动终端产生相应的日志文件,控制端与自动化测试过程结束后主动调取日志文件,并按照关键字信息筛选得到相应的日志记录,对日志记录按照其中包含的关键字信息进行分类处理,以分别得到对应每个关键字信息的测试结果。将所有测试结果整合在一测试报告中并显示给测试人员查看。
本发明的较佳的实施例中,上述步骤S4中,将表示第二测试异常的测试结果与相应的日志记录关联形成一异常记录,并提交异常记录,以供使用者进行异常情况跟踪。
本发明的较佳的实施例中,在监控结果表示移动终端于自动化测试的过程中产生预设的测试异常时,下发相应的恢复指令以控制移动终端从测试异常中恢复,并继续执行自动化测试。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (17)
1.一种全自动测试***,其特征在于,包括控制端和分别与所述控制端连接的多个移动终端;
所述控制端包括:
版本管理单元,其中预存有多个测试版本包,所述版本管理单元供使用者添加所述测试版本包,并检测是否存在尚未经过测试的测试版本包,输出相应的检测结果;
测试管理单元,其中预设有多个测试脚本,所述测试管理单元连接所述版本管理单元,用于根据所述检测结果,向相应的所述移动终端下发尚未经过测试的所述测试版本包,并以与所述测试版本包对应的测试脚本控制相应的所述移动终端进行自动化测试;
监控管理单元,连接所述测试管理单元,用于对所述移动终端执行自动化测试的过程进行监控,并根据监控结果控制所述测试管理单元挂起或继续运行。
2.如权利要求1所述的全自动测试***,其特征在于,所述版本管理单元包括:
第一存储模块,其中预先保存有多个所述测试版本包,每个所述测试版本包对应一个版本的测试***;
编辑模块,连接所述第一存储模块,供使用者编辑所述测试版本包,和/或向所述第一存储模块中添加新的所述测试版本包;
检测模块,连接所述第一存储模块,用于定期扫描是否存在尚未经过测试的所述测试版本包,并输出相应的所述检测结果。
3.如权利要求1所述的全自动测试***,其特征在于,所述测试管理单元包括:
版本提取模块,用于根据所述检测结果提取相应的尚未经过测试的所述测试版本包并输出;
第二存储模块,其中预先保存有不同测试类型的所述测试脚本;
脚本提取模块,分别连接所述版本提取模块和所述第二存储模块,用于根据被提取的所述测试版本包,判断需要进行的所述测试类型,并从所述第二存储模块中提取对应类型的所述测试脚本并输出;
测试选择模块,连接所述版本提取模块,用于根据被提取的所述测试版本包选择相应的所述移动终端进行自动化测试;
版本管理模块,分别连接所述版本提取模块和所述测试选择模块,用于向被选择的所述移动终端下发被提取的所述测试版本包,以供所述移动终端配置相应的所述测试***;
测试管理模块,分别连接所述脚本提取模块和所述测试选择模块,用于根据被提取的所述测试脚本,向被选择的所述移动终端下发相应的测试指令,以控制所述移动终端执行相应的自动化测试。
4.如权利要求3所述的全自动测试***,其特征在于,所述测试管理单元下发所述测试版本包以及所述测试指令的方式均为发送AT命令至相应的所述移动终端,以控制所述移动终端进入下载模式并自动下载被提取的所述测试版本包和所述测试指令。
5.如权利要求1所述的全自动测试***,其特征在于,所述监控管理单元包括:
第一监控模块,用于在所述移动终端执行自动化测试的过程中监控是否发生影响测试过程的第一测试异常,记录发生所述第一测试异常的监控日志,并在发生所述第一测试异常时将所述测试管理单元挂起;
第二监控模块,用于在所述移动终端执行完自动化测试的过程之后获取所述移动终端产生的日志文件,分析所述日志文件以处理得到相应的测试报告并向使用者显示。
6.如权利要求5所述的全自动测试***,其特征在于,所述第二监控模块中预设有多个关键字信息,每个所述关键字信息对应于一类用于表示所述移动终端的***性能出现问题的第二测试异常;
所述第二监控模块筛选得到所述日志文件中包括所述关键字信息的日志记录,并根据所述关键字信息对所述筛选得到的所述日志记录进行分类处理,以分别得到对应每类所述第二测试异常的测试结果;
所述第二监控模块将所有所述测试结果整合在一测试报告中并向使用者显示。
7.如权利要求6所述的全自动测试***,其特征在于,所述监控管理单元中还包括:
输入模块,连接所述第二监控模块,供使用者编辑预设于所述第二监控模块中的所述关键字信息。
8.如权利要求6所述的全自动测试***,其特征在于,所述监控管理单元中还包括:
异常提交模块,连接所述第二监控模块,用于将表示所述第二测试异常的所述测试结果与相应的所述日志记录关联形成一异常记录,并提交所述异常记录,以供使用者进行异常情况跟踪。
9.如权利要求1所述的全自动测试***,其特征在于,还包括:
异常恢复单元,连接所述监控管理单元,用于在所述监控结果表示所述移动终端于自动化测试的过程中产生预设的测试异常时下发相应的恢复指令以控制所述移动终端从所述测试异常中恢复,并继续执行自动化测试。
10.一种全自动测试方法,其特征在于,包括控制端与分别和所述控制端连接的多个移动终端;
所述控制端中预设有多个测试版本包,以及对应不同测试类型的多个测试脚本,并供使用者编辑和/或添加;
所述全自动测试方法具体包括:
步骤S1,检测所述控制端中是否包括尚未经过测试的所述测试版本包,并在所述控制端中包括尚未经过测试的所述测试版本包时转向步骤S2;
步骤S2,所述控制端提取尚未经过测试的所述测试版本包,并根据被提取的所述测试版本包查找得到需要执行的测试类型所对应的所述测试脚本;
步骤S3,所述控制端向相应的所述移动终端下发被提取的所述测试版本包,以及根据被提取的所述测试脚本向相应的所述移动终端下发相应的测试指令,以控制所述移动终端执行自动化测试;
步骤S4,所述控制端于所述移动终端于自动化测试的过程中进行监控,并根据监控结果控制所述测试管理单元挂起或继续运行。
11.如权利要求10所述的全自动测试方法,其特征在于,所述步骤S2具体包括:
步骤S21,所述控制端提取尚未经过测试的所述测试版本包;
步骤S22,所述控制端根据被提取的所述测试版本包确定需要测试的测试类型;
步骤S23,所述控制端根据确定的所述测试类型,提取相应的多个测试脚本并输出,随后转至所述步骤S3。
12.如权利要求10所述的全自动测试方法,其特征在于,所述步骤S3中,所述控制端以下发AT命令的方式控制所述移动终端进入下载状态,并自动下载所述控制端下发的所述测试版本包和所述测试指令。
13.如权利要求10所述的全自动测试方法,其特征在于,所述步骤S3具体包括:
步骤S31,所述控制端根据被提取的所述测试版本包,选择一个相匹配的所述移动终端;
步骤S32,所述控制端向被选择的所述移动终端下发被提取的所述测试版本包;
步骤S33,所述控制端根据被提取的所述测试脚本向被选择的所述移动终端下发相应的所述测试指令,随后转至所述步骤S4。
14.如权利要求10所述的全自动测试方法,其特征在于,所述步骤S4中,所述控制端于所述移动终端执行自动化测试的过程中监控的内容包括:
在所述移动终端执行自动化测试的过程中监控是否发生影响测试过程的第一测试异常,记录发生所述第一测试异常的监控日志,并在发生所述第一测试异常时将所述测试管理单元挂起;和/或
在所述移动终端执行完自动化测试的过程之后获取所述移动终端产生的日志文件,分析所述日志文件以处理得到相应的测试报告并向使用者显示。
15.如权利要求14所述的全自动测试方法,其特征在于,预设有多个关键字信息,每个所述关键字信息对应于一类用于表示所述移动终端的***性能出现问题的第二测试异常;
所述步骤S4中,筛选得到所述日志文件中包括所述关键字信息的日志记录,并根据所述关键字信息对所述筛选得到的所述日志记录进行分类处理,以分别得到对应每类所述第二测试异常的测试结果;
将所有所述测试结果整合在一测试报告中并向使用者显示。
16.如权利要求15所述的全自动测试方法,其特征在于,所述步骤S4中,将表示所述第二测试异常的所述测试结果与相应的所述日志记录关联形成一异常记录,并提交所述异常记录,以供使用者进行异常情况跟踪。
17.如权利要求10所述的全自动测试方法,其特征在于,在所述监控结果表示所述移动终端于自动化测试的过程中产生预设的测试异常时,下发相应的恢复指令以控制所述移动终端从所述测试异常中恢复,并继续执行自动化测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510149115.1A CN106155885A (zh) | 2015-03-31 | 2015-03-31 | 一种全自动测试***及测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510149115.1A CN106155885A (zh) | 2015-03-31 | 2015-03-31 | 一种全自动测试***及测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106155885A true CN106155885A (zh) | 2016-11-23 |
Family
ID=57338134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510149115.1A Pending CN106155885A (zh) | 2015-03-31 | 2015-03-31 | 一种全自动测试***及测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106155885A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908415A (zh) * | 2017-11-30 | 2018-04-13 | 北京小米移动软件有限公司 | 处理方法、装置、设备和存储介质 |
CN108199862A (zh) * | 2017-09-30 | 2018-06-22 | 海南电网有限责任公司 | 一种业务***报错管理***及方法 |
CN108241580A (zh) * | 2016-12-30 | 2018-07-03 | 深圳壹账通智能科技有限公司 | 客户端程序的测试方法及终端 |
CN108415825A (zh) * | 2017-10-27 | 2018-08-17 | 平安科技(深圳)有限公司 | 电子装置、测试方法及存储介质 |
CN109446080A (zh) * | 2018-10-22 | 2019-03-08 | 网宿科技股份有限公司 | App测试方法及装置 |
CN109960657A (zh) * | 2019-03-26 | 2019-07-02 | 浪潮商用机器有限公司 | 一种测试环境部署方法及相关装置 |
CN110287090A (zh) * | 2019-05-08 | 2019-09-27 | 聚融医疗科技(杭州)有限公司 | 一种超声软件的自动化测试方法及*** |
CN111208363A (zh) * | 2019-12-13 | 2020-05-29 | 深圳市元征科技股份有限公司 | 测试方法及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862508A (zh) * | 2005-05-13 | 2006-11-15 | 中兴通讯股份有限公司 | 一种个人数字助理手机功能的自动测试***及其方法 |
US20080010553A1 (en) * | 2006-06-14 | 2008-01-10 | Manoj Betawar | Method and apparatus for executing commands and generation of automation scripts and test cases |
CN101272422A (zh) * | 2007-03-21 | 2008-09-24 | 中兴通讯股份有限公司 | 一种手机自动化测试方法 |
CN102141962A (zh) * | 2011-04-07 | 2011-08-03 | 北京航空航天大学 | 一种安全性分布式测试框架***及其测试方法 |
CN102436416A (zh) * | 2011-09-17 | 2012-05-02 | 北京迈凯互动网络科技有限公司 | 移动设备测试***和方法 |
CN102638603A (zh) * | 2011-02-11 | 2012-08-15 | 上海闻泰电子科技有限公司 | 一种通过模拟按键自动测试手机功耗的方法 |
CN103634441A (zh) * | 2012-08-24 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 一种测试移动终端的方法及装置 |
CN103744784A (zh) * | 2014-01-06 | 2014-04-23 | ***(深圳)有限公司 | 手机应用自动化测试方法及*** |
CN104050076A (zh) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 移动终端上的应用软件测试方法、装置及*** |
CN104424095A (zh) * | 2013-08-26 | 2015-03-18 | 卓望数码技术(深圳)有限公司 | 一种移动终端的自动化测试方法和*** |
-
2015
- 2015-03-31 CN CN201510149115.1A patent/CN106155885A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862508A (zh) * | 2005-05-13 | 2006-11-15 | 中兴通讯股份有限公司 | 一种个人数字助理手机功能的自动测试***及其方法 |
US20080010553A1 (en) * | 2006-06-14 | 2008-01-10 | Manoj Betawar | Method and apparatus for executing commands and generation of automation scripts and test cases |
CN101272422A (zh) * | 2007-03-21 | 2008-09-24 | 中兴通讯股份有限公司 | 一种手机自动化测试方法 |
CN102638603A (zh) * | 2011-02-11 | 2012-08-15 | 上海闻泰电子科技有限公司 | 一种通过模拟按键自动测试手机功耗的方法 |
CN102141962A (zh) * | 2011-04-07 | 2011-08-03 | 北京航空航天大学 | 一种安全性分布式测试框架***及其测试方法 |
CN102436416A (zh) * | 2011-09-17 | 2012-05-02 | 北京迈凯互动网络科技有限公司 | 移动设备测试***和方法 |
CN103634441A (zh) * | 2012-08-24 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 一种测试移动终端的方法及装置 |
CN104050076A (zh) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 移动终端上的应用软件测试方法、装置及*** |
CN104424095A (zh) * | 2013-08-26 | 2015-03-18 | 卓望数码技术(深圳)有限公司 | 一种移动终端的自动化测试方法和*** |
CN103744784A (zh) * | 2014-01-06 | 2014-04-23 | ***(深圳)有限公司 | 手机应用自动化测试方法及*** |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241580A (zh) * | 2016-12-30 | 2018-07-03 | 深圳壹账通智能科技有限公司 | 客户端程序的测试方法及终端 |
CN108199862A (zh) * | 2017-09-30 | 2018-06-22 | 海南电网有限责任公司 | 一种业务***报错管理***及方法 |
CN108415825A (zh) * | 2017-10-27 | 2018-08-17 | 平安科技(深圳)有限公司 | 电子装置、测试方法及存储介质 |
WO2019080426A1 (zh) * | 2017-10-27 | 2019-05-02 | 平安科技(深圳)有限公司 | 电子装置、测试方法、***及存储介质 |
CN108415825B (zh) * | 2017-10-27 | 2021-01-19 | 平安科技(深圳)有限公司 | 电子装置、测试方法及存储介质 |
CN107908415A (zh) * | 2017-11-30 | 2018-04-13 | 北京小米移动软件有限公司 | 处理方法、装置、设备和存储介质 |
CN109446080A (zh) * | 2018-10-22 | 2019-03-08 | 网宿科技股份有限公司 | App测试方法及装置 |
CN109960657A (zh) * | 2019-03-26 | 2019-07-02 | 浪潮商用机器有限公司 | 一种测试环境部署方法及相关装置 |
CN110287090A (zh) * | 2019-05-08 | 2019-09-27 | 聚融医疗科技(杭州)有限公司 | 一种超声软件的自动化测试方法及*** |
CN111208363A (zh) * | 2019-12-13 | 2020-05-29 | 深圳市元征科技股份有限公司 | 测试方法及电子设备 |
CN111208363B (zh) * | 2019-12-13 | 2022-06-17 | 深圳市元征科技股份有限公司 | 测试方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106155885A (zh) | 一种全自动测试***及测试方法 | |
CN109683899B (zh) | 一种软件集成方法及装置 | |
CN112929236B (zh) | 一种用电信息采集***宽带微功率无线协议互操作性测试*** | |
US9585033B2 (en) | System and method for enhanced diagnostics on mobile communication devices | |
CN110765018B (zh) | 接口自动化测试方法及设备 | |
CN108459951B (zh) | 测试方法和装置 | |
CN106502904A (zh) | 一种智能家电设备应用的ui自动化测试方法 | |
CN104424095A (zh) | 一种移动终端的自动化测试方法和*** | |
CN103973858B (zh) | 移动终端的自动测试*** | |
CN107015902B (zh) | 一种测试方法和设备 | |
CN111176910A (zh) | 一种***功能测试方法和装置 | |
CN112073263B (zh) | 白盒交换机可靠性测试监测方法、***、设备及介质 | |
CN112114897B (zh) | 基于工控屏的参数配置方法、装置和计算机设备 | |
CN111026581A (zh) | 应用程序的修复方法及装置、***、存储介质、电子装置 | |
CN108319240B (zh) | 一种在现场作业终端应用采集运维知识库的方法和*** | |
CN102300239B (zh) | 一种基站及其自启动方法 | |
CN114138587A (zh) | 服务器电源固件升级的可靠性验证方法、装置和设备 | |
CN111078484A (zh) | ***升级的断电测试方法、装置、设备及存储介质 | |
CN108064054B (zh) | 一种lte***中的ftp文件传输监控方法及*** | |
CN107193726A (zh) | 一种终端并发测试方法及装置 | |
CN112596750B (zh) | 应用测试方法、装置、电子设备及计算机可读存储介质 | |
CN114650211A (zh) | 故障修复方法、装置、电子设备和计算机可读存储介质 | |
CN111581042B (zh) | 一种集群部署方法、部署平台及待部署服务器 | |
CN113852417A (zh) | 光模块故障定位方法、装置、设备及存储介质 | |
CN114610329B (zh) | 固态硬盘部署方法、装置、可读存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161123 |
|
RJ01 | Rejection of invention patent application after publication |