首页 > 其他分享 >接口测试经验

接口测试经验

时间:2023-02-16 09:33:05浏览次数:37  
标签:经验 http 测试 是否 接口 参数 https

问题:

1)为什么要做接口测试

2)接口测试需要用到的流程和工具

3)接口测试点编写的思路

4)接口出现问题如何定位

5)接口疑问

 

 

答案:

一、为什么要做接口测试

 

a)提升测试工作的效率,一般来说前端对接完后端接口后需要提测2~3天,我们完全可以利用这个时间提前跑一下接口,提早发现bug;

b)防止恶意篡改数据,研发界中有一句话:页面由前端决定,数据由后端决定,所以往往篡改数据都是从接口层面进行的;

c)有助于接下来的功能测试业务稳定;

 

二、接口测试需要用到的流程和工具

 

流程:接口需求文档分析、编写测试点、执行测试点,发现bug并追踪、出接口测试报告、进行接口自动化

 

工具:postman或jmeter

 

三、接口测试点编写的思路

 

功能方面:

1)正常场景功能是否实现;

2)参数异常测试(例如少传参数、多传参数、不传参数、传错误参数等);

3)数据异常测试(为空、null、参数的边界值(例如接口要求只能传10字符,测试时传大于或者小于等于10字符测试)、传入错误格式参数(例如接口参数要求传JSON格式,测试时传入html格式));

4)检测接口返回数据是否正确;查看接口返回报文;

5)默认值测试,很多一些查询类的接口的参数都会有默认值,请求条数一般都是默认第一页10条;

6)依赖业务,比如说cookie或者token等,在不传这些数据时是否可正常请求接口;

7)数据库检查,当接口对数据进行了增删改查时,需检查数据库是否同步这些操作;

 

兼容性方面:

1)接口进行了调整后,前端没进行变更的时候,需要验证新的接口是否满足旧的调研方式

 

性能方面:

1)响应时间,检查是否在系统规定范围内;

2)吞吐量;

3)并发数;

4)服务器资源使用率,例如:占用内容,CPU等

5)接口错误率;

 

安全方面:

1)敏感信息是否加密,例如:登录密码,银行卡号等;

2)必填参数是否在后端进行校验,例如必填参数的字符长度等;

3)是否做越权访问校验,例如一些系统中会在URL地址中体现出admin/user/system/pwd等敏感目录;

4)接口是否防恶意请求,例如SQL注入、xss注入等;

5)修改cookie或header是否返还对应错误码;

 

四、接口出现问题如何定位

 

1)对比接口文档,检查请求URL、请求参数、是否传token或cookie、将这些基本信息排除后仍无误,则继续看下面;

2)对比需求文档,看请求和响应信息、看状态码并分析具体状态码是什么意思,从而判断接口报错的具体原因;

3)查看服务器日志是否有报错、具体看error、exception信息,判断出错的原因,截图给开发;

4)分析具体需求的业务逻辑,从而判断具体报错原因;

 

五、接口疑问

 

1、非业务的接口是否需要测试?

在接口测试中,我们大部分需要测试的接口都是业务接口,非业务的开发内部接口等我们不需要测试;

 

2、没有接口文档能进行接口测试吗?

没有接口文档的时候,我们可以通过UI界面使用抓包工具抓取系统使用过程的接口来进行接口测试;

 

3、http和https的区别是什么?

1)http使用的时候超文本传输协议,https使用的是ssl加密传输协议,从安全角度来说https更安全;

2)连接方式不同,http的连接方式是无状态的,而https是由ssl+http协议构建的加密传输、身份认证的网络协议;

3)端口不同,http的端口是80,https的端口是443;

4)证书申请方式不同,http是免费申请的,https是需要用到ca申请证书,需要交费;

 

4、接口测试必须要在功能测试前吗?

不一定,具体看情况;1)如果前端没有提测而后端开发已经提测,那么就需要先进行接口测试,等到前端也可以测试的时候再进行功能测试;2)如果是前后端一起提测的话就功能和接口一起进行测试;

 

5、接口经常发生变化,和系统前后端分离有关系吗?

关系不大,主要是业务需求改变了所以接口也得跟着改;

 

6、接口测试的本质是什么?

主要是针对数据的输入和输出进行测试;

 

标签:经验,http,测试,是否,接口,参数,https
From: https://www.cnblogs.com/caoyunpu/p/17125526.html

相关文章

  • 对于前几天进行的课堂测试的错误的更正的理解(期待指正)
    有关更正内容的描述本次更正内容,主要是对于用户权限管理的改正,也是我第一次做这样的题目类型具体实现第一项--实现权限列表所谓权限,也就是用户的菜单项,即登录之后,进入......
  • 11.3编写测试用的输入输出程序
       由于用汇编语言编写程序比较麻烦,因此这里我们采取再C语言源代码中插入助记符的方式来实现。在大部分C语言的处理(编译器的种类)中,只要使用_asm{和}括起来,就可以在其......
  • mysql的性能的一些测试
    测试平台mysql8.0.31,2核心4线内存2G的虚拟机硬盘ssd,下面测试结果的瓶颈很多都来自这2G的内存。char比verchar块?首先说结论,差不多,没区别,别信谣110W数据,无......
  • 超详细!Jmeter性能测试
    前言性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。测试流......
  • jmeter做性能测试
    一、线程与进程一个软件/程序,是以进程的方式存在的,一个进程可含多个线程(一个软件可以做多个事情,就是基于线程而实现的)二、并发的基本概念并发:并发用户数:同一时刻,服务器......
  • 接口实现多态
    title:接口实现多态date:2023-02-0614:59:36tags:Golang接口使得程序更具有灵活性和拓展性的主要原因是它实现了多态性。多态性指的是不同的类型可以实现相同的接......
  • 接口
    (1)抽象类​ Delphi中的抽象类只定义行为的类,它规定了由此派生的类必须具备的某些行为。但是抽象类不实现这些行为,而必须由其派生类去实现这些行为。所以它只是一种“抽象......
  • 软件自动化测试高频面试题
    Hello,你们的好朋友来了!今天猜猜我给大家带来点啥干货呢?最近很多小伙伴出去面试的时候经常会被问到跟自动化测试相关的面试题。所以,今天特意给大家整理了一些经常被公司问到......
  • 测试人如何进行工作量评估?【转载】
    测试人如何进行工作量评估?测试策略的选择、测试范围(新功能覆盖面、旧功能影响面,决定测试用例数量)、测试深度、测试广度(专项测试/性能测试/安全测试等)、质量要求(比如是否......
  • 2023的金三银四,测试员还能找到好工作吗?
    按照往年的惯例,春节后复工的3月、4月是人员跳槽最频繁的时候,俗称“金三银四”。然而,市场大环境的影响,很多行业感受到了一丝寒冷的气息。我们以为受影响比较轻的互联网......