一、HTTP请求过程:
1、 连接:建立一个socket连接,因为socket是通过IP
+端口
建立的,在这之前会进行DNS解析,将域名解析成对应的ID地址。
2、请求:连接成功后,向服务器发送GET/POST请求。
3、 响应:服务器收到这个请求,进行处理,再将响应数据传送回客户端。
4、关闭连接:响应结束后,客户端与 服务器断开连接,以保证其他客户端与服务器建立连接。
二、如何分析接口
例:产品有一个需求,页面输入用户名、密码登录,在用户信息页面,可以查看用户相关信息。
从服务端开发角度分析: 用户名、密码、设备机型、系统等(用来统计)。
从客户端开发角度分析:用户名、密码、用户ID(第二个需求,用来获取用户信息)
******接口的产出:是服务端和客户端开发共同商讨完成的“接口文档”******
二、接口需求分析
结合需求文档 + 接口文档来进行对照分析:
- 分析出需求文档中所有涉及接口的功能点,并罗列功能点相关业务逻辑
- 分析接口功能点是否包含在接口文档中
- 分析接口文档中描述的实现是否能够满足或者覆盖接口功能点及其业务逻辑
- 是否需要上层服务支持,服务端是否已提交数据需求
建议先于服务端达成一致:
- 需求宣讲完成后,优先产出接口文档(便于测试同学进行接口分析)
- 接口文档与客户端先行确认,再进行接口开发(预防后续返工)
- 服务端提供接口开发排期表(方便进行测试排期)
三、接口测试关注点
- 响应结构
- 数据来源
- 数据格式
- 数据正确性
- 业务逻辑
四、接口测试-用例设计参数
- 请求参数必选、选填(例:参数缺失服务端是否正常解析)
- 输入合法、非法参数(例:服务端只接收int类型,传递了string类型)
- 请求参数边界值(例:存储长度10位,传参大于10位,接口是否处理)
- 请求参数逻辑分支(例:type=1:查询北京,type=2:查询天津)
- 与服务端是否存在附加协议(例:交互过程中服务端需要验证head中的数据; 或者是否有加密协议)
五、接口测试-用例设计结果验证
- 异常请求处理
- 请求头协议
- 响应结构
- 所有value值的正确性、有效性
- 数据库交互是否生效(数据库存储、修改数据是否成功)
- 列表排序(后台处理排序逻辑)
- 分页属性
- 存在业务关联的是否生效
六、用例管理与维护
- 功能测试: excel、思维导图
- 自动化测试:脚本