客户端SDK测试是什么?如何测?
目录:导读
去年有在跟进一个SDK项目,主要负责iOS端的SDK测试,研发过程曲折,延期上线,测试工作量巨大。收获挺大的,在此跟大家做一些总结分享下,望你我所遇,皆有收获。
SDK是什么
客户端SDK是为第三方开发者提供的软件开发工具包,包括SDK接口、开发文档和Demo示例等。SDK和应用之间是什么关系呢?以云信即时消息服务为例,如下图所示,应用客户端通过调用云信SDK接口,进行消息等数据查询存储等操作,或通过协议与云信服务器间进行通信。
测什么?
1. 客户端SDK测试的对象
客户端SDK测试,就是对提供给开发者的工具包里面的内容进行测试
因此测试的主要内容有:
-
SDK接口和文档
SDK接口是测试的主要对象,也是核心的内容
-
SDK日志
对开发者来说,SDK接口里面的具体实现是透明的,当上层调用时遇到问题,只能依赖SDK打印的日志来定位分析。所以SDK日志是否完备,是否有助于解决问题,对应用开发者和SDK提供方来说都很重要
-
Demo或行业解决方案
Demo是SDK提供方用来示例如何调用接口实现具体的功能,也可以作为开发者直观感受SDK接入效果。行业解决方案类似Demo,但是,比Demo更加像一个产品,具有比较完整和典型的行业应用场景。可以让行业开发者比较明确知道,接入这个SDK做出来的产品效果如何
-
其他周边
比如UIkit等,可能只是在SDK开发中的附带输出,但对有的开发者来说能极大降低接入成本
2. 客户端SDK接口测试类型
客户端SDK根据需求和开发平台不同,可能需要选择不同的测试类型对SDK接口进行测试
常见的测试类型有:
-
功能测试
保证SDK接口功能正确性和完备性。客户端SDK接口测试跟服务端接口测试类似,包括场景覆盖和接口参数覆盖主要测试各种参数组合下的返回值,考虑数据是否缓存与存储,是否有回调,对于请求成功或失败都能按预期进行处理
-
性能测试
保证SDK接口满足特定的性能需求,比如资源占用、移动设备耗电量等。在云信IM登录的场景,登录时可能收到大量同步数据包和离线消息包,那么对这些数据包的解析以及本地储存的性能就要进行保证,否则可能出现登录响应很慢甚至卡住的问题,所以测试时就需要考虑这个场景的性能
-
<