软件测试面试准备 接口测试 第六天

get和post的区别?

getpost
请求的参数位置url请求体
缓存可以被浏览器缓存不能被缓存
参数长度url的长度是受限的长度不受限制
安全性请求参数在url里面,安全性较差请求参数在body里面,安全性较好
访问方式直接通过浏览器访问,支持刷新和后退不能直接通过浏览器访问,刷新后数据要重新发送

http和https的区别?

httphttps
http信息明文传输具有安全性的加密传输
http标准端口80443
http证书无需证书需要认证证书

有哪些HTTP状态码、以及代表什么意思?

200正常
307重定向,服务器要求客户端重新请求一个新的URL
401未授权,需要身份认证
403服务端禁止访问
404请求的资源未找到,比如url写错了,页面被删除了
405请求方法不允许,比如服务端的post类型,客户端使用get方式请求
5xx服务端内部问题

常见的Http请求头?

Host目标域名或ip
Content-Length请求数据长度
Accept客户端希望接受的数据类型,*/*代表所有类型
User-Agent客户端使用什么工具去访问(浏览器)
Content-Type请求body中数据的类型,常用的:x-www-forn-urlencoded代表单页面application/json代表是json字符串
Cookie请求中携带的cookie信息

为什么要做接口测试

  1. 在公司里,客户端和服务端通常是由不同的团队开发的,在项目开发过程中,客户端和服务端开发的进度不一致,比如服务端先开发完了,这个时候可以先对服务端进行接口测试确保服务端逻辑和返回数据是正确的然后再测试客户端,另外某些测试部门,专门测试服务端开发团队,因此,他们的测试对象就是接口
  2. 在测试某些业务时,不能仅仅通过前端来测试,比如用户注册,前端限制了用户名不能为空,但是有些人可能通过工具绕过前端直接调用服务端接口,如果服务端没有被相关的逻辑判断,就会造成数据错误,包括接口数据传输过程是否对关键信息加密等,所以必须针对服务端接口单独做测试
  3. 在开发提测后,可以先通过工具把服务端的接口测试跑一遍,确保接口测试用例都是通过的,快速判断服务端接口是否符合预期,然后再通过UI界面进行测试,否则接口有bug,前端必定有bug

接口测试什么时候介入?

        当服务端接口开发完成,开发提测后,就可以开始介入接口测试,根据接口测试用例编写脚步,然后执行测试就行

接口测试用例的编写要点有哪些?

  1. 入参,包括参数合法性、参数校验、参数边界、参数为空、缺少参数等
  2. 返回值,包括各种情况下的响应内容是否正常
  3. 接口业务逻辑和功能是否正常
  4. 数据库校验
  5. 性能测试(接口tps、响应时间等)
  6. 安全性,敏感信息加密、权限控制等

怎么测试接口的?

  1. 先了解接口的业务功能、入参出参以及接口对应的数据库存储
  2. 再依据接口测试用例设计方法完成接口测试用例的设计
  3. 最后依据测试用例使用接口测试工具完成接口测试,并在测试过程中通过查看响应数据确保接口测试结果的正确性

接口测试流程?

        接口测试流程大体和功能测试流程一样(区别在于多了接口文档,使用工具执行测试)

  1. 分析需求文档和接口文档(URL、入参、返回值等)
  2. 制定测试计划
  3. 根据需求文档编写接口测试用例
  4. 测试用例评审
  5. 根据用例,使用接口测试工具执行测试
  6. 提交bug,回归测试
  7. 预生产环境测试
  8. 输出接口测试报告
  9. 上线

接口测试有没有测试出什么问题?

        接口测试中发现的bug,大多数都是参数校验、代码逻辑、边界条件、数据错误方面的问题

  1.  比如,新增促销活动接口,满减金额为空也能保存成功,原因是后端代码没有对满减金额参数做空值判断
  2. 比如,活动列表接口,查询出来的活动数据少了第一条,原因是SQL中的limit条件传入起始序号是1而不是0,更新活动接口,接口提示更新成功,但是数据库中的update_time字段没有更新成最新时间,原因是开发忘记更新这个字段

接口请求不通(或页面无法访问)该如何排查试?

         请求不通,可能是原因:

  1. ip或者端口号或者url写错
  2. 客户端和服务端网络不通
  3. 服务端项目根本没有部署起来
  4. 服务器的防火墙拦截了
  5. 服务端程序内部发生了错误
  6. 没有访问权限(比如缺乏token、cookie之类)
  7. 客户端设置了网络代理如果是浏览器访问,是不是绑定了错误的hosts

接口测试中的加密参数如何处理?

  1. 先了解接口使用的加密方法(md5、rsa...)
  2. 检查接口测试工具是否支持这种加密方法,如果支持的话,直接使用对应功能就行(比如Jmeter支持md5);如果加密方式是公司内部特有的算法,可以直接在接口测试工具中调用公司的加密算法代码来实现加密

接口自动化优缺点?

优点:

  1. 提高回归测试效率
  2. 开发提测时,先跑下接口自动化脚本,提前发现功能bug

缺点:

  1. 需要提前写脚本,有一定的维护成本
  2. 不能覆盖所有的测试用例和所有场景
  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值