当前位置: 首页 > news >正文

关于sdk测试,这些你都知道吗?

一、sdk demo的质量

目前,sdk demo是小编测试sdk的主要途径,所以sdk demo的质量会直接影响到我们测试的结果。

首先,作为测试用的demo,通常我们不需要它拥有美观的界面以及完全友好的用户体验,但是一定要真正按照实际使用sdk的方式来对sdk进行调用,这是很重要的,否则测试的重点很容易跑偏。

其次,demo是否可以覆盖sdk在实际使用中会用到的全部功能也很重要,这客观影响到我们的测试覆盖度。

再有,demo的设计是否可以满足测试的需求也很重要,比如,要进行性能和稳定性测试的话,demo是否可以实现自动化批量测试,以及是否可以对结果或日志进行保存这些都需要考虑。

最后,demo本身是否会影响到测试的结果也需要考虑,比如demo本身的一些逻辑存在bug,或者本身存在内存泄漏等稳定性问题。这种问题比较普遍,可能经常遇到,对于我们测试sdk可能会产生较大干扰,同时也会影响到测试进度,需要尽可能地减少。

在某些项目中,sdk demo是由开发侧制作并提供的,开发提测sdk的同时已经准备好了demo。这种情况就需要我们对demo的质量做个预先的评估。小编之前就遇到了由于开发提供的demo质量的问题,未完全覆盖到app的调用逻辑,导致sdk集成到app后出现问题的情况,测试sdk demo的时候完全正常,结果app的测试同学却遇到了问题。双方测试和开发排查、沟通半天,最后才查到是sdk的问题,白白浪费了各方不少的时间。所以,拿到demo以后,先简单测试并与开发就一些调用上的细节进行核对,如果发现有哪些地方不满足我们上述所说的一些条件,我们应该及时提出,由双方共同商讨解决方法后及时修改,避免测试中出现隐患。

二、手机app sdk测试对资源情况的监控

不同于之前的智能硬件sdk测试,所用的系统由公司自己控制,我们可以较为方便地对系统进行操作,比如获取root权限或者在sd卡中执行脚本等等,对手机app所用sdk的测试,我们要在不同的手机上进行测试。不同品牌、不同系统的手机,由于厂商的限制,我们有时很难进行像获取root权限这样的操作,也很难在手机内部运行自定义的简易脚本来做各种事情,因此对资源情况的监控,我们就不能放在手机里来做了。

这种情况,我们使用外部监控的方式来对手机中运行程序的资源情况进行监控。

第一种方式,可以把之前放在设备中执行的脚本稍加修改,变成在外部执行,通过adb命令来获取相应的资源情况。比如在windows系统下,我们可以使用一个超简单的bat脚本来实现:

@echo off:LOOPset /p=%date:~0,10%-%time%> log.logadb -s deviceid shell “top -b -n 1 | grep ‘processname’ | grep -v grep” >> log.logping 127.0.0.1 -n 30 >nulgoto LOOP

获取到的日志:

然后就可以像之前一样使用excel等工具绘制曲线图来观察资源占用的变化情况。

第二种方式,我们可以用一些监控工具来实现对于资源的监控。比如android studio、xcode、perfdog等等。最近小编就经常使用perfdog来进行资源监控,这款腾讯公司开发的监控工具使用简单,并且安卓和IOS系统都可以使用,也支持一台电脑同时监控不同系统的多台设备,省时省力。

但目前该工具还存在一些bug,便捷的同时也建议大家不要过度信任该工具,还是要自己多加尝试、使用和观察来避免踩坑。

三、可联网智能设备sdk通过公司网络进行测试

我们已经测试了多款智能设备相关的sdk,其中有一项测试是需要通过网络向设备发送一些数据来进行测试的,这种情况在一般的wifi环境(密码加密或完全公开)下比较容易实现,但对于像搜狗公司这样的、需要web认证的网络条件下就比较麻烦,因为很多智能设备可能无法使用web认证,无法接入公司的wifi网络。像这种情况,经研究,我们可以通过几种方式来解决,作为小经验分享给大家:

1、使用电脑无线网卡创建热点,设备接入。

