接口认知

由于服务对象不同,接口又可以分为两种,一种是系统或服务的内部接口,一种是外部依赖接口。内部接口简单来说,内部接口就是系统内部调用的接口。
比如你在网上购物时,要先登录系统,然后将商品加入购物车,再接下来支付订单。那么,从添加商品到购物车,再到支付订单,这一长串的流程之间,就是通过系统内部接口来完成的。
外部接口:你在购物后点击付款时,页面会跳转到支付系统,等你完成支付流程后,再跳转回订单页,在这样的流程中,都会涉及系统对外的接口,还有,比如说付款工程的支付接口、配送过程的物流接口等等。
1.接口测试是通过设计输入和预期输出来完成测试验证的,你之前掌握的测试用例设计方法等测试基本功,在这里还是有用武之地的;
2.接口测试是一个技术知识和业务知识相结合的工作,可以更好地提升你自己的技术实力,让那些说我们是“点工”的人早早闭嘴;
3.接口测试也是功能测试,要说有和界面测试不同的地方,仅仅是和我们交互的,不再是开发工程师设计的界面,而是测试工具或者代码。
对于接口测试阶段来说,一个非常理想的接口测试,就是从完美的接口文档开始的。开发工程师在设计和开发接口的过程中,就在不断维护和更新接口文档,这其中包含了每一个接口的访问方式、访问路由、输入参数含义、返回参数含义,以及一个完整的例子。
这种接口文档可能是以 Word 文档形式存在,也有可能是以类似 Swagger 这种工具形式存在
如果开发工程师没有给我们任何有价值的文档,可以通过工具辅助、分析问题、询问解惑这三个步骤来完成。
工作模式:1.借助一些工具的辅助来完成接口分析;(例如Fiddler)
2.通过工具截获一些接口信息;
3.通过分析接口的访问方式、参数等信息整理出一些问题,和研发工程师沟通这些问题,将一些不知道的参数含义、参数取值范围等问题问清楚。
通过Fiddler获取的Request 的消息体---HOST,它表示指定访问的服务器域名;Connection 的值为 keep-alive,这表示需要持久连接;Accept,它表示客户端可以接受的内容类型为 application/json, text/plain, / ;User-Agent,它说明请求是从什么浏览器发出去的;Sec-Fetch-Site 和 Sec-Fetch-Mode,它们是 JS 中对跨域的一些设置;Accept-Encoding 设置为 gzip、deflate、br,这表示可以支持的 Web 服务器返回内容压缩编码类型;Accept-Language,它表示接受的语言
可以自己制作如下表格!

 通过表格中Cookies 的参数找开发进行了解  ---1参数的含义以及来源 (也就是这个参数对应的实际自然语言的名字,通过记录每一个参数的中文语义,也会让更你容易记住这个函数是干什么的。同时,你也要知道这个参数的赋值是从哪里来的,是从其他页面的返回值中得到的?还是 JS 生成的?如果是其他页面或者接口返回的,那么,是哪一个接口返回的哪个字段?)

2.参数的作用域(指的是这个参数在这个接口中是做什么用的,它在哪一个访问周期里是一直存在的,它是否导致了业务逻辑分支等)

3.返回值的含义。针对上面一大串的返回 JSON,你要搞清楚在返回值中,每一个 JSON 的 Key 所对应的含义
要想使用接口测试完成业务逻辑,要制作一个流程中所有接口的接口信息表,同时,还要理清每一个流程的数据流程,数据流程驱动了业务流处理,这样,才能开始业务逻辑的接口测试。

处在这个俗世,也得让自己变得更好吧
原文地址:https://www.cnblogs.com/butaileng7/p/13476235.html