一、SDK是什么
客户端SDK(Software Development Kit)是为第三方开发者提供的软件工具包。
现实中开发的SDK更多的是Second Development Kit,这类SDK其实就是把每个应用接入相同功能都要做一遍的工作抽离出来,然后提供给别人使用的公共组件。
他最大的价值都是代码复用和降低工作的复杂度、理解成本。
二、SDK测什么
客户端SDK测试,就是对提供给开发者的工具包里面的内容进行测试。因此,测试内容主要有
SDK接口和文档
SDK日志
DEMO或解决方案
SDK附带输出(比如一些UI Kit)
三、SDK测试类型
根据需求和开发平台不同,会有以下常见的测试类型:
【功能测试】
主要是场景覆盖和接口参数覆盖。主要测试各种参数下组合下的返回值。
考虑数据缓存和存储
考虑是否有回调
考虑对请求成功、或失败的处理结果与预期一致
【兼容性测试】
根据产品需求是市场排行,确保兼容选取的设备机型、版本、分辨率等,并兼容其他软件
考虑模拟器的支持
覆盖多平台的,还要考虑多端消息数据包互通
【性能测试】
满足特定的性能指标(CPU、内存、耗电量、流量等)
特定场景性能:比如登录需要同步大量的数据包和离线消息,需要考虑对这些数据包的解析和本地储存的性能
【稳定性测试】
业务场景在一定压力下,持续运行一段时间,接口功能和设备资源占有无异常。
【弱网测试】
对弱网,及其他不同类型网络和不同网络环境,SDK接口均应有较好的处理
对比依据是新老版本、竞品效果
【安全性测试】
隐私数据的保护、访问权限控制、用户服务鉴权等
四、怎么测
对DEMO测试、接口调用测试、单元测试
功能测试前需要全面了解测试对象细节:
了解业务流程。结合API文档和开发指南,理清接口使用场景和调用指南
了解SDK协议。理解协议字段的意义,以及服务器的处理逻辑
了解个接口或协议的返回码,分析对应场景
了解开发细节
对demo或解决方案的测试,和正常的功能测试一致
接口调用自动化回归测试。
核心业务单元测试
五、和API的区别
1、API(应用程序编程接口):是一些预先定义的函数,目前是提供应用程序与开发人员基于某软件或硬件得以方位一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。在java中,API相当于一个别人已经实现了的某个功能的接口。
2、sdk和API的区别:API是一个具体的函数(比如加法函数),已经明确了他的作用,而sdk就像是很多方法的集合(比如计算器)。比如要做加法运算,就要调用计算器SDK的加法API,要做减法就要调用计算器SDK的减法API,无论你想完成什么计算,sdk里总有能实现的方法。