前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >智能硬件sdk测试初探

智能硬件sdk测试初探

作者头像
用户5521279
发布2020-04-01 10:42:19
1.1K0
发布2020-04-01 10:42:19
举报
文章被收录于专栏:搜狗测试搜狗测试

近期公司推出了某款智能录音笔,需要对录音笔笔端一些应用的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的测试还有很多其他的方法和注意事项,欢迎各位同学一起讨论交流一下~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档