智能硬件sdk测试初探

2020-04-01 10:42:19 浏览数 (1)

近期公司推出了某款智能录音笔,需要对录音笔笔端一些应用的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功能来保存日志,而日志有时比较多,我们可以通过包名、进程号等来进行筛选,比如:

代码语言:javascript复制
adb logcat | findstr "XXX"

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

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

代码语言:javascript复制
while true
do
echo `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.log
sleep 10s
done

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

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

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

代码语言:javascript复制
@echo off
set i=1
:CLICK
echo click %i%...


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


::此处数字600表示延时600秒,可根据需求自行更改
ping 127.0.0.1 -n 600 >nul
set /a i=i 1
goto 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的测试还有很多其他的方法和注意事项,欢迎各位同学一起讨论交流一下~

0 人点赞