接口是什么、常见接口类型/协议、常见的 http 状态码、剖析 cookie session、接口相关问题
1、接口是什么?=====传递数据的通道
- 接口测试:是测试系统组件间接口的一种测试
- 接口主要包括:同一个系统中模块与模块间的接口/前端后端接口,另一个是跨系统平台与平台间的对接。(内部接口、外部接口)
2、常见接口类型/协议:
- HTTP 类型/协议:
- 通过GET或POST来获取数据,在数据处理上效率比较高 == 概念
- Webservice 类型/协议:
- 通过soap协议来获取数据,比起 http 来说能处理更加复杂的数据类型。本质上也是 http 协议。
3、常见的 http 状态码
- 200 OK
- 请求正常处理完毕
- 204 No Content
- 请求成功处理,没有实体的主体返回
- 206 Partial Content
- GET范围请求已成功处理
- 301 Moved Permanently
- 永久重定向,资源已永久分配新URI
- 302 Found
- 临时重定向,资源已临时分配新URI
- 303 See Other
- 临时重定向,期望使用GET定向获取
- 304 Not Modified
- 发送的附带条件请求未满足
- 307 Temporary Redirect
- 临时重定向,POST不会变成GET
- 400 Bad Request
- 请求报文语法错误或参数错误
- 401 Unauthorized
- 需要通过HTTP认证,或认证失败
- 403 Forbidden
- 请求资源被拒绝
- 404 Not Found
- 无法找到请求资源(服务器无理由拒绝)
- 500 Internal Server Error
- 服务器故障或Web应用故障
- 503 Service Unavailable
- 服务器超负载或停机维护
分享:https://blog.csdn.net/qq_32534441/article/details/99745066
4、剖析 cookie session
- cookie: 在客户端存储用户的一 些数据。比如说用户名信息
- session: 在服务器端, 记录用户的请求状态,一般默认时间是30min。
- 会员卡机制。
- session_id会存在 cookie 中,每次请求 cookie 中的所有信息都会传送给服务器,服务器通过 session_ id 来识别是否是同一个用户的请求。不是同一个用户的话,就会要求用户重新登录。
- 为什么会有这种机制?
- 因为http请求是无状态的。
分享:https://www.cnblogs.com/nickjiang/p/9148136.html
5、接口相关问题
1.什么时候要做接口测试?
- 公司有接口测试需求,接收到接口测试任务
2.为什么要做接口测试?
- 开发代码初期,UI 和 web 页面设计还没有到位,提前介入测试更早发现问题,否则底层的一个bug可能会引起外面的8个bug
- 处于接口安全层面考虑,前端进行限制容易绕过,需要同样测试后端的限制;另外测试接口验证数据的加密传输,例如用户密码
3.接口测试原理?
- 模拟客户端向服务器发送请求,服务器接收请求后对相应的请求做处理并向客户端返回响应结果,客户端接收结果的一个过程
4.后端接口测试一遍, 前端也测试-遍,是不是重复测试了?
- 需要测试
5.接口测试属于测试执行哪个阶段?
- 接口属于集成测试
6.接口测试流程/步骤=接口测试怎么做?
- 1、获取接口需求并分析
- 2、编写接口测试用例&评审测试用例
- 3、项目环境部署
- 4、执行测试&工具选用
- 5、提交bug并跟进
- 6、单独需要整理接口测试报告(公司有要求就做)
知识储备:
1、软件测试基础知识:编写用例/设计方法
2、Linux命令
3、tomcat框架
4、数据库知识/观察数据表中的数据流
5、接口概念的掌握
6、工具的掌握:浏览器/插件/Jmeter/soapui原理及具体操作步骤
7、分析能力:需求业务/日志分析
7.获取接口需求并分析
1、获取接口需求?
- 开发提供接口文档
- 通过抓包工具 fiddler 或 F12 获取,并找开发确认
2、分析接口内容?
例如:登录接口(login)我们从一下方面分析
- 业务描述:输入正确的手机号及对应的密码,返回登录成功
- 接口名称: /member/ login
- 请求方法: GET/ POST
- POST请求格式:applicat ion/x-www- formrur lencoded
- 响应格式: application/json
- 请求参数:必填项、非必填
- 结果说明:结果和返回状态码
8.如何编写接口测试用例?
- 接口的正常调用。就是输入正常的参数值,检查接口返回的响应结果信息跟接口文档预期一致,包括status、code等。
- 接口的异常验证。包括长度、类型、必填等异常,同步考虑边界值。假如传递数据的类型错误时是否可以处理。例如id是支持整数,传递的是小数或字符串呢?且传递的参数足够大或为负数时,接口是否可以正常处理。
- 业务规则验证。支付接口中必须是余额充足才能支付,还有比如说订单状态非待支付不能支付。
- 接口的安全性验证。对于用户的敏感信息(密码、身份证号)进行加密。如果是外部接口的话,这点尤为重要。-----看有无其他要求,用户加密
- 接口的性能验证。接口处理数据的时间也是测试的一个方法。牵扯到内部就是算法与代码的优化。会借助压力测试工具比如loadrunner完成 ----响应时间多与少10s,易用性----有无项目要求
9.接口测试用例包括?
- 测试用例包括:序号,接口模块、请求方式、接口地址、用例标题、测试步骤及输入、期望结果(服务器的返回结果、数据库、日志(可不写))、实际结果、备注
10.接口测试的重点?
- 返回结果
- 数据库
- 错误日志
总结:如果接口出现服务器异常,排除是不是测试环境造成的,如果是,解决,如果不是,统统就是bug
*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/,谢谢!!*******
本文仅供参考;如果这篇文件对你有所帮助,麻烦动动发财的小手,推荐一波支持下万分感谢
*******请大家尊重原创,如要转载,请注明出处:作者:守护@往昔;转载自:https://www.cnblogs.com/shouhu/,谢谢!!*******