Android SDK Web 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的话,最好多找几个浏览器和不同浏览器版本多做一下自由测试。
4、反复测试:
有些静态变量,在退出后没有初始化,可能会导致一些问题。比如之前测webSDK,登录退出登录退出后,请求的地址就变成 http://xxx/Login/Login,原因就是在登录的时候,请求的地址就是url=url+/Login。退出后,没有对url初始化,所以多次登录后,url后面就会有很多/Login
5、注意用例的大小写以及特殊符号的中英文:比如之前有个同事搜索用户昵称接口,用户昵称包含英文的(,但是他的入参为中文的(,搜了半天没搜到,还以为是开发的问题呢。还要后来自己发现了,不然找开发的话,开发会不高兴了。
6、考虑全面:比如测试QQ的历史消息,不要觉得,发送一条消息然后能获取到就行了。其实我们应该想好历史消息的类型,如(文本、表情(ios的表情等等)、图片、语音、文件 等等)消息类型必须全面。其次,应该考虑QQ的客户端,看一下web端、android端、ios端、windows客户端 等等 发送的消息是否没个端都能获取历史消息。然后再细测 历史消息的时间昵称这些是否正确、以及图片是否能打开 保存的文件地址是否正确。还有一些特殊的场景,比如改QQ名称前的历史消息和改名以后的历史消 。还有其他的等等 就靠大家多想啦。
目前问题总结
- 边界值。比如用户名的最大长度为50的情况下:不能创建会议、不能收到离线消息、等等
- 特殊字符:用户昵称含特殊字符不能收到短信。发短信借口,短信内容为特殊字符,会收不到短信以及短信内容为空。
- 错误提示不正确。
Android SDK Web SDK 接口测试总结的更多相关文章
- 新年上新!极光认证 Web SDK 首版上线
新年伊始,极光开发者服务也抢先为各位开发者朋友带来了"新年大礼包",几款明星产品都悉数有不少更新: 极光认证 Web SDK 版本上线 相信不少小伙伴早已熟知极光认证这款产品,3秒 ...
- 大叔也说Xamarin~Android篇~支付宝SDK的集成
回到目录 首先做为支付宝SDK它提供了多种平台,网页版,wap版,IOS版,android版等等,今天主要说一下在xamarin里使用android平台的sdk的方法,在网上介绍这块的文章不多,大叔本 ...
- Android 百度地图 SDK v3.0.0 (四) 引入离线地图功能
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37758097 一直觉得地图应用支持离线地图很重要啊,我等移动2G屌丝,流量不易, ...
- Android 视频直播 SDK
Android 视频直播 SDK接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1 ...
- Android 视频编辑 SDK
Android 视频编辑 SDK接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1 ...
- Android 百度定位SDK
原文:Android 百度定位SDK 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/shui1025701856/article/details/7 ...
- Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK
原文:Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...
- Android 百度地图 SDK v3.0.0 (四) 离线地图功能介绍
转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/37758097 一直认为地图应用支持离线地图非常重要啊.我等移动2G屌丝,流量不易 ...
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37737213 上篇博客已经实现了地图的定位以及结合了方向传感器用户路痴定位方向, ...
随机推荐
- C和指针 (pointers on C)——第十章:结构和联合(下一个)锻炼
//1.本章只为了刷存在演习.. . typedef struct phone { char * quhao; char * jiaohuantai; char * zhanhaoma; }; typ ...
- 走向DBA[MSSQL篇] 面试官最喜欢的问题 ----索引+C#面试题客串
原文:走向DBA[MSSQL篇] 面试官最喜欢的问题 ----索引+C#面试题客串 对大量数据进行查询时,可以应用到索引技术.索引是一种特殊类型的数据库对象,它保存着数据表中一列或者多列的排序结果,有 ...
- android内置存储器memory和第三方外部存储disk管理
缓存管理这里 http://blog.csdn.net/intbird/article/details/38338713 图片处理在这里 http://blog.csdn.net/intbird/ar ...
- C++ Primer 学习笔记_38_STL实践与分析(12)--集成的应用程序容器:文本查询程序
STL实践与分析 --容器的综合应用:文本查询程序 引言: 本章中最重点的实例.由于不须要用到multiset与multimap的内容.于是将这一小节提到了前面.通过这个实例程序,大师分析问题的智慧, ...
- EasyARM i.mx287学习笔记——minicom配置和使用
0 前言 在windows中有非常多串口调试软件,比如putty. 而ubuntu中也有非常多串口调试软件,当中最简单有用的便是minicom了. 本文说明虚拟机中怎样使用minico ...
- 编程获取linuxservercpu、内存和磁盘使用
proc文件系统简介 /proc文件系统是一个伪文件系统.它是唯一的,其中存储器,如果不采取外部存储空间. 它是文件系统提供了与内核进程进行通信的接口的方法.用程序能够通过/proc得到系统的信息.并 ...
- CentOS7 安装NFS SSH免密码登陆
配置5台虚拟机 ip为192.168.1.160 - 164,使用160作为共享服务器 使用yum安装nfs 以及rpcbind,有很多文章介绍,这里不再赘述 一.启动服务 1.启动rpcbind s ...
- 【年终分享】彩票数据预测算法(一):离散型马尔可夫链模型实现【附C#代码】
原文:[年终分享]彩票数据预测算法(一):离散型马尔可夫链模型实现[附C#代码] 前言:彩票是一个坑,千万不要往里面跳.任何预测彩票的方法都不可能100%,都只能说比你盲目去买要多那么一些机会而已. ...
- OOP 创建对象的7种方式
JavaScript OOP 创建对象的7种方式 我写JS代码,可以说一直都是面向过程的写法,除了一些用来封装数据的对象或者jQuery插件,可以说对原生对象了解的是少之又少.所以我拿着<J ...
- RegisterStartupScript和RegisterClientScriptBlock区别
RegisterStartupScript(key, script) RegisterClientScriptBlock(key, script) 这两个方法的作用都是从前台向后台写脚本,且都接受两个 ...