接口是什么、常见接口类型/协议、常见的 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.如何编写接口测试用例?

  1. 接口的正常调用。就是输入正常的参数值,检查接口返回的响应结果信息跟接口文档预期一致,包括status、code等。
  2. 接口的异常验证。包括长度、类型、必填等异常,同步考虑边界值。假如传递数据的类型错误时是否可以处理。例如id是支持整数,传递的是小数或字符串呢?且传递的参数足够大或为负数时,接口是否可以正常处理。
  3. 业务规则验证。支付接口中必须是余额充足才能支付,还有比如说订单状态非待支付不能支付。
  4. 接口的安全性验证。对于用户的敏感信息(密码、身份证号)进行加密。如果是外部接口的话,这点尤为重要。-----看有无其他要求,用户加密
  5. 接口的性能验证。接口处理数据的时间也是测试的一个方法。牵扯到内部就是算法与代码的优化。会借助压力测试工具比如loadrunner完成 ----响应时间多与少10s,易用性----有无项目要求

9.接口测试用例包括?

  • 测试用例包括:序号,接口模块、请求方式、接口地址、用例标题、测试步骤及输入、期望结果(服务器的返回结果、数据库、日志(可不写))、实际结果、备注

10.接口测试的重点?

  • 返回结果
  • 数据库
  • 错误日志

 总结:如果接口出现服务器异常,排除是不是测试环境造成的,如果是,解决,如果不是,统统就是bug

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/,谢谢!!******* 

原文地址:https://www.cnblogs.com/shouhu/p/12495357.html