二、接口测试知识点总结

1.什么是接口测试?

  • 接口测试:是测试系统组件间接口的一种测试方法
  • 接口测试的重点:检查数据的交换,数据传递的正确性,以及接口间的逻辑依赖关系
  • 接口测试的意义:在软件开发的同时实现并行测试,减少页面层测试的深度,缩短整个项目的测试周期

2.接口自动化测试的流程?

基本的接口功能自动化测试流程为:需求分析-->用例设计-->脚本开发-->测试执行-->结果分析

3.GET请求和POST请求区别是什么?

  • GET请求:用于信息获取,相对而言是安全和幂等的;在做数据查询时,建议用GET方式,如:商品信息接口、搜索接口、博客访客接口...
  • POST请求:表示可能会修改服务器上资源的请求;在做数据添加、修改时,建议用POST方式。如:上传图片接口、登录注册接口...

误区:
“GET是从服务器上获取数据,POST是向服务器传送数据”(该说法有误)
解析:
GET/POST都可以提交数据,GET请求也可以向服务器传递数据,POST请求也需要服务器返回数据

4.接口测试的常用工具有哪些?

Postman、JMeter、SoapUI、Poster、RESTClient、WireMock

5.HTTP接口的请求参数类型有哪些?

  • 查询字符串参数(Query String Parameters参数)一般用于GET请求,会以url string的形式进行传递
  • 请求体参数(Request Body)一般用于POST请求,可以使用Content-Type来指定不同参数类型

6.如何从上一个接口获取相关的响应数据传递到下一个接口?

先从上一个接口中的响应数据获取对应的返回值,然后使用正则表达式or使用JSON解析来提取需要获取的值,然后存储在一个变量中,最后在下一个接口中直接引用该变量即可

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

1)必填字段:请求参数必填项、可选项
2)合法性:输入输出合法、非法参数
3)边界:请求参数边界值等
4)容错能力:大容量数据、频繁请求、重复请求(如:订单)、异常网络等的处理
5)响应数据校验:断言、数据提取传递到下一级接口...
6)逻辑校验:如两个请求的接口有严格的先后顺序,需要测试调转顺序的情况
7)性能:对接口模拟并发测试,逐步加压,分析瓶颈点
8)安全性:构造恶意的字符请求,如:SQL注入、XSS、敏感信息、业务逻辑(如:跳过某些关键步骤;未经验证操纵敏感数据)

8.接口测试的步骤有哪些?

1)发送接口请求
2)测试接口获取返回值
3)断言:判断实际结果是否符合预期

9.接口测试中依赖登录状态的接口如何测试?

依赖登最状态的接口,本质上是在每次发送请求时需要带上存储有账户有效信息的Session或Cookie才能发送成功,在构建POST请求时添加必要的Session或Cookie

10.依赖于第三方数据的接口如何进行测试?

可以利用一些MOCK工具(如:JSON Server、Easy Mock)来模拟第三方的数据返回,最大限度的降低对第三方数据接口的依

11.当一个接口出现异常时候,你是如何分析异常的?

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

12. 如何模拟弱网测试

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

13.如何分析一个bug是前端还是后端的?

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

14.cookie和session的区别

(1)cookie数据存放在客户的浏览器上,session数据放在服务器上。

(2)cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。

