手机和移动设备的耗电量自动化测试方法
作者:网络转载 发布时间:[ 2013/4/24 9:44:31 ] 推荐标签:
解决方案:
1) 若严格模拟手工测试,保持程序持续运行,CPU无法处于睡眠状态,无法模拟真实的手机待机环境
2) 通过对android源码中闹钟的研究,采用闹钟机制,定时唤醒CPU,从而保证了整个自动化耗电量测试的测试过程中,CPU能够正常睡眠。(真正模拟了手工测试时的环境)
CPU睡眠判断问题
1) 测试用例正常执行的时候,CPU睡眠时,程序停止运行,CPU被定时器唤醒后代码继续执行
2) 测试用例异常执行的时候,所引起的CPU没有正常进入睡眠状态,程序不会停止运行,此时一条测试用例很快执行完毕。
3) 由于CPU没有睡眠,异常执行结果显示fail,测试用例进入下一条继续执行,从而打乱其他测试用例的执行时间,出现一条测试用例fail,后续测试用例全部fail的情况。
解决方案:
1) 通过对CPU睡眠前后的时间的判断来确定当前测试用例运行情况,若此时间符合CPU睡眠后的时间值,则判断用例执行正常
2) 若此时间小于一定的时间值,则可直接判定CPU没有睡眠,程序提前跑到了此时间断点,用例执行失败
3) 针对失败的用例,获取CPU wake_lock,补充睡眠时间,使本来失败的用例运行之间符合成功用例所用时间,从而解除了测试用例之间的耦合
同步问题
1) 耗电量测试,手机供电由测试仪器提供,无法通过USB将手机连接至电脑(USB连接会产生充电效果),故手机无法与PC通信,PC端无法获知测试用例的执行情况
2) 耗电量测量由PC端与电流测试供电器连接,通过供电器测试到的电路结果反馈给PC端,PC端进行相应输出结果,这个过程中,手机和PC无法通过USB连接来通信,导致难以同步。
解决方案:
1) 使用时间戳的方式来同步,对于每一个测试用例设置一个严格的测试时间,
2) 测试用例的测试阶段分为设置环境时间,测试时间及缓冲时间,通过对时间戳的严格把控,实现了无通信状态下的同步。
功耗测试设备连接
1) 设备只提供了简单的操作和记录,无法对测试用例进行自动控制及数据记录。
2) 设备无法自行生成测试报告
解决方案:
1) 通过调用COM组件,获取相应操作的接口,实现对设备的控制
2) 从EXCEL中读取测试需要的测试用例的相关信息,再配置对应的参数,控制设备进行测量,记录,波形保存等
3) 与历史数据进行对比,进行分析并生成报告。
5. 创新点
打通耗电量测试的自动化全流程,形成一套完整的自动化工作流,节省大量的人力成本。目前尚未听说其他公司的耗电量测试有实现自动化。
通过代码,实现了CPU睡眠,唤醒等操作,并且通过对时间的判断,确定case的执行结果是否有效,从而解决了电流测试自动化的难题,真正的做到模拟了手工测试时的环境。
在手机和PC端不同通信的情况下,通过对时间戳的控制,达到了测试CASE运行与PC段耗电量数据记录的准确同步(误差会在每次CASE结束的时候得到纠正,从而使得测试CASE的时间很准确)。
能够在PC端实现对测试结果的记录和分析,将结果保存在EXECL表中,将电流图以时间为名字记录在执行磁盘上,测试结束后可以通过对结果的分析,找到相应的电流图,分析其异常原因,并且能够根据测试结果,与原生android系统的测试结果进行比对,输出测试报告。
整个自动化测试工具简洁可靠,使用方便,学习成本低,能够很快上手,进行测试,测试结果准确。
执行CASE可以根据需求,让用户根据需求,目的,自行选择CASE的组合执行,使得整个测试更加有效率。
6. 应用效果
工具投入日常测试后,每条产品线每周可节约4小时,人工参与量降低为之前的10%以下,极大提高了测试效率。
详细的历史数据方便数据查询,并提供了统计与分析依据。
提升了工具的自动化能力。
通过自动化脚本,使每次测试的环境和步骤严格统一,避免了不同测试人员测试时造成的偏差。
7. 工具QuickStart
1) 搭建测试环境
2) 同时开启手机及PC端测试程序
3) 等待测试完毕自动生成报告

sales@spasvo.com