Android SDK Web SDK 接口测试总结
文章引用地址:http://www.cnblogs.com/milanmi/p/4528031.html
什么是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的话,最好多找几个浏览器和不同浏览器版本多做一下自由测试。
4、反复测试:
有些静态变量,在退出后没有初始化,可能会导致一些问题。比如之前测webSDK,登录退出登录退出后,请求的地址就变成 http://xxx/Login/Login,原因就是在登录的时候,请求的地址就是url=url+/Login。退出后,没有对url初始化,所以多次登录后,url后面就会有很多/Login
5、注意用例的大小写以及特殊符号的中英文:比如之前有个同事搜索用户昵称接口,用户昵称包含英文的(,但是他的入参为中文的(,搜了半天没搜到,还以为是开发的问题呢。还要后来自己发现了,不然找开发的话,开发会不高兴了。
6、考虑全面:比如测试QQ的历史消息,不要觉得,发送一条消息然后能获取到就行了。其实我们应该想好历史消息的类型,如(文本、表情(ios的表情等等)、图片、语音、文件 等等)消息类型必须全面。其次,应该考虑QQ的客户端,看一下web端、android端、ios端、windows客户端 等等 发送的消息是否没个端都能获取历史消息。然后再细测 历史消息的时间昵称这些是否正确、以及图片是否能打开 保存的文件地址是否正确。还有一些特殊的场景,比如改QQ名称前的历史消息和改名以后的历史消 。还有其他的等等 就靠大家多想啦。
-
目前问题总结
- 边界值。比如用户名的最大长度为50的情况下:不能创建会议、不能收到离线消息、等等
- 特殊字符:用户昵称含特殊字符不能收到短信。发短信借口,短信内容为特殊字符,会收不到短信以及短信内容为空。
- 错误提示不正确。