智能硬件sdk测试初探

发表于:2020-3-27 11:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:大帆船    来源:搜狗测试

  近期公司推出了某款智能录音笔,需要对录音笔笔端一些应用的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 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)实现。
   @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测试中的一些方法和遇到的问题,希望能给大家提供一些参考。


《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号