这种方式比较适合使用笔记本电脑测试的同学,一般直接用笔记本的无线网卡开启热点后,智能设备连到这个热点上,设置好ip后即可从电脑访问设备。用台式机的同学可能需要自备另外的网卡了。

2、使用无线路由器,双方接入。

这种方式比较高效,只要电脑(无线有线均可)和智能设备都连到路由器的wifi上,电脑即可访问到智能设备(这就相当于另外搭建一个无线网络)。如果还需要访问外网和公司网络,可以将路由器的一个端口用来连接公司有线网络,使用dhcp或静态ip的方式均可。

3、使用无线路由器,设备接入,纯路由方式。

这种方式不要求电脑端接入路由器网络,只需要智能设备接入,但实现起来比较复杂。需保证路由器接入公司网络,不要开启NAT,智能设备ip不和路由器和电脑在同一网段,电脑和路由器在同一网段,电脑端设置路由将设备网段流量转发至路由器ip。以上条件应该缺一不可,因为过于复杂,所以不建议使用。

4、使用无线路由器,设备接入,端口转发方式。

这种方式是小编最终所选用的。因为无需对电脑端做任何操作,不用开热点,不用经历断网更不用设置路由,甚至还可以从机房的服务器进行访问。只需将路由器接入公司网络,然后将智能设备所需提供服务的端口在路由器设置个端口映射/转发(DNAT)即可,需注意TCP/UDP协议是否启用。这样从电脑端直接请求路由器ip上映射出来的端口就可以访问到设备指定的端口了。缺点是,如果需要转发不止一个端口或端口是动态的话,不是很好处理。

小结

本文主要介绍了在sdk测试中可能遇到的一些问题和解决的思路,希望能给大家提供一些参考。当然关于sdk的测试还有很多其他的方法和注意事项,欢迎各位同学一起讨论交流,共同进步~

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

http://www.cnnetsun.cn/news/462386.html

相关文章:

  • 模型元素太多看花眼?,一文掌握VSCode过滤黑科技
  • DockDoor 终极指南:macOS窗口预览与快速切换神器
  • Chrome全页截图终极指南:一键保存完整网页的免费神器
  • 终极免费!一键搞定完整网页长截图解决方案
  • 如何快速掌握Sketch MeaXure:设计师必备的智能标注工具终极指南
  • 仅限内部分享:VSCode云端智能体会话的5个隐藏功能
  • 突破限制!ncmdumpGUI网易云音乐NCM文件完美解密指南
  • 终极Dock增强工具:macOS窗口管理神器完全指南
  • 终极指南:如何免费解锁WeMod专业版完整功能
  • 零门槛搭建Sunshine云游戏服务器:跨设备畅玩PC游戏
  • 终极指南:快速解锁WeMod完整功能的最佳方法
  • 如何快速掌握Balena Etcher:镜像烧录的终极指南
  • AI工程师私藏干货:从零构建企业级RAG知识库,附完整Python代码
  • 3秒识别文件类型?这款文件检测工具让你秒变安全专家
  • KLayout版图设计实战指南:从入门到精通的高效技巧
  • 如何快速查询手机号关联信息:新手完整指南
  • ComfyUI-VideoHelperSuite终极指南:零基础掌握视频工作流处理
  • Sunshine云游戏串流终极指南:打造你的私人游戏天堂
  • 终极WeMod Pro解锁方案:一键获取完整高级功能
  • 如何快速解锁网易云音乐NCM文件:ncmdumpGUI完整使用指南
  • 隐私保护计算技术:联邦学习同态加密的应用前景
  • WeMod专业版解锁:3分钟实现高级功能零门槛获取
  • 数学竞赛党必看:VibeThinker-1.5B在HMMT25上的惊人得分揭秘
  • 游戏串流新选择:如何用Sunshine打造全平台游戏共享体验
  • 如何轻松实现NCM音频解密:ncmdumpGUI完整使用指南
  • 消息队列选型纠结?VibeThinker对比Kafka与RabbitMQ
  • Windows驱动存储管理神器:Driver Store Explorer完全指南
  • 番茄小说下载工具:离线阅读的革命性解决方案
  • KLayout版图设计工具:从入门到精通的完整实战指南
  • VSCode集成Claude后究竟有多强?实测10大开发场景效率对比