• 欢迎来到论文发表网(www.lunwenchina.cn),我们为您提供专业的论文发表咨询和论文发表辅导!
受“清朗”行动影响,原网站QQ被封,新老作者请联系通过新的QQ:189308598。或者电话微信:15295038855

你的位置:论文发表网 >> 论文库 >> 工学论文 >> 详细内容 在线投稿

Android智能电视开发技巧之提高BUG复现概率的方法

热度0票  浏览117次 时间:2018年6月29日 12:43

摘 要】 解决软件BUG是软件工程师工作的一部分,对于目前越来越复杂的电子产品而言,在开发过程中遇到的BUG不仅数量上有所增加,BUG的复现难度也不断增加,有些BUG需要操作好几个步骤才能复现到,而往往测试人员只能靠记忆来复现BUG。本文提出了一种自动记录测试过程中遥控按键的方法,并且可以自动发送按键,大大提高了BUG复现的概率。

关键词 Android 电视 BUG

本文主要涉及到两个主要的软件模块:按键记录模块、自动发送虚拟按键模块。

按键记录模块:该模块需要以service的形式,添加到Android系统的init.rc文件中,确保开机会自动执行此模块。开机该模块被系统启动后,首先需要保存电视机的当前状态,以便出现问题时,从相同状态开始发送记录的按键,确保起点一致。其次,打开红外的设备节点,例如:"/dev/input/event0"。随后进入监听事件的状态,直到有按键事件的发生。接着读取事件内容并解析,这里需要保存按键的键值、按键的属性(是按下还是弹起)、距离上次按键的间隔、按键按下的时长,数据以文件形式按一定的规则保存到电视内部存储空间,文件形式见表1。最后,再次进入监听事件的状态,具体流程见图1。读取按键键值可以参考以下示例程序。


 

距上次按键间隔        单位:100us

键值

按键名称

按下时长   单位:us

0,

 102

HOME,

290278

27393,

106,

DPAD_RIGHT,

180630

13440,

28,

DPAD_CENTER,

185930

 

 

 

 

 

                             1   按键数据保存形式


测试人员发现随机问题后,如果想要复现问题,可以启动自动发送虚拟按键模块,一步一步还原出问题时的操作。

自动发送虚拟按键模块:首先,将备份的数据恢复到系统,并重启机器。这样机器可以恢复到记录按键前的状态。其次,初始化虚拟输入设备,这里以"/dev/uinput"为例。注册虚拟输入设备的名称、VENDOR_IDPRODUCT_ID、及总线类型。随后,打开按键保存模块记录的文件,并以表1规则依次读取距离上次按键的间隔,并按具体数值作相应的延时,再将解析到的键值及按下按键的时长传递给发送模块。最后,发送模块按照按键的间隔发送按键到虚拟输入设备,具体流程见图2

 

【总结】 本文利用纯软件的方式,解决了测试过程中遇到的随机BUG很难复现的难题,无需投入硬件及人力成本。其创造性在于巧妙的利用了android系统中,红外遥控的驱动及虚拟输入设备驱动,实现了按键的自动记录及自动发送的功能。

 



中国论文网(www.lunwenchina.cn),是一个专门从事期刊推广、论文发表、论文写作指导的机构。本站提供一体化论文发表解决方案:省级论文/国家级论文/核心论文/CN论文。

投稿邮箱:lunwenchina@126.com

在线咨询:189308598(QQ) 

联系电话:15295038855(徐编辑)  

 

上一篇 下一篇
0

联系我们