SDK(software development kit),中文意思就是“软件开发工具包”。是指由第三方服务商提供的实现软件产品某项功能的工具包。一般以集合API和文档、范例、工具的形式出现。

通常SDK是由专业性质的公司提供专业服务的集合,比如提供安卓开发工具、或者基于硬件开发的服务等。也有针对某项软件功能的SDK,如推送技术、图像识别技术、移动支付技术等,同时资源优势类的公司也提供资源共享的SDK,如一些广告SDK提供盈利渠道,分发SDK提供产品下载渠道。

随着国内互联网环境的大发展,大部分的SDK都是免费的 但已经有一部分功能性SDK已经被当做一个产品来运营,这依赖于人们开发互联网产品理念的变化和云计算技术的发展。开发者不再需要对产品每个功能进行开发,选择合适、稳定的SDK服务并花费很少的精力即可在产品中集成某项功能。

SDK就是一个程序,提供一些方法,调用这些方法,可以实现一些功能。如:调用银行提供的SDK,可以实现在线支付的功能。

目前主要接手的SDK有JS SDK 和android SDK。JS SDK就是给你一个js文件,里面提供一些调用的方法。Android SDK就是提供一个jar包,引用jar包后根据说明文档,调用里面的方法。

SDK怎么测试

  1. 入参和出参:一般SDK说明文档会提供接口的入参和出参,以及入参的类型、是否必填、边界值

是否必选:如果文档里写的参数是必选的,可以用null,“” 写用例

边界值:一般写入操作,都会有他的边界值,这个文档里应该详细有写。如果参数为1-99 int类型。那用例就是 0,1,99,100来写用例。如果参数的类型为string 长度为 1-50,就是长度为0,1,50,51来写用例

引用类型和引用类型:如果参数是引用类型,需要测试null 和“”。如果是值类型可以对正数、负数、0以及最大值最小值。这个看需求。

特殊字符:可以测一下键盘能打出来的特殊字符,如~@#¥%……&*()——+{}P|:"<>?还有中文的特殊字符。

特殊情况:像一些查询类接口,可以针对*%这种通配符写用例

注意出参细节:很多时候,很多出参往往被大家忽视。以为只要有参数就对了。比如发送图片接口,返回的width、height、和大小。这些都可能被忽视,以及返回的图片地址是不是能打开,大小是否正确。以及图片被压缩后是不是符合要求。

注意出参格式:比如有时候客户端和服务端交互的时候是用xml,但是出参的格式是json。有时候开发忘记解析了,就变成xml,所以这也是一个bug。

注意出参的返回顺序:如果出参是一个列表,还要看列表的返回顺序是否正确。

2、不同的场景调用

未登录和已登录

网速不好的情况

如果设计到ip电话,可以测wifi 4G 3G 2G,电话中 wifi切换4G,wifi切换3G 等等

用户被后台删除的情况

不走寻常路,可能会发现意外的bug:比如之前测试加好友/同意/拒绝这三个接口。如果这三个接口分开测,一点问题都没有。但是这个场景(A给B发出加好友申请,A再调用同意接口同意B,然后A和B就互为好友。其实应该B同意A才会互为好友)。

3.兼容性测试:

android SDK的话,最好多找几个不同的手机多做一下自由测试。

web SDK的话,最好多找几个浏览器和不同浏览器版本多做一下自由测试。

5、注意用例的大小写以及特殊符号的中英文:比如之前有个同事搜索用户昵称接口,用户昵称包含英文的(,但是他的入参为中文的(,搜了半天没搜到,还以为是开发的问题呢。还要后来自己发现了,不然找开发的话,开发会不高兴了。

6、考虑全面:比如测试QQ的历史消息,不要觉得,发送一条消息然后能获取到就行了。其实我们应该想好历史消息的类型,如(文本、表情(ios的表情等等)、图片、语音、文件 等等)消息类型必须全面。其次,应该考虑QQ的客户端,看一下web端、android端、ios端、windows客户端 等等 发送的消息是否没个端都能获取历史消息。然后再细测 历史消息的时间昵称这些是否正确、以及图片是否能打开 保存的文件地址是否正确。还有一些特殊的场景,比如改QQ名称前的历史消息和改名以后的历史消 。还有其他的等等 就靠大家多想啦。