(3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用cookie

(4)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

(5)可以将登陆信息等重要信息存放为session;其他信息需要保存,可以放在cookie。

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

答:在工具中可以使用全局变量等方式将需要的数据进行传送

16.依赖第三方数据的接口如何进行测试?

答:可以使用SoapUI等工具直接调用第三方数据接口的webservice,通过返回值来查看第三方数据的接口是否调用正常

也可以利用一些MOCK的工具来模拟第三方的数据返回,最大限度的降低对第三方数据接口的依赖

17.  接口测试中,依赖登录状态的接口如何测试?

答:依赖登录状态的接口的本质上是在每次发送请求时需要带上session或者cookie才能发送成功,在构建POST请求时添加必要的session或者cookie

18.什么是API?

API是(Application Programming Interface)首字母缩略词,即应用程序编程接口。 API是一组用于构建软件应用程序的规程,协议和工具。API充当软件应用程序之间的接口,并允许两个软件应用程序相互通信。 API是一组软件功能,可以由其他软件执行.

19.列举一些最常用的HTTP方法?

GET:从服务器检索数据

POST:将数据添加到服务器中的现有文件或资源

PUT:它允许您替换服务器中的现有文件或资源

DELETE:它允许您从服务器中删除数据

PATCH:用于对资源进行部分修改

选项:用于描述目标资源的通信选项

HEAD:它要求响应与GET请求相同,但没有响应正文

20.接口测试能发现哪些问题,你平常做接口测试的过程中发现过哪些bug?

这个问题其实回到起来很简单,只要做过接口测试的,总能发现几个BUG吧,把你平常发现的bug说2-3个就可以了。

面试官出这个题,主要是想知道你是不是真的做过接口测试,毕竟现在很多小伙伴简历都是写的假的(你要不写估计面试机会都没有,没办法,为了生存,能理解)

比如上面说的,提现输入框,在页面上输入负数,肯定是无法提交过去(前端页面会判断金额),如果我不走前端,直接用接口工具发请求,输入一个负数过去。

(假设服务端没做提现金额数据判断)

余额=当前余额(100)-提现金额(-100),那么提现-100,余额就变成200了,也就是越提现,余额越大了.

21.对于接口测试中产生的垃圾数据如何处理?对于不可逆操作,比如删除订单,如何保证数据可用性?

这个问题考察的是你,能否在接口测试过程中动态的去处理测试数据。具体来说就是:在需要测试数据的时候,能够自动生成。在测试完毕后,能清除测试过程产生的垃圾数据(尤其对于生成环境)。

接口的请求数据,很多都是需要依赖前面一个状态的 比如工作流这种,流向不同的人状态不一样,操作权限不一样,测试的时候,每种状态都要测到,就需要自己会造数据了。 平常手工测试造数据,直接在数据库改字段状态。那么自动化也是一样,造数据可以用python连数据库做增删改查的操作。如果没有数据库的直接操作权限,可以间接的调用其他接口(比如下单接口)生成数据。在自动化测试中测试用例前置操作,setUp做数据准备。

对于垃圾数据的处理,和上面说到的生成数据的方式一样,调用相关接口(比如删除订单接口)或直接链接数据库进行数据删除。在自动化测试中使用后置操作,tearDown做数据清理。对于非生产环境,如果不想造成数据污染也可以切换影子数据库或者使用mock服务,不真实生成数据。

22.说一说你所知道的接口安全测试?

安全这个问题,所有的团队都很看重。接口的安全测试主要有以下几个方面:

接口对于请求参数篡改的预防

引入签名、参数MD5加密等

关于接口身份认证存在的漏洞

cookie仿冒、session劫持、平行和垂直越权

完善接口的防刷机制

比如暴力破解短信验证码、找回密码功能的枚举破解安全问题

竞争条件—利用线程并发漏洞

超过限制下单、同时申请多笔退款

注入类攻击

sql注入、sqlmap 接口注入检查

23. 你用过哪些测试工具,它们的特点分别是什么?

回答提示:

① Jmeter: 是一个100%的纯java桌面应用,能够对HTTP和FTP服务器进行压力和性能测试, 它原先用于Web应用测试,后来扩展到其他测试领域;另外Jmeter一般用于接口测试,验证接口的输入值请求是否返回了期望输出的结果。

② JUnit:是一个Java语言的单元测试框架,用于编写和运行可重复的测试。Junit测试即所谓的白盒测试,它包括以下特性:用于测试期望结果的断言(Assertion);用于共享共同测试数据的测试工具;用于方便的组织和运行测试的测试套件;图形和文本的测试运行器。

③ TestLink: TestLink 是基于web的测试用例管理系统,主要功能包括有测试需求管理、 测试用例管理、测试用例对测试需求的覆盖管理、测试计划的制定、测试用例的执行、大量测试数据的度量和统计功能。目前在XLS导入上存在缺陷,但可以使用第三方的“Testlink Convert”工具实现XLS/TXT/XML导入导出。

24.接口测试是目前最主流的自动化测试手段,它向服务器发送请求,接收和解析响应结果,通过验证响应报文是否满足需求规约来验证系统逻辑正确性。接口的响应类型通过Content-Type指定,常见的响应类型有:

· text/html : HTML格式

· text/plain :纯文本格式

· text/xml : XML格式

· application/xml : XML数据格式

· application/json : JSON数据格式

25.接口测试汇总响应断言:模式匹配

· 包括:支持纯文本和正则,验证返回包括指定的内容

· 匹配:支持纯文本和正则,正则需全匹配(正则必须匹配全部返回,而非部分返回)

· Equals:字符串相等,纯文本匹配,验证返回结果和指定结果完全一致

· SubString:字符串包含,纯文本匹配,验证返回结果包含指定结果

· 否:结合上述条件取反,若上述断言结果为false,取否后,最终断言结果为true

Json断言

Json断言是针对Json报文的断言方式,通Json Path提取出Json响应报文中的字段,再采用纯文本或者正则去验证Json Path的提取结果,Json结合了Json Path和正则表达式,有如下选项:

· Additionally assert value:文本验证,此处是完全匹配,勾选上此选项后再勾选Match as regular ,可以触发正则匹配。

· Match as regular :支持正则表达式匹配

· Expect null:判定返回为null

· Invert assertion:倒置断言结果

来源:https://www.icode9.com/content-4-821801.html

(0)

相关推荐

  • 接口测试常见问题

    接口测试需要考虑的点/如何设计接口测试的用例? 接口测试用例编写除了使用功能测试中最基本的等价类,边界值,因果图,错误推测,场景设计等方法外,还要考虑一些其他方面,首先我们要先进行冒烟测试,说白了就是 ...

  • (收藏)22个常见接口测试面试题

    (收藏)22个常见接口测试面试题

  • 渗透测试之API接口测试

    原创作者:TrueBW,作者博客:https://blog.csdn.net/weixin_39190897接口测试API:Application Programming Interface,即应用程 ...

  • 100道接口测试面试题收好了!

    HTTP, HTTPS协议 什么是DNS HTTP协议 怎么抓取HTTPS协议 说出请求接口中常见的返回状态码 HTTP协议请求方式 HTTP和HTTPS协议区别 HTTP和HTTPS实现机有什么不同 ...

  • 实用小技巧 | 用socket玩转http接口

    一.前言 曾几何时,HTTP这种应用层协议对于我来说有点高级,总觉得调用 HTTP 接口是一件很难实现的事情,需要用一个很牛逼的库才行. 直到昨天我学习了一个骚操作,原来用 socket 就可以直接玩 ...

  • 【面试】如何回答接口测试怎么进行

    (个人面试时经常回答的)我觉得应该从以下方面入手回答 为什么做接口测试(概述),什么时候开始做接口测试(流程),怎么做接口测试(方法),做了之后得到什么.提升了什么.跟预期对比有什么结果(结果),其实 ...

  • 接口需要的其他相关知识?

    get请求,post请求的区别: 1.GET使用URL或Cookie传参.而POST将数据放在BODY中. 2.GET的URL会有长度上的限制,则POST的数据则可以非常大. 3.POST比GET安全 ...

  • 超哥带你半小时学会http接口协议和抓包,干就完了

    目录 一.HTTP简介 二.HTTPS简介 三.主要特点 四.HTTP之URL 五.URI和URL的区别 六.HTTP工作原理 七.HTTP之请求--消息Request 八.HTTP之响应--消息Re ...

  • 中考最易拿满分的科目:实验考试之二“化学知识点详解”

    实验中药品取用 实验中取用药品时,如果要求取定量,必须严格要求取用,如果没有说明用量,应取最少量,一般按固体盖满试管底部,液体1-2毫升. 1.固体药品的取用 ①粉末.颗粒状固体药品:应用药匙或纸槽. ...

  • 实验室常见的十二个知识点

    实验室12个经典知识点总结  实验室ISO17025  总结实验室常见的十二个知识点 1 八大计划 2 四个唯一性标识 3 十大岗位设置 44 33211要素 5 技术委员会 协助技术负责人进行标准方 ...

  • 2019年执业药师考试《中药二》知识点汇总(扫描版 )

    提示:一年一度的执业药师考试即将到来,希望这些干货能为你应考有所帮助,考前速记这些知识点有所裨益. 2019年执业药师考试 <中药二>知识点汇总(扫描版 )

  • 十二个知识点,带你梳理企业承包经营合同要点|合同技能卡

    企业承包经营.租赁经营. 内部承包.挂靠经营 都是我们常见的经营模式 你了解他们在法律上的区别吗? 承包经营合同在什么情况下无效? 发包方/出租方与承包方各自对内. 对外要承担什么责任? -- 法天使 ...

  • 【值得收藏】统编教材小学语文二年下知识点与考点预测

    学生的学习,需要老师的教授,需要家长的辅导.而教材就是老师和家长引导学生学习的一个媒介.一册书拿在手中,作为老师要教什么?作为家长,要带着孩子学什么?这是需要思考的.笔者今天就和老师.家长们来研究一下 ...

  • 高一、二数学知识点结构图汇总

    集合,映射,函数,导数以及微积分 三角函数与平面向量 数列与不等式 解析几何 立体几何 统计与概率 其他部分内容

  • 《药二》知识点:脑功能改善及抗记忆障碍药

    "<药二>知识点:脑功能改善及抗记忆障碍药"是执业药师知识点,为了方便广大执业药师考生备考,医学教育网小编整理出如下相关知识: 分类 代表药 作用特点 酰胺类中枢兴奋药 ...

  • 干货:实验室常见的十二个知识点

    一.八大计划  二.四个唯一性标识   三.十大岗位设置  四.33211要素 五.技术委员会 协助技术负责人进行标准方法的证实,非标方法的确认,方法的偏离的技术判断,以及检测机构方法的制定,可以设立 ...

  • 高中数学:必修二相关知识点整理,需要的同学快来收啦

    高中数学--必修二相关知识点整理,高中生需要的同学来收啦~ 查看更多初中.高中知识,关注我哦,每天都更新! 数学大师