NCE老化测试设计方案0401 V2文档格式.docx
- 文档编号:18768262
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:16
- 大小:404.11KB
NCE老化测试设计方案0401 V2文档格式.docx
《NCE老化测试设计方案0401 V2文档格式.docx》由会员分享,可在线阅读,更多相关《NCE老化测试设计方案0401 V2文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
7、补充指纹老化说明。
8、补充音频环路测试。
9、增加TP检测中开路检测和短路检测如何设计说明;
10、增加验证方案的有效性说明。
2016-04-01
一、目的
通过器件以及系统老化测试,激发产品早期类问题,拦截制程/器件/系统类导致的失效问题,从而降低合作产品的FFR。
因为从华为自研近5000万台的产品失效分析数据来看,前三个月故障占比可达到58.2%,所以对于合作产品来说,能拦截住前三个月的故障,对产品FFR改善会有很大帮助。
二、需求分析
二.1.硬件器件测试
对手机各部分器件进行全面检测,如:
I2C、TP、Receiver、Speaker、LCD、背光灯、LED指示灯、Camera、EMMC、指纹以发现各部分器件早期失效问题。
二.2.软件功能测试
软件功能测试主要是对手机常用的功能(如休眠唤醒、重启、功能开关或关闭等)进行模拟和控制。
其中如重启和功能开关或关闭已在硬件器件测试中体现。
故此处重点描述休眠唤醒操作。
二.3.电路测试
电路测试部分主要涉及到充电电路测试和电路调压测试。
二.4.背景应力测试
背景应力测试主要是通过执行CPU高负载操作来进行升温操作,关闭CPU高负载来进行降温操作。
同时加以马达的震动服务来进行应力构建。
三、APK具体测试流程图
整个老化测试需要重复18轮:
每一轮都会重复“升温(6分钟)——降温(10分钟)——升温(6分钟)——降温(10分钟)”这个操作(暂定其名称为“升降操作”)。
但是,第一轮和最后一轮比较特殊:
第一轮刚开始的时候,在升降操作之前,需要进行50次重启测试;
而在最后一轮的升降操作之后,将开始依次进行Camera、EMMC以及DDR的测试(DDR测试放在最后是有原因的,因为DDR测试需要进入Recovery模式)。
也就是说,除了第一轮和最后一轮测试,其他每一轮只进行升降操作的过程。
升降操作过程中,包括了除重启、Camera、EMMC和DDR测试外的其他所有老化测试项。
流程图:
综合测试的测试流程图:
具体测试项架构图:
四、
概要设计
四.1.测试启动及条件确认
1、确认老化测试环境温度控制在20-28摄氏度,湿度控制在30%-75%
2、通过桌面图标点击进入老化测试启动界面
3、测试前二次弹框确认避免测试人员误操作,因为老化测试一旦启动无法退出
4、确认充电器是否连接完善,避免未连接充电器导致老化过程中电量耗尽
5、读取NV值确认手机老化次数,超过3次就弹框提示并无法继续执行
6、确认MMI测试是否成功
四.2.数据初始化
刚开始测试时,将一些测试所需的数据进行初始化记录,如:
初始化器件检测存储值、老化NV写为F、保存系统初始状态、打开充电log开关、判定老化测试开始前是否存在系统稳定性问题。
在数据初始化过程中出现记录失败的情况,对于这类情况做一下初步失败原因判断,并记录
四.3.电量控制
启动一个service,监听电量变化的广播。
在service启动一个handle,每过10秒监听一次电量变化值,超过10%作为失败。
每次开机后对比上次关机前的电量值,超过10%作为失败。
四.4.重启部分
1、I2C检测
在每个i2c器件的探测函数里面进行判断,如果此i2c器件探测函数执行成功,则判定此i2c器件检测成功。
如该I2C器件检测成功,则在此器件对应的标志位标记为1,否则不处理,默认为0。
蓝牙、Wifi、麦克风、接近光、重力感应、指南针、GPS
2、重启
通过监听"
android.intent.action.BOOT_COMPLETED"
来开机自动调起程序,完成重复重启动作。
每次重启前将剩余重启次数保存在SharedPreferences中,以便下次开机后读取。
对于检测失败的原因做一个大致的判断和记录。
对于重启过程中产生的异常重启做判断并记录时间点。
四.5.循环测试阶段
1、LCD测试
1)首先调用后台测试接口,打开开后台测试项(包括:
PA老化、CPU高负载以及震动三部分)
2)接着,设置一个闹钟,6分钟后,老化apk会收到闹钟广播,从而停止6分钟的升温过程,进入10分钟的降温过程
3)然后,把手机屏幕亮度调成最大.
4)最后,发送消息到消息队列,前2min通过消息处理接口来处理红、蓝、黄、白、黑五幅纯色图片的循环切换操作.(备注:
合作产品暂时不进行LCDGRAM数据检测操作)。
需要通过相应接口来判断图片是否显示正常。
并记录相应的测试结果。
5)然后调用相应的LCD反转接口来对LCD的显示结构进行调整。
6)同时,启动后台的TP检测和音频播放流程。
7)纯色图片切换2min结束后接2min的动、静态2D图切换
8)最后2min为3D旋转测试(OpenGL框架开发的魔方或茶壶)
2、音频老化
音频测试的服务起来之后,依次调用onCreate()和onStartCommand()方法。
1).进入onCreate()方法后,首先调用初始化音频参数接口(包括加载音频文件以及设置3个音视
频相关的监听器),然后,设置闹钟,6分钟后停止音频测试。
2)接着,开始调用onStartCommand()方法。
在该方法中,仅做一件事:
注册闹钟广播接收器。
3)调用相应的播放接口启动音频播放。
4)音频播放结束后,进行相应计数来控制音频播放的模式切换(偶数时receiver发声,奇数时speaker发声)。
然后在调用相应的播放接口,继续播放音频,形成循环播放的效果。
3、TP检测
TP测试包含开路测试和短路测试。
开路测试通过读取每个通断容值来跟预设的阈值进行比较,如果超出阈值范围,认为TP存在断路情况。
短路测试主要通过读取寄存器的状态来判断TP是不是存在短路情况。
以上两种情况只要由一种或者一种以上情况发生,则认为TP不良。
1)根据节点状态,判断TP类型,创建相应的对象实例接口
2)查询TP检查结果接口
查询TP检查结果,如果为fail,更新相应的失败次数
3)读取节点文件中的内容接口
4)获取测试结果接口
根据读取节点文件中的内容,判断测试结果,并设置测试结果,生成结果描述字符串。
4、综合测试
1.打开器件;
2.检查器件是否打开;
3.显示检测结果;
4.保存结果;
5.释放占用的硬件资源、完成当前Activity等相关活动。
5、speaker音频环路测试
通过speaker播放铃声,mic录音组成一个环路,自判定speaker和mic的通路是否正常;
开启一个mediaplayer和一个record,启动一个handle,通过postDelayed消息,每次获取record得到的maxAmplitude,然后取100次平均值,大于1k即pass。
6、视频播放测试
全屏播放视频,开启震动和多线程CPU使用,执行TP测试。
测试过程中不应该有退出或卡死现象
四.6.Camera测试
下述流程描述中,包括了前后Camera、闪光灯、FF/AF类型不同情况判断,然后在log记录系统中进行相应信息的记录和判断。
此项目配置如下:
主摄像头:
13MPAF带闪光灯
副摄像头:
5MPFF不带闪光灯
备注:
SurfaceHolder为android.view.SurfaceHolder,其为显示一个surface的抽象接口,可以控制surface的大小和格式,以及在surface上编辑像素,和监视surface的改变。
四.7.
EMMC擦写测试
测试的整体思路是将int型数据以数据块的形式写入到手机存储器中(EMMC),保存在emmc.txt文件中;
然后再对该文件进行读取操作,并与写入的数据进行比对。
如果写入的数据与读取的数据相同,则判定为测试通过。
这个过程一共需进行50轮,每一轮对11个数据块进行写入、读取和对比操作。
如下为具体流程描述
1)判断手机内置sd卡(内置sd卡其实就是手机的内置存储器,即手机的硬盘)是否正常在位。
这也是对EMMC检测中的一个重要判断,如果不在位,说明手机自带的内置存储器根本无法使用。
如果不在位,直接结束本测试项。
2)定义0~10共11个字符块,大小分别为512/1K/2K…...512Kbits;
3)依次向EMMC里写入这11个字符块(将int型数据以数据块的形式),并对写入成功过程进行判定.(备注:
可在在手机EMMC中创建emmc.txt文本文件;
文件的具体路径建议为:
mnt/sdcard/emmc.txt。
即在手机硬盘区的根目录下创建的该文件)
4)这11个当做一个循环,写完一个循环后,开始从EMMC里面读出写入的值,并对读出成功与否的过程进行判定;
5)比对写入和读出的值,如果真值不匹配也判定为Fail;
6)上述过程重新循环50次,测试完毕。
四.8.指纹测试
对指纹模组进行5分钟的老化测试,验证器件的一致性。
指纹老化测试包括spi通讯是否正常、中断是否正常、芯片型号检测、指纹采图判断像素点坏点。
设置一个指纹sensor的监听,调用framework的FingerprintSensorTest类中的测试接口,开启关闭指纹器件,获取芯片型号检查通讯是否正常。
启动指纹采集自测试方案,通过代码内部实现采集芯片像素点,自判断是否有坏点。
APP通过接口取值判断并记录测试结果
四.9.DDR模块检测
1、APK写入要测试的参数文件,如DDR要测试多少M(一般每次10MB即可)
2、手机重启,进入HOTA升级模式/界面;
3、进行HOTA升级;
把HOTA升级包(DDR测试可执行文件)写到tmp目录下;
4、用不同算法对DDR写入10M的值,然后读出这些值,比对写入和读出来是否一致;
(这些算法根据不同的DDR而自行决定,主要是要模拟实际用户操作中会采用哪些算法/操作方式来对DDR进行写操作,一般跟具体的DDR芯片相关)
5、如不一致,需要记录这些错误的测试结果
6、HOTA升级后结果写入相关测试临时文件下面
7、APK检测HOTA是否升级成功;
8、记录相应的测试结果
9、手机重启。
四.10.背景应力
1.CPU模块
1.开启多个CPU线程。
(根据不同的核数而定,一般2核或4核对应的线程就可以开多)
2.提高CPU占用率为96%,同时进行死循环运算,并快速的进行图片切换,CPU占用率最终会达到约99%.(其中手机震动同时启动)在这种操作下,5分钟内,CPU背面单板温度可以达到约55度左右。
3.6分钟后停止CPU高负载操作,进行降温过程
4.10分钟后又启动升温过程,如此反复。
2.马达模块
振动方式为:
振2秒停1秒。
longal[]={0,2000L,1000l,2000l,1000l};
vibrator.vibrate(al,0);
在升温的6分钟震动,在降温的10分钟期间停止此模块测试。
四.11.测试结果保存
测试结果以TXT形式保存到persist分区,以byte形式保存。
P表示测试通过,F表示测试失败,U表示未测试。
四.12.电量问题
测试过程中,后台启动一个service每过10秒监听一下电量情况。
当2次电量差距超过10%时判断为异常,当电量小于等于60%时开始充电,当电量大于75%后停止充电。
后台service测试过程中永远存在。
用来保证电量。
四.13.日志分析设计方案
老化测试过程中,测试过程及各项测试结果均会以Log形式被保存到mnt/sdcard/RunningTestII/Log/目录下,测试结束后,可以通过PC端抓取老化测试log工具将Log导出。
Log文件名:
日期时间+Log_runningtest.txt。
其中的日期时间为测试开始时间,每次测试生成一个日志文件。
测试过程以Info等级打印;
测试结果以Debug等级打印,可以搜索关键字“result”找到;
测试失败原因以Error等级打印,可以通过搜索“reason”找到。
五、避免老化残影
1、所有界面隐藏状态栏和导航栏
2、非屏幕测试界面避免白色等高亮度颜色出现在屏幕上
修改前修改后
六、APK有效性验证
1、使用故障机或器件缺损的机器进行有效性验证,如:
无camera/指纹及其他sensor的机器执行老化,相应的测试项应该fail。
2、使用良品进行老化测试,应该全部pass。
七、APK安装与管理
1、提供APK安装工具,APK通过工厂安装手动安装。
安装后APK在data分区可以找到
2、恢复出厂设置可以清除APK及测试log,测试结果保留
3、老化测试过程:
MMI老化MMI2
同时安装APK的工具也可以提供给测试或者售后用来安装老化APK执行测试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NCE老化测试设计方案0401 V2 NCE 老化 测试 设计方案 0401