关于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的测试还有很多其他的方法和注意事项,欢迎各位同学一起讨论交流,共同进步~

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

  1. 文档获取方式:

  2. 加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值