android盒子自动化测试中的几种方法

android盒子和android手机之间的测试还是有很大的区别的:

比如说,盒子没有触摸屏,操作通过遥控器来完成,很多UI在很多情况下就不考虑clickable的处理效果。盒子没有电池,也就不用去考虑一个系统的耗电究竟要如何来平衡,压力测试,在盒子中,就是老化测试。还有电话,gps(小米的定位功能似乎是通过网络来完成的,但是,试想一下,一个几乎固定不用考虑移动的产品,加了gps功能,那不是等于把目标暴露在公众面前吗?),纵使众多的不同,但是基于android,在功能测试上来说,众多的自动化测试工具,轮番上阵,针对不同的用例,还是能提高效率不少。


目前可以实现的测试功能:

1、有穷的循环测试场景;(一些长稳的工作,和几个对测试场景依赖较少的测试用例可以写在一起,减少测试时间)

2、有需求的复现问题;(比如说突然出现的场景,需要穷举测试去复现问题发生的概率,概率事件可以让机器去做)

3、效能测试

4、安全测试(对于一些特性的对比,或者接口的测试)

5、接口测试(CTS的兼容性测试,几乎都是去测试android系统下的接口是否具备可兼容性)

6、兼容性测试(CTS测试,当然,CTS中的用例,我们还可以自己去修改,去构建不同的测试场景来进行不同的测试)



python、bat脚本的好处:
1、在测试过程中,对于偶然出现的有穷循环测试,可以临时编写测试用例去跑,人工观察,利用关键字去自动分析。
2、简便,快速构造用例,对电脑资源占用较少,实现方便。

3、减少人工的重复性工作量,提高工作效率。

案例:

1、凌晨12点,工厂传来不幸,usb口有读写不出来的概率,研发修改后,提出测试建议(不断插拔,重启,检查挂载情况200遍),神~!这是要了测试的命,虽然我们的精神要求不被穷举测试所污染,但是面对这样的测试要求,又不能不满足,于是我提出了疑问(1、reboot来代替电源线的插拔行不行,2、重启过程中自然会断电,我不拔U盘行不行,3、如果以上满足了,出现问题该怎么处理),研发的回答让我松了一口气(可以reboot,不用插拔,但是如果检测不到U盘,需要在检测不到U盘的时候停留在场景上,让研发来定位问题。),那还不简单,一个脚本搞定,于是,python救了我通宵的命,20分钟搞定问题,回去洗澡睡觉。第二天过来,发现脚本还在跑,跟研发反馈,reboot做了计数,跑了才不多300多次,没问题。后来,后来,这个问题稳妥妥的没有报出来过了。虽说研发解决了,但是QA也要用生命来保障它的可用性,人命有限,电脑常在,脚本就是这么好用。

2、下午快下班,研发说,你们说发现一个恢复出厂会弹出错误框的bug,已经修改,帮忙验证下吧。快下班了,来这种事情,毕竟谁也不愿意,写个脚本吧,出现这个错误研发定位时有keywords吗?给我一个,我跑几百遍。于是乎,拿到keywords,开启自动化初始化,分析日志,哥下班回家了。第二天,看日志反馈,出了bug,不过概率比较明显,有规律可循,结果不是我们的问题,问题转移,这又解决一个问题。



缺点:
1、终端(盒子)必须打开始终可以打开串口。
2、外部环境容易对测试对象造成干扰,造成错误分析。
3、依赖测试环境(python环境,串口、adb环境)


shell脚本的好处:
1、脱离电脑,可以在设备内部运行,减少外部环境对终端造成的干扰
2、可以开机自启动,test case可以构建实现的场景要多一些
3、可以使用正则表达式对数据进行分析,对文件操作简便。(最强大的地方)


缺点:
1、只能单线程运行,多线程还在探索当中。(就是说一条线做脚本,不能同时在输出日志的同时进行动作操作),不过后来,可以让脚本在后台运行,接着,去分析日志,对于正则表达式的linux来说是很nice的一件事情。


monkeyrunner(我觉得不太方便,所以每次都是用直接使用python重写各种方法,虽然繁琐,但是总比语法检查来得愉快):
优点:
1、使用python语法,通俗易懂;
2、集成了很多adb下的类和方法,可以直接套用,不用去重写,比较方便的调用;节省时间;
3、可以多个设备同时运行,对长稳测试很有帮助;

4、可以录制操作当做脚本,这是一个很好的东西;

5、可以操作触屏设备



缺点:
1、类名太长,容易搞混,写出来的用例会比较繁琐,光这些语法上的错误检查,可能就要耗去不少时间;
2、连接上容易出错,不容易连接上盒子,当然,如果使用usb adb去操作的话,这个概率将下降很多;


UiAutomator(针对机顶盒测试的可行性所做的分析):
可以针对某个apk的UI进行可视化操作的自动化测试,但是,针对机顶盒这样的终端,由于操作的方式于手机的不同,手机为触屏,xml文件可以很正常的解析并运用到测试当中;而机顶盒,完全使用遥控器来操作(当然,如果有触摸面板的话,那么就变成了大pad,不排除以后的可能性,但是可以像手机一样去测试),在很多UI当中,没有clickable这个操作,触屏无法使用,也就让测试无法进行。所以这个工具在机顶盒终端的使用范围受到了限制。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值