• 关于接口测试的一些问题


    为什么要做接口测试?

    1.可以发现很多在页面上操作发现不了的bug

    2.检查系统的异常处理能力

    3.检查系统的安全性、稳定性

    4.前端随便变,接口测好了,后端不用变

    5.可以测试并发情况,一个账号,同时(大于2个请求)对最后一个商品下单,或不同账号,对最后一个商品下单

    6.可以修改请求参数,突破前端页面输入限制(如金额)

    接口测试怎么测

    面试题2:平常你是怎么测试接口的?

    • 通过性验证:首先肯定要保证这个接口功能是好使的,也就是正常的通过性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果。
    • 参数组合:现在有一个操作商品的接口,有个字段type,传1的时候代表修改商品,商品id、商品名称、价格有一个是必传的,type传2的时候是删除商品,
    • 商品id是必传的,这样的,就要测参数组合了,type传1的时候,只传商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。
    • 接口安全:
    • 1、绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加?
    • 2、绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功
    • 3、参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则是否容易破解。
    • 4、密码安全规则,密码的复杂程度校验
    • 异常验证:
    •   所谓异常验证,也就是我不按照你接口文档上的要求输入参数,来验证接口对异常情况的校验。比如说必填的参数不填,输入整数类型的,传入字符串类型,长度是10的,传11,总之就是你说怎么来,我就不怎么来,其实也就这三种,必传非必传、参数类型、入参长度。
    • 性能测试
    • 接口并发情况,如上面提到的:一个账号,同时(大于2个请求)对最后一个商品下单,或不同账号,对最后一个商品下单
    • 接口响应时间,响应时间太长了,肯定需要优化,一般都是毫秒级别

         

    没有接口文档如何做接口测试

    面试题5:没有接口文档,如果做接口测试?(这是个送命题)

    没有接口文档,那还能咋办,瞎测呗!一个公司的开发流程里面,如果接口文档都没有,是无法展开接口测试的,你都不知道这个接口干什么的,也不知道具体  每个字段代表什么意思,那还测啥呢?

    --当然,你肯定不能回答面试官不测(心理mmp,脸上笑嘻嘻),接下来就是扯犊子时间
         1.没有接口文档,那就需要先跟开发沟通,然后整理接口文档(本来是开发写的,没办法,为了唬住面试官,先说自己整理了)
         2.没有接口文档,可以抓包看接口请求参数,然后不懂的跟开发沟通

    本题主要靠情商,通俗来说就是忽悠能力,先唬住面试官了再说,进去了也是瞎测测,随时做好背锅的准备

    数据依赖

    面试题6:在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理?

    用一个全局变量来处理依赖的数据,比如登录后返回token,其它接口都需要这个token,那就用全局变量来传token参数

    依赖第三方

    面试题7:依赖于第三方数据的接口如何进行测试?

    这个标准答案是:mock

    接着面试官会问你,如果mock的,然后你就顺着坑继续挖,搭建mock服务,参考这篇【https://www.cnblogs.com/yoyoketang/p/9348552.html】

    抓包

    面试题8:当一个接口出现异常时候,你是如何分析异常的?

    1.抓包,用fiddler工具抓包,或者浏览器上f12,app上的话,那就用fiddler设置代理,去看请求报文和返回报文了
    2.查看后端日志,xhell连上服务器,查看日志

    弱网

    面试题9:如何模拟弱网测试

    fiddler和charles都可以模拟弱网测试,平常说的模拟丢包,也是模拟弱网测试

    分析bug是前端还是后端的

    面试题10:如何分析一个bug是前端还是后端的?

    平常提bug的时候,前端开发和后端开发总是扯皮,不承认是对方的bug
    这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发的数据不对
    请求报文没问题,那就看返回报文,返回的数据不对,那就是后端开发的问题咯

    转至:https://www.cnblogs.com/yoyoketang/p/10144581.html

  • 相关阅读:
    个人网址收集
    使用 TListView 控件(2)
    C# 语法练习(14): 类[六] 事件
    如何在 "万一的 Delphi 博客" 回复自动格式化的着色代码?
    使用 TListView 控件(1)
    C# 语法练习(13): 类[五] 索引器
    使用 TListView 控件(4)
    C# 语法练习(11): 类[三] 构造函数、析构函数、base、this
    C# 语法练习(12): 类[四] 抽象类与抽象成员、密封类与密封成员
    使用 TListView 控件(3)
  • 原文地址:https://www.cnblogs.com/qiqi-yhq/p/11732744.html
Copyright © 2020-2023  润新知