用于基于Android系统的设备的测试方法及系统的制作方法

文档序号:8361326阅读:472来源:国知局
用于基于Android系统的设备的测试方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种在测试设备情况下使用的测试方法及系统。更具体地说,本发明涉及一种用在测试基于Android系统的设备情况下的测试方法及系统。
【背景技术】
[0002]Android设备,无论是手机还是平板电脑,生产厂家在设备出厂前都需要在工厂做一些基本的功能测试,比如摄像头拍照、麦克风放音、蓝牙搜索设备等等,以确保设备的基本功能完整性。在传统的方案中,主要是在设备端通过人工参与的方式进行功能测试,比如常见的CIT (用户界面测试)程序等,以及一些需要在特殊模式下进行的使用C语言编写的程序进行的测试,基本上都是人工在设备端进行测试的模式。Android设备端的CIT测试模块,一般是作为Android应用模块被开发的,使用平台的应用开发接口或者是通过Java语言调用本地方法的技术来实现,获得相关功能的状态和进行相关的功能验证。上述的测试方法需要投入大量的人工参与测试的时间,人力成本和时间成本较高,并且有的测试需在设备端的工厂模式下进行,或者需对Android设备端的生产软件进行调试版本和用户版本的切换,使得生产线上设备的测试效率较低。

【发明内容】

