智能硬件sdk测试初探

2020/03/27 08:00
阅读数 114


      近期公司推出了某款智能录音笔,需要对录音笔笔端一些应用的sdk进行测试。因为之前对关于sdk测试的了解并不是很多,所以在本次测试中边测试、边了解、边学习,总结了一些过程和方法,在这里和大家交流分享一下。



一、安装adb工具

     录音笔产品使用的是android系统开发的固件,因此对录音笔sdk的测试就离不开android测试与开发中的常用工具——adb工具。

      经过了解,安装adb工具的方法主要有两种:

        1、通过安装Android Studio进行安装
        2、下载独立的工具包


     安装Android Studio比较适合开发同学和android端的测试同学,在安装adb工具的同时也完整安装了一套android的开发、debug环境。但如果只需用到adb工具的话,更推荐第二种方式,这种方式更为便捷、高效。用第二种方式配置adb工具,我们只需下载一个1M大小的工具包

      https://adbshell.com/upload/adb.zip

      解压后将解压目录配置到环境变量即可,整个过程1-2分钟即可完成。装配置好adb工具后,我们可以打开命令行窗口验证一下

      现这样的提示就说明安装成功了。


二、基本测试方法

      录音笔sdk提测后,以demo的形式进行测试,根据不同的需求,demo有两种形式:

1、命令行式,测试时完全通过adb shell命令的形式调用demo进行测试;
2、界面式,测试时可在屏幕上显示界面,通过在界面上操作来进行测试。

      对于第一种命令行式的demo测试,我们需要先通过adb shell进入到录音笔环境,并通过一些命令行参数调用demo进行测试。这种demo的使用方式与常见的命令行工具十分类似,测试时主要关注命令行输出的内容和保存的日志文件等。

      第二种界面式的demo,测试方法更接近于app的测试。我们需要利用界面进行交互的方式来完成对sdk功能的测试。这种demo测试的方式比较直观,一般对于功能测试来说非常方便。


三、稳定性测试方法

      sdk测试中除了基本的功能、效果等测试以外,我们还需要关注性能、稳定性等。目前对于app的性能测试,业界已经有一些比较便捷的测试工具和方法,如Perfdog、iTest、GT等,也有不少使用教程,在此不做详细介绍了。本文主要介绍使用最基本的方法来进行稳定性测试,和一些注意事项。

      稳定性测试中,我们会重点关注几个方面,结果、是否出现崩溃、资源占用情况。对于结果的判断,一般demo会提供结果保存功能,我们可以分析保存的结果来进行判断;对于是否出现崩溃是最容易看到的,而出现崩溃以后,通常需要保存日志来供查看,这时可以利用adb logcat功能来保存日志,而日志有时比较多,我们可以通过包名、进程号等来进行筛选,比如:    

adb logcat | findstr "XXX"

       这样就可以获取和XXX相关的日志了,一些错误信息便一目了然。

      对于资源占用情况的分析,我们可以使用procrank命令监控内存,top命令监控cpu,并通过脚本的方式来获取。将记录的信息拼接在一起后,每隔一段时间记录一次,例如

while truedoecho `date`" "`procrank | grep long_asr | cut -c 8-42`" "`top -n 1 | grep './long_asr' | grep -v grep | cut -c 38-41` >> /sdcard/memory_monitor/long_asr/long_asr_memory.logsleep 10sdone

       将上述脚本放入录音笔中以nohup的方式执行,就可以持续监控这个进程的资源占用了。

       最后将记录的数据从设备取出,可以利用excel等工具绘制出内存、cpu曲线。

       

      另外对于界面形式的demo,有时需要一些自动化的操作,比如实现自动点击。这里我们同样可以利用一些adb命令来实现,例如我想每隔一定时间,在屏幕的指定位置点击一下,那么就可以用下面的脚本(bat)实现。

@echo offset i=1:CLICKecho click %i%...

::此处数字500 500表示需要点击的屏幕坐标,可根据需求自行更改adb shell input tap 500 500echo stop %i%...ping 127.0.0.1 -n 5adb shell input tap 500 500echo start %i%...

::此处数字600表示延时600秒,可根据需求自行更改ping 127.0.0.1 -n 600 >nulset /a i=i+1goto CLICK


四、测试中遇到的问题及解决方法

        

1、录音笔连接后adb devices列表中没有。

解决方法:这种情况一般是由于笔端没有开启adb调试功能造成,使用相应的方法开启adb调试即可(一般是隐藏的选项,必要时需要咨询开发人员)

2、录音笔无法root,部分sdk demo无法安装使用。

解决方法:重新刷开发提供的debug版本固件,即可通过adb root命令获取root权限。

3、录音笔是定制固件,界面上不显示应用图标,安装好的demo无法启动。

解决方法:使用adb命令来启动应用,这里需要知道包名和Activity名
adb shell am start -n 包名/Activity名
同样也可以通过adb命令来关闭应用
adb shell am force-stop 包名

4、adb自动点击脚本中的坐标与实际点击时获取的宽高值不同。

解决方法:这是因为屏幕的分辨率与event里面的宽高不一致造成的,需要计算一下比例来获取真实的坐标。可以参考以下文章来计算:
https://blog.csdn.net/wave_1102/article/details/41630469


小结

      本文介绍了智能硬件(录音笔)sdk测试中的一些方法和遇到的问题,希望能给大家提供一些参考。当然关于sdk的测试还有很多其他的方法和注意事项,欢迎各位同学一起讨论交流一下~



有任何想说的话,都可以发送内容到“搜狗测试”公众号,我们一起聊聊~

欢迎添加我们的搜狗测试微信号,与我们一起聊聊测试。



本文分享自微信公众号 - 搜狗测试(SogouQA)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部