web 服务接口测试
Question
什么是接口
接口的种类和分类
各个接口之间的区别
什么是接口测试
为什么要进行接口测试
接口测试有什么好处
接口测试流程
怎么进行接口测试
接口测试需要用到的工具
Answer
1.接口就是内部模块对模块, 外部系统对其他服务提供的一种可调用或者连接的能力的标准, 就好比usb 接口, 他是系统向外接提供的一种用于物理数据传输的一个接口, 当然仅仅是一个接口是不能进行传输的, 我们还的对这个接口怎么进行传输进行进行一些设置和定义。 开发所谓的接口是模块模块之间的一种连接, 而测试眼中的接口是一种协议(对接口的功能的一种定义)
2.外部接口, 内部接口: 上层服务于下层服务, 同级服务。 常见的接口分类 http: get, post,delete, put
3.通常我们测试的接口分为 get 接口和 post 接口, get 的提交方式是明文提交, 把提交的参数跟在url 后面发送给服务器, 所以不安全, 而且 get 提交的参数是有字符限制的且可以被当做书签保存, 但是post 的提交方式跟 get 完全不一样, post 提交的参数是放在表单里的,所以不会存在字符限制, 而且因为参数是放在表单里, 不容易被看到, 所以会比get 更安全。
4.简单的来说接口测试对于测试来说其实是对接口协议的一种测试, 这个协议指的是为了让这个接口实现某种需要的功能还设计的一种要求。
5.因为不同端(前段, 后端) 的工作进度不一样, 所以我们要针对最开始出来的接口, 以及需要调用其他公司的(银行, 支付宝, 微信,qq 等) 一些接口进行接口测试及验证数据,从安全层面来说, 只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易) , 需要后端同样进行控制, 在这种情况下就需要从接口层面进行验证。 前后端传输、日志打印等信息是否加密传输也是需要验证的, 特别是涉及到用户的隐私信息, 如身份证,银行卡等。
6.接口测试可以节约时间, 缩短项目周期, 提高工作效率(因为接口测试时持续集成的偏向于自动化方便回归) , 提高系统的健壮性。
7.需求讨论, 需求评审, 场景设计, 编写用列, 准备数据, 执行测试
8.通过工具模拟客户端向服务端发送请求并接受服务器返回的数据来对接口的功能, 逻辑业务, 异常, 安全进行测试
功能测试: 测试这个接口的功能是否实现, 并且测试这个接口是否按照接口文档来进行开发的(比如说接口文档规定了一些关键字, 而开大的时候把关键字改成了其他的关键字, 因为在整个项目周期, 并不只有一个开发而是有多个, 所以可能因为在开发过程中因为关键字不一样导致某些开发的功能异常, 还有自动化脚本也会发生异常)逻辑业务, 主要指的是一些逻辑业务依赖关系(比如支付宝提交订单的时候要保证你是在登录的情况下, 如果你没有登录而提交成功了, 这就是异常, 可以修改请求的cookie 来测试)
异常测试: 参数异常: 关键字参数(应用其他的关键字替换进行测试) 、 参数为空、 参数多少(通过添加参数增添个数) , 参数错误。 数据异常: 关键字数据(填入的数据用其他的数据语言的数据替用) 、 数据长度、 数据为空、 数据错误
9.接口测试常用的工具, fiddler 抓取请求, postman 模拟客户端通过对 fiddler 抓取的请求修改并发送到服务端并接收服务器返回的数据及异常来进行验证接口。 工具不是固定的, 需要根据项目来进行选择。
微信+17031115530,拉测试微信群交流