耗电量自动化测试

发表于:2012-11-22 11:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  4、问题与实现细节

  如何模拟CPU睡眠

  1)手动测试耗电量通过按下power键,等待5秒的方式来使CPU睡眠,测试此时电流是否符合CPU睡眠时的电流,由此可以判断CPU是否处于睡眠状态。

  2)如何用程序模拟CPU睡眠?我们知道,CPU处于睡眠状态,程序无法运行,即如何通过程序在CPU睡眠之后,到达一定时间后,将其唤醒。

  解决方案:

  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)设备无法自行生成测试报告

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • djmlijun
    2012-11-22 14:52:35

    还有许多人工操作在里边,而且稍有不甚,就可能整个测试失败。
    这个测试的目的比较好,但方法仍待改进。

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号