自己总结了一下 SDK 中接口的测试点,希望各位高手予以补充和纠正(下面提到的大部分是有网络请求的接口)
1、全新 sdk
1.1、了解业务流程,确定开放给开发者都有哪些接口
1.2、了解 SDK 用到的所有协议,每个协议中字段的意义和作用以及 server 端处理逻辑
1.3、接口要校验输入参数各种输入情况是否能正确处理,返回值的正确性,是否有数据缓存到本地,检查是否有回调,如果有对于请求成功、请求失败(包括无网络、服务器返回非 200 错误代码)是否都有调用
1.4、测试中对每个请求都应该抓包测试,查看请求的字段、参数值、返回值是否正确
1.5、对于协议中必传字段,SDK 中是否校验为空的情况
1.6、查看是否存在多发、少发请求的情况
1.7、对于异步请求的结果在其他地方(A 类中)会用到的情况,检查是否存在网络较慢情况下,未完成请求数据为空时 A 类就用到数据
2、对于 SDK 更新
2.1、对于增加接口,要确定新增接口对应的协议及各字段的意义
2.2、对于增加接口调用新接口时要进行抓包,确定发送请求的参数、返回值与协议一致
2.3、对于删除、新增接口都应在集成文档中说明
2.4、对于删除、新增接口都应确保对于老接口没有影响
2.5、SDK 更新时,对于有用户数据的情况,要考虑旧 SDK 没有数据,更新新 SDK,新 SDK 是否可以使用;旧 SDK 已有用户数据,更新新 SDK 后旧数据是否存在
3、上线前检查
3.1、头文件注释部分
3.2、增加 API,头文件更新 API
3.3、删除 API,头文件删除 API
3.4、检查包名、版本,测试中 url 是否存在测试用的端口或 url,发布时应改成正式环境
3.5、检查包大小及包的架构检查(ios 如 armv7/armv7s/armv64)
3.6、检查
4、上线后检查
4.1、进行上线回归测试
4.2、检查文档更新
4.3、是否上传至 cocoapods