[0003]本发明的一个目的是解决上述至少一个问题或缺陷,并提供后面将说明的至少一个优点。
[0004]本发明还有一个目的是提供一种基于Android系统的设备的测试方法,其能够实现在电脑端通过控制测试项命令,手动或者自动发送测试命令给Android设备端,控制Android设备端进行相关的基本功能测试,最后将测试结果返回电脑端生成单项或者多项测试的结果报告,用于工厂组装线,通过电脑的控制进行自动化测试,解决了生产线上对设备进行测试的效率问题。
[0005]本发明还有一个目的还提供了基于Android系统的设备的测试方法的系统,能够将人工参与测试的时间降到最低,节省人力成本和时间成本,同时,能够对测试项进行灵活配置和单项测试,更利于在实际中的应用。
[0006]为了实现根据本发明的这些目的和其它优点,提供了一种用于基于Android系统的设备的测试方法,包括以下步骤:
[0007]步骤一、在电脑端创建测试项命令列表,所述命令列表中存储的命令对应于基于Android系统的设备端将进行的测试项目;
[0008]步骤二、连接设备端的Android系统调试工具adb端口 ;
[0009]步骤三、提取所述电脑端命令列表中命令转化成所述Android系统调试工具adb端口可识别处理的执行命令,通过USB连接发送至所述设备端;
[0010]步骤四、所述设备端的Android系统调试工具adb进程的核心子进程获取所述执行命令,调用Iinux系统的回显echo命令显示所述执行命令,并通过重定向技术输出给busybox-nc程序,所述busybox_nc程序连接并绑定到设备端的本机地址的其中一个网络端口 ;
[0011]步骤五、所述设备端的init进程在设备开机后启动了测试服务模块,所述测试服务模块创建一个套接字Socket连接,所述套接字Socket连接监听所述网络端口的连接请求,所述执行命令写入所述套接字Socket连接;
[0012]步骤六、所述测试服务模块接受所述套接字Socket连接请求,从Socket连接的数据缓冲池中读取所述执行命令并执行所述执行命令,输出结果,所述结果通过所述核心子进程传输到所述电脑端,所述电脑端生成测试报告。
[0013]优选的是,其中,所述步骤五具体包括:首先所述基于Android系统的设备端的init进程在设备开机后启动了测试服务模块,其次所述测试服务模块获得所述设备端的最高控制权限root权限,仓Il建一个套接字Socket连接并监听所述网络端口的连接请求,所述执行命令写入所述套接字Socket连接的数据缓冲池。
[0014]优选的是,其中,所述步骤六具体包括:所述测试服务模块循环等待接受所述套接字Socket连接请求,当接受到所述套接字Socket连接请求,所述测试服务模块会调用fork程序孵化出一个子进程,将所述套接字Socket连接和所述设备端的标准输入模块以及标准输出模块绑定,调用执行脚本先从所述标准输入模块读取所述数据缓存池中的所述执行命令,然后执行所述执行命令,输出结果,所述结果通过所述核心子进程传输到所述电脑端,所述电脑端生成测试报告。
[0015]优选的是,其中,所述结果通过所述核心子进程传输到所述电脑端,所述电脑端生成测试报告具体包括:所述套接字Socket连接输出结果回传到所述busybox-nc程序,所述busybox-nc程序回传到所述设备端Android系统调试工具adb进程的核心子进程,进而将所述结果回传到所述电脑端,所述电脑端生成测试报告。
[0016]优选的是,其中,所述测试项命令列表中的命令程序为所述Android系统设备中自带的程序或者为为了实现相应功能测试而编写的程序。
[0017]本发明的目的还可以进一步由用于基于Android系统的设备的测试方法的测试系统来实现,该系统包括:
[0018]电脑端,其包括测试命令存储控制模块与测试结果报告生成模块,所述测试命令存储控制模块用于储存电脑端测试项列表中的命令,并控制将测试命令通过USB连接发送给设备端;所述测试结果报告生成模块负责在所有测试命令执行结束后,统计并分析测试日志数据并生成测试结果报告。
[0019]设备端,其安装Android系统并通过USB与所述电脑端连接,所述设备端包括Android系统调试工具adb服务模块与测试服务模块,所述Android系统调试工具adb服务模块用于获取所述电脑端发送的执行命令,调用Iinux系统的回显echo命令显示所述执行命令,并通过重定向技术输出给busybox-nc程序,所述busybox-nc程序用于连接所述设备端网络端口并传输所述执行命令,所述测试服务模块包括用于与所述busybox-nc程序通讯的的套接字Socket连接以及负责执行所述测试命令的孵化子进程模块,其中所述孵化子进程模块包括具体的命令执行模块,所述命令执行模块负责最终在设备端执行测试程序。
[0020]优选的是,其中,所述测试命令存储控制模块还用于提取所述电脑端命令列表中命令并转化成所述Android系统调试工具adb端口可识别处理的执行命令。
[0021]优选的是,其中,所述测试命令存储控制模块中包括一个或者多个测试项命令模块,用于编写和存储所述设备端进行测试项目的命令。
[0022]本发明至少包括以下有益效果:
[0023]1、由于在电脑端通过控制测试项命令,手动或者自动发送测试命令给Android设备端,控制Android设备端进行相关的基本功能测试,最后将测试结果返回电脑端生成单项或者多项测试的结果报告,用于工厂组装线,通过电脑的控制进行自动化测试,解决了生产线上对设备进行测试的效率问题;
[0024]2、由于将电脑端纳入测试系统,能够将人工参与测试的时间降到最低,节省人力成本和时间成本,同时,能够对测试项进行灵活配置和单项测试,更利于在实际中的应用;
[0025]3、由于使用busybox-nc程序,使得执行命令通过网络端口连接进行传输,实现了数据的跨进程传输和异步传输;
[0026]4、由于设备端的测试服务模块创建套接字连接并与设备端的标准输入和标准输出模块绑定,实现了通过同一个套接字连接进行执行命令的输入与结果的输出;
[0027]5、由于通过测试服务模块循环等待套接字连接的请求,一旦有请求就执行相应的测试命令,可实现单项或者多项的测试,如果在测试过程中对于有疑问需要复测的项,可以方便地再次进行单次测试进行复检;
[0028]6、由于电脑端与设备端通过USB线连接,实现了自动快速传输测试命令。
[0029]本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研宄和实践而为本领域的技术人员所理解。
【附图说明】
[0030]图1为本发明的一个实施例中用于基于Android系统的设备的测试方法的流程示意图;
[0031]图2说明的是用于基于Android系统的设备的测试方法的系统的结构示意图。
【具体实施方式】
[0032]下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
[0033]图1示出了根据本发明的一种实现形式,示出了用于基于Android系统的设备的测试方法的过程。其中包括:
[0034]步骤一、在电脑端创建测试项命令列表,所述命令列表中存储的命令对应于基于Android系统的设备端将进行的测试项目;
[0035]在其中一个实施例中,所述测试项命令列表中可以为单项测试命令列表,也可以为多项测试命令列表,所述测试项目为摄像头拍照、麦克风放音、蓝牙搜索设备测试或者其他硬件测试;
[0036]步骤二、连接设备端的Android系统调试工具adb端口 ;
[0037]步骤三、提取所述电脑端命令列表中命令转化成所述Android系统调试工具adb端口可识别处理的执行命令,通过USB连接发送至所述设备端,提高自动快速传输测试命令的速率;
[0038]步骤四、所述设备端的Android系统调试工具adb进程的核心子进程获取所述执行命令,调用Iinux系统的回显echo命令显示所述执行命令,并通过重定向技术输出给busybox-nc程序,所述busybox-nc程序连接并绑定到设备端的本机地址的其中一个网络端口,实现了实现网络端口的一致传输;
[0039]步骤五、所述设备端的init进程在设备开机后启动了测试服务模块,所述测试服务模块创建一个套接字Socket连接,所述套接字Socket连接监听所述网络端口的连接请求,所述执行命令写入所述套接字Socket连接;
[0040]在其中一个实施例中,首先所述基于Android系统的设备端的init进程在设备开机后启动了测试服务模块,其次所述测试服务模块获得所述设备端的最高控制权限root权限,创建一个套接字Socket连接并监听所述网络端口的连接请求,所述执行命令写入所述套接字Socket连接的数据缓冲池,实
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1