[0014] 在上述的RTC模块测试方法中,所述步骤3中,读取通电时LinuxRTC驱动中用来表示该电容供给RTC模块的电压高低状态的设备
节点rtc/rtc0/low_voltage_status的值,根据设备节点rtc/rtc0/low_voltage_status的值的高低来进行判断;若设备节点rtc/rtc0/low_voltage_status的值为高,表示电容给RTC模块的供电电压过低,电容的
焊接不正常;反之,则表示焊接正常。
[0015] 同时,本发明还公开了一种Android设备生产多模块自动化测试方法,包括RTC模块测试:对Android设备的RTC模块采用如上所述方法进行测试。
[0016] 在上述Android设备生产多模块自动化测试方法中,还包括显示接口测试,所述显示接口测试包括如下步骤:
[0017] 步骤11:将安卓设备的HDMI接口和LVDS接口分别连接至独立的显示屏,两个显示屏分别通过独立的摄像头进行监测;
[0018] 步骤12:将预设的图片通过安卓设备的HDMI接口和LVDS接口传输至对应的显示屏;
[0019] 步骤13:通过摄像头分别获取同一时刻点的两个显示屏的图像;
[0020] 步骤14:对拍摄所得图像与预设的图片进行关键点提取及匹配,若匹配所得关键点占总关键点的比例超过预设
阈值,则表示HDMI接口或LVDS接口能正常输出图像,测试通过,反之,测试失败。
[0021] 在上述Android设备生产多模块自动化测试方法中,所述步骤14的具体步骤为:
[0022] 步骤141:采用ORB
算法查找预设图像以及两个摄像头获取的图像的若干关键点;
[0023] 步骤142:在141的
基础上,采用KNN匹配的方法对预设图像以及拍摄图像依次进行关键点匹配,然后再计算匹配成功且符合预设条件的关键点的对数;
[0024] 步骤143:计算步骤142得的匹配组数占步骤141所得的总关键点总数的比例,若比例高于阈值,表示测试通过,反之为测试失败;
[0025] 在上述Android设备生产多模块自动化测试方法中,还包括4G模块测试、wifi模块测试、蓝牙模块测试、以太网测试、SD卡接口测试、USB接口测试、SATA接口测试、
温度测试、音频输出测试、麦克
风输入测试中的一种或多种。
[0026] 在上述Android设备生产多模块自动化测试方法中,在Android设备上电后,检测Android设备的序列号,判断该Android设备的序列号是否与历史测试记录中的序列号相同,若相同则停止测试,若不相同,则进行后续的RTC模块测试、显示接口测试、4G模块测试、wifi模块测试、蓝牙模块测试、以太网测试、SD卡接口测试、USB接口测试、SATA接口测试、温度测试、音频输出测试、麦克风输入测试中的一种或多种。
[0027] 此外,本发明还公开了一种用于上述所述的方法的Android设备生产多模块自动化测试装置,包括MES系统和Android工模测试系统;所述MES系统和Android工模测试系统通信连接,其特征在于,所述Android工模测试系统包括RTC模块测试单元,所述RTC模块测试单元与待测的Android设备通信连接,当所述Android设备上电后,所述RTC模块测试单元用于在RTC模块中写入一预设的时间值,并在X秒后读取RTC模块的即时时间值,同时,读取电容供给给RTC模块的电压高低状态,然后根据即时时间值与预设的时间值的差值以及电容供给给RTC模块的电压值来判断RTC模块是否正常。
[0028] 在上述的Android设备生产多模块自动化测试装置中,所述Android工模测试系统还包括显示接口测试模块,所述显示接口测试模块包括两台显示器、与显示器一一对应的摄像头、
图像分析子模块,所述两台显示器分别连接至待测的安卓设备的HDMI接口和LVDS接口;所述图像分析子模块通过摄像头分别获取同一时刻点的两个显示屏的图像,并分别计算两个接口的拍摄图像与原图间的有效关键点比率,若比率小于预设阈值,则表示HDMI接口或LVDS接口出现故障,显示接口测试不通过,反之,则显示接口测试通过;
[0029] 还包括4G模块测试模块、wifi模块测试模块、蓝牙模块测试模块、以太网测试模块、SD卡接口测试模块、USB接口测试模块、SATA接口测试模块、温度测试模块、音频输出测试模块、麦克风输入测试模块中的一种或多种。
[0030] 与现有技术相比,本发明的有益效果在于:
[0031] 在本发明的RTC模块测试方法中,节省了一次上电测试的步骤,简化了测试流程。
[0032] 在本发明的Android设备生产多模块自动化测试方法中,一次上电可以完成待测设备的所有测试。
[0033] 优选地,本发明的Android设备生产多模块自动化测试方法利用了Android异屏同显的特性以及OpenCV的图片特征匹配技术实现了HDMI与LVDS接口的传输测试。
附图说明
[0035] 图2为本发明实施例2的流程图;
[0036] 图3为本发明实施例2的流程图;
[0037] 图4为本发明实施例2的KNN算法的示意图。
具体实施方式
[0038] 下面结合具体实施方式,对本发明的技术方案作进一步的详细说明,但不构成对本发明的任何限制。
[0039] 实施例1
[0040] 如图1所示,一种RTC模块测试方法,包括依次进行的如下步骤:
[0041] 步骤1:对RTC模块上电;
[0042] 步骤2:在RTC模块中写入一预设的时间值,并在5秒后读取RTC模块的即时时间值;比对即时时间值和预设的时间值之间的差值,若即时时间值与预设的时间值之差<5秒,则判断RTC模块在非电容供电时工作不正常;若即时时间值与预设的时间值之差≥5秒,则判断RTC模块在非电容供电时工作正常;本实施例所述的非电容供电一般指的是市电供电。在实际测试中,X可任意设置,如1,2,3,4,5,6s等
[0043] 步骤3:读取电容供给给RTC模块的电压高低状态;具体来说,读取通电时LinuxRTC驱动中用来表示该电容供给RTC模块的电压高低状态的设备节点rtc/rtc0/low_voltage_status的值,根据设备节点rtc/rtc0/low_voltage_status的值的高低来进行判断;若设备节点rtc/rtc0/low_voltage_status的值为高,表示电容给RTC模块的供电电压过低,电容的焊接不正常;反之,则表示焊接正常。设备节点rtc/rtc0/low_voltage_status为Linux系统提供给应用程序与
内核驱动进行通信的一种“渠道”。本例中,应用程序对应工模测试软件,Linux驱动读取
硬件RTC芯片的状态数据并将其写到rtc/rtc0/low_voltage_status节点中,工模测试软件通过读取该节点得到RTC芯片的状态。
[0044] 比如,在实际应用中,本实施例的电容的型号为美志电容SC-5R5D18F100-C,其规格参数为1F/5.5V;若其焊接正常,则设备节点rtc/rtc0/low_voltage_status的值应为0;此时,电容给RTC模块的供电电压为≥0.9V,这种情况电容焊接正常。
[0045] 若其焊接不正常,则设备节点rtc/rtc0/low_voltage_status的值应当为1;此时,电容给RTC模块的供电电压<0.9V,这种情况电容焊接不正常。
[0046] 步骤4:若即时时间值与预设的时间值之差<5秒、电容供给给RTC模块的电压过低中任一种情况发生,则RTC模块测试不通过;若上述两种情况都不发生,则RTC模块测试通过。
[0047] 本方法一次上电即可完成RTC模块在市电和电容供电状态下是否均工作正常。
[0048] 实施例2
[0049] 一种Android设备生产多模块自动化测试方法,包括如下步骤:
[0050] 在Android设备上电后,检测Android设备的序列号,判断该Android设备的序列号是否与历史测试记录中的序列号相同,若相同则停止测试,若不相同则连接MES生产管理软件,等待测试人员操作MES生产管理软件下发的测试指令进行后续测试。
[0051] 后续测试包括如下测试中的一种或多种,根据测试指令的内容进行;
[0052] 具体的后续测试包括:
[0053] RTC模块测试:对Android设备的RTC模块采用如实施例1所述方法进行测试。
[0054] 显示接口测试:参考图2,所述显示接口测试包括如下步骤:
[0055] 步骤11:将安卓设备的HDMI接口和LVDS接口分别连接至独立的显示屏,两个显示屏分别通过独立的摄像头进行监测;
[0056] 步骤12:将预设的图片通过安卓设备的HDMI接口和LVDS接口传输至对应的显示屏;
[0057] 步骤13:通过摄像头分别获取同一时刻点的两个显示屏的图像;
[0058] 步骤14:对拍摄所得图像与原图进行关键点提取及匹配,若匹配所得关键点占总关键点的比例超过预设阈值,则表示HDMI接口或LVDS接口能正常输出图像,测试通过,反之,测试失败。
[0059] 本发明的另外一个创新点在于对测试结果的判断方法,参考图3,具体为:
[0060] 步骤141:采用ORB算法查找预设图像以及两个摄像头获取的图像的若干关键点;
[0061] ORB(Oriented FAST and Rotated BRIEF)是一种快速特征点提取和描述的算法。这个算法是由Ethan Rublee,Vincent Rabaud,Kurt Konolige以及Gary R.Bradski在2011年一篇名为“ORB:An Efficient Alternative to SIFTor SURF”(http://www.willowgarage.com/sites/default/files/orb_final.pdf)的文章中提出。ORB算法分为两部分,分别是特征点提取和特征点描述。特征提取是由FAST(Features from Accelerated Segment Test)算法发展来的,特征点描述是根据BRIEF(Binary Robust IndependentElementary Features)特征描述算法改进的。ORB特征是将FAST特征点的检测方法与BRIEF特征描述子结合起来,并在它们原来的基础上做了改进与优化。ORB算法最大的特点就是计算速度快。这首先得益于使用FAST检测特征点,FAST的检测速度正如它的名字一样是出了名的快。再次是使用BRIEF算法计算描述子,该描述子特有的2进制串的表现形式不仅节约了存储空间,而且大大缩短了匹配的时间。
[0062] ORB算法结合了FAST算法的
角点检测以及BRIEF算法的特征描述,并在其上进行了改进,主要为在FAST的角点检测增加了方向性以及在BRIEF的特征描述加入了旋转不变性。通过ORB算法对两张图片分别提取关键点。
[0063] 图像的特征点可以简单的理解为图像中比较显著的点,如轮廓点,较暗区域中的亮点,较亮区域中的暗点等。ORB采用FAST算法来检测特征点。这个定义基于特征点周围的图像灰度值,检测候选特征点周围一圈的
像素值,如果候选点周围领域内有足够多的像素点与该候选点的灰度值差别够大,则认为该候选点为一个特征点。
[0064] 比如,在半径为3的圆的范围内中心点P,其圆周上有16个像素点,如果这16个像素中有连续n(n一般可以设置为12)个像素点的灰度值小于或大于中心点P,则认为该中心点P为特征点。
[0065] 所以在步骤141中,通过ORB算法可以快速匹配中预设图像及拍摄图像的特征点即关键点。
[0066] 步骤142:在141的基础上,采用KNN匹配的方法对预设图像以及拍摄图像依次进行关键点匹配,然后再计算匹配成功且符合预设条件的关键点的对数;
[0067] KNN算法的核心思想是:若某个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
[0068] 如下图4为例,圆要被决定赋予哪个类,是三角形还是四方形?如果K=3,由于三角形所占比例为2/3,圆将被赋予三角形那个类,如果K=5,由于四方形比例为3/5,因此圆被赋予四方形类。
[0069] 本案例中K值选择为2。匹配过程为先依次选择预设图像的关键点,如关键点A,再计算拍摄图像上所有关键点到关键点A的汉明距离D(HAMMING),然后选择2个汉明距离最小的关键点。
[0070] 汉明距离是描述两个字符串对应
位置的不同字符的个数。
[0071] 如:1011101与1001001之间的汉明距离为2
[0072] KNN匹配过程中,在计算汉明距离时,会将两个关键点的先进行二进制编码,让其转换为二进制字符串,再在此基础上计算两个二进制字符串之间的汉明距离。
[0073] 在选出汉明距离最小的2个关键点后,再计算这2个关键点到关键点A的汉明距离的比率 若比率Ratio小于比率阈值Radio(Threshold),则认为这是一组正确的匹配,即关键点A存在符合条件的匹配。否则认为关键点A不存在正确的匹配。最后得到若干组符合条件的匹配。
[0074] 步骤143:计算步骤142得的匹配组数占步骤141所得的总关键点总数的比例若比率Ratio高于阈值Ratio(Threshold),表示测试通过,反之为测试失败;
[0075] 此外本发明还包括4G模块测试、wifi模块测试、蓝牙模块测试、以太网测试、SD卡接口测试、USB接口测试、SATA接口测试、温度测试、音频输出测试、麦克风输入测试中的一种或多种。
[0076] 4G模块测试为:先通过发送广播的方式打开Android设备的“移动数据”
开关,使4G模块尝试入网运营商网络。若成功入网,则通过命令“timeout 10 ping -I ppp0 -c 3 -w 100 8.8.8.8”测试4G网络连通性。若4G网络正常,则表示测试成功,反之表示测试失败。
[0077] wifi模块测试为:通过发送广播的方式打开Android系统的wifi开关,然后调用WifiManager进行扫描,若能扫描到附近的wifi热点,即表示测试成功;
[0078] 蓝牙模块测试为:通过获取Android的BluetoothAdapter打开系统的蓝牙开关,然后调用startDiscovery尝试发现附近的蓝牙设备,若能发现到设备,即表示测试成功;
[0079] SD卡接口及SATA接口测试为:Android设备在插入SD卡或SATA
硬盘时,系统会自动将其挂载到文件系统并生成相应的设备节点。测试这两个接口时,通过查看设备节点是否存在从而判断SD卡接口及SATA接口是否正常;
[0080] 音频输出及输入接口测试为:音频输出测试与麦克风测试为
捆绑测试项目。测试前,测试人员需用3.5mm音频连接音频输出及输入口,使设备输出的音频成为音频输入的音源。测试时,工模测试软件会播放一段预置的语音“HelloRobustel”,然后调用科大讯飞的的语音听写SDK,对音频识别,若识别结果为“HelloRobustel”即表示设备的音频输出及输入接口均正常。
[0081] 温度测试为:通过调用Androidjni接口读取I2C总线上的LM75温度
传感器的值,若值位于-20-85℃范围内,则表示设备温度正常。
[0082] 以太网测试为:测试时,先通过发送广播的方式打开设备的以太网开关。然后通过命令“timeout 10 ping -I ppp0 -c 3 -w 100ip”(ip为mes代理主机ip)测试以太网连通性。若能ping通,则表示测试成功,反之表示测试失败。
[0083] 本发明对于Android设备的各模块、接口测试不分先后顺序,可先后进行,可同时进行。
[0084] 测试完成后将结果通过MES通信模块反馈到MES生产管理软件,测试人员可一目了然的了解测试结果。
[0085] 实施例3
[0086] 一种Android设备生产多模块自动化测试装置,包括MES系统和Android工模测试系统;所述MES系统和Android工模测试系统通信连接;
[0087] 所述Android工模测试系统包括:
[0088] 1、RTC模块测试单元;
[0089] 所述RTC模块测试单元与待测的Android设备通信连接,当所述Android设备上电后,所述RTC模块测试单元用于在RTC模块中写入一预设的时间值,并在X秒后读取RTC模块的即时时间值,同时,读取电容供给给RTC模块的电压高低状态,然后根据即时时间值与预设的时间值的差值以及电容供给给RTC模块的电压值来判断RTC模块是否正常。
[0090] 2、显示接口测试模块,所述显示接口测试模块包括两台显示器、与显示器一一对应的摄像头、图像分析子模块,所述两台显示器分别连接至待测的安卓设备的HDMI接口和LVDS接口;所述图像分析子模块通过摄像头获取同一时刻点的两个显示屏的图像,并判断两个显示屏的图像的相似度,若相似度小于预设阈值,则表示HDMI接口和LVDS接口中至少有一个接口出现故障,显示接口测试不通过,反之,则显示接口测试通过;
[0091] 3、4G模块测试模块:先通过发送广播的方式打开Android设备的“移动数据”开关,使4G模块尝试入网运营商网络。若成功入网,则通过命令“timeout 10 ping -I ppp0 -c 3 -w 100 8.8.8.8”测试4G网络连通性。若4G网络正常,则表示测试成功,反之表示测试失败;
[0092] 4、wifi模块测试模块:通过发送广播的方式打开Android系统的wifi开关,然后调用WifiManager进行扫描,若能扫描到附近的wifi热点,即表示测试成功;
[0093] 5、蓝牙模块测试模块:通过获取Android的BluetoothAdapter打开系统的蓝牙开关,然后调用startDiscovery尝试发现附近的蓝牙设备,若能发现到设备,即表示测试成功;
[0094] 6、以太网测试模块:测试时,先通过发送广播的方式打开设备的以太网开关。然后通过命令“timeout 10 ping -I ppp0 -c 3 -w 100ip”(ip为mes代理主机ip)测试以太网连通性。若能ping通,则表示测试成功,反之表示测试失败;
[0095] 7、SD卡接口测试模块:Android设备在插入SD卡时,系统会自动将其挂载到文件系统并生成相应的设备节点。测试这两个接口时,通过查看设备节点是否存在从而判断SD卡接口是否正常;
[0096] 8、USB接口测试模块;
[0097] 9、SATA接口测试模块:Android设备在SATA硬盘时,系统会自动将其挂载到文件系统并生成相应的设备节点。测试这两个接口时,通过查看设备节点是否存在从而判断SATA接口是否正常;
[0098] 10、温度测试模块:通过调用Androidjni接口读取I2C总线上的LM75温度传感器的值,若值位于-20-85℃范围内,则表示设备温度正常;
[0099] 11、音频输出测试模块;
[0100] 12、麦克风输入测试模块。
[0101] 音频输出测试模块和麦克风输入测试模块的工作捆绑进行,测试前,测试人员需用3.5mm音频连接音频输出及输入口,使设备输出的音频成为音频输入的音源。测试时,工模测试软件会播放一段预置的语音“HelloRobustel”,然后调用科大讯飞的的语音听写SDK,对音频识别,若识别结果为“HelloRobustel”即表示设备的音频输出及输入接口均正常。
[0102] 以上所述的仅为本发明的较佳实施例,凡在本发明的精神和原则范围内所作的任何
修改、等同替换和改进等,均应包含在本发明的保护范围之内。