美文网首页
接口测试

接口测试

作者: 一个燃烧的熊猫 | 来源:发表于2019-01-09 10:46 被阅读0次

你一个项目做过哪些接口?举例说一下你的接口测试是怎么做的?

参考答案:

1)、每个版本都会新增一些功能,对应的接口也要进行测试,一个项目的所有接口都要进行测试,比如,查询,下单,登陆,修改信息等等,开发写好一个接口后,给到我们接口文档我们就会去测试。

2)、我以下单这个接口说下是怎么测试的吧:下单这个接口用的是http协议,使用post请求方式,发送给服务器的参数有token,产品ID,购买数量,收货人地址等等,这些参数都是必传的参数。我们是使用Jmeter来做接口测试的,首先,要新建一个线程组,在线程组下面添加一个http的请求,然后填写好服务器地址,接口路径,请求方式,请求参数,因为token值是用来标识用户是否合法并且是动态变化的,这个值从登陆接口中返回来的,所以,我们要在下单这个接口的前面增加一个登陆的接口,在登陆接口中使用正则表达式把token值关联出来,然后在下单接口中使用${参数名}的方式引用;接下来还要对其他参数进行参数化,构造各种正常和异常的数据,我们先在本地创建一个txt文档,把参数填写到文档里面,在Jmeter中添加一个csv文件,填写好txt文档的路径,然后在请求参数中使用${字段名}的方式引用;接下来添加断言,检查服务器返回的结果和预期结果是不是一致的,如果断言的内容会根据发给服务器参数变化而变化,就要把断言的内容也参数化;为了遍历所有的参数,我们接下来还要添加一个循环控制器,把下单接加入到这个循环控制器里面,并设定循环次数;最后,添加查看结果树查看测试结果。

面:那你们是怎么验证接口是通过的?

我:首先会去看服务器返回给客户端的信息是不是和预期结果一致;向系统提交的数据是否正确写进数据库

面:接口返回的数据格式有哪些?

我:一般是json格式和文本格式,常见的是json格式

面:你觉得为什么要做接口测试

我:接口测试是在程序的开发阶段进行的,越早进行测试就能越早发现系统的底层缺陷,降低修复的成本,随着系统的越来越复杂,单纯的UI层面的功能测试无法覆盖所有的参数,存在安全隐患

面:那常见的头部信息有哪些?

我:user-agent和accept encoding

面:在进行接口测试时,如果接口报错怎么处理?

我:(首先,我会先检查一下请求参数啊,还有其他的填入的数据是否有问题,如果这些都没问题,我会ping一下网络,看网络通不通(面试官点了点头),如果网络也没问题的话,我会去看看系统服务器有没有启动,如果服务器也没问题的话,那可能就要发给开发定位一下了。)

检查网络是否有问题

Ping 服务器,与服务器的网络是否有问题

检查接口的参数是否有误

检查接口是否做了ip的限制

检查是单单这个接口挂掉了,还是所有接口挂掉了

如果是接口本身的bug,就获取日志提单给开发修改

面:写过多少个接口,接口测试负责什么模块

我:基本上所有模块的功能都做接口测试,我们都是根据开发给到的接口文档,熟悉接口文档后小组再进行分工,拿到自己的接口就根据文档编写接口的测试用例,然后再用jmeter工具进行测试,我大概做过五十多个接口

面:什么样的接口是好的接口

我:功能准确无误的,响应速度快的,安全性好的,支持多用户并发操作

面:那不同版本的系统,接口怎么调用

我:在头部信息里,传入版本或者系统类型

面:在做接口的时候有没有遇到什么问题?

我:遇到比较多的就是接口的互相依赖,存在数据的交互,比如说有一个a接口的数据需要从b接口获取,那我们会把b接口放到a接口前面,然后再b接口添加一个css提取器或者是json提取器,然后把a接口要用到的数据关联出来,保存到参数中。然后在a接口中使用${字段名} 的方式引用参数

面:接口的自动化怎么做的?

我:我们再jmeter做好接口之后呢,会使用Jenkins这个持续集成工具定时去跑脚本

1、用到哪些工具做接口测试?

参考答案:jmeter

2、接口测试怎么测试的。

参考答案:

1、拿到接口文档熟悉:(服务端开发人员把接口文档写出来,我们就可以拿过来熟悉):

1)每个接口对应要实现的功能是什么

2)服务器的地址、端口、接口地址(确定访问哪个接口)

3)请求方式,请求参数有哪些,参数的约束是什么(工作当中了解请求参数的各种约束)

4)熟悉响应数据:

<1>响应的字段个数是否足够(可以看需求文档中对应的功能需要显示的个数,只能多不能少)

<2>正确和错误的响应码(errcode)有哪些,对应的响应信息(message)是什么。例如 :errcode:4403 message:错误的请求信息

2、编写接口测试用例(接口测试用跟功能类似,只多了一个请求报文,响应报文)

1)考虑正常异常的请求参数的请求报文

2)考虑正常和异常请求后的响应报文(例如 :异常的错误码是什么,对应的错误信息是否正确)

3、执行测试用例:

我们是用jmeter执行测试用例,先建立一个线程组,再添加http请求,填写好请求地址,端口,和请求参数,设置参数化,添加断言等,最后添加查看结果树再运行。运行完后,检查接口是否通过,如果不通过,先定位下原因,如果是请求的参数有问题,修改后再进行测试,如果是接口本身存在bug,就把服务器上的日志取下来,提单给开发修改。

3、JMeter测试环境怎么搭建

1)、因为JMeter是JAVA程序开发的,所以要先安装JDK;

2)、配置JAVA环境变量,包括:JAVA_HOME,PATH,CLASSPATH;

3)、双击jmeter的bin目录里面的jmeter.bat文件,就可以启动Jmeter。

4、什么时候会用到使用Fiddler

1)、做安全测试,检测敏感信息是否加密,拦截篡改数据;

2)、当测试时发现缺陷,用fiddler抓包,定位该问题是前端还是后台的问题;

3)、模拟弱网环境。

5、Fiddler怎么拦截篡改数据

参考答案:

可以在请求之前,或响应之后拦截篡改数据,比如登录,在用户发出登录请求前,拦截下用户的数据,可以修改用户名或者密码,用户就会登录失败,或者在用户发出登录请求后,在数据库返回数据给用户前,拦截下数据库返回的数据,可以修改返回的数据,比如把返回的用户名改成别人,用户收到的数据会变成改后的。

6、Fiddler怎么模拟弱网测试

参考答案:结合实际案例和使用步骤来讲

首先手机和电脑连接同一个路由器,手动设置电脑IP为服务器,添加端口,用fiddler把延时加大

7、问:用jmeter做接口可以通过,但在手机上用到这接口时用不了,什么原因:

参考答案:抓包,查看从手机发出去的数据有没有问题。

8、问:接口测试的关注点(怎么验证接口是通过的)

1、接口返回的数据是否正确;

2、向系统提交的数据是否正确写入了数据库。

9、在进行接口的自动化测试,如果遇到token校验,你是怎么处理的?

首先需要获取token,获取token的整个思路为:

A.先进行登录

B.登录成功后

C.获取token

D.把获取的token当作下一个接口的请求参数

10、Jmeter的断言怎么做?

首先查看正确异常的响应码是多少,将响应码参数化,写在记事本中,然后在jmeter中用CSV DATA导入记事本,添加响应断言,在响应断言中添加参数${}。如果是断言多条,就要添加循环控制器。

11、接口自动化做了多久呢

开发写好接口,我们拿到接口文档之后,我们就开始做着。

12、jenkins怎么做接口自动化?

设置定时任务去跑脚本

1、接口测试在什么时候做:

服务端开发实现接口功能,联调之前完成

为什么在联调之前执行:很多开发不懂,经常说等我跟前端联调完成之后再测试。

联调之后执行的问题:前端跟后端联调时由于这个接口还有很多问题没有测试过,所以经常得帮端发现bug而且还要等待后端解决,白白的耽误时间,如果在两条之前就测试完那就联调会很流畅

2、接口测试的好处:

1、测试尽早的执行(因为 服务端刚把接口实现,整个项目都还没做完)

        2、节省联调的时间

3、一个接口问题,可以导致界面多个问题

3、接口流程需要上台讲出来的(做完项目二需要切入项目中):

2、接口测试怎么测试的。

参考答案:

1、拿到接口文档熟悉:(服务端开发人员把接口文档写出来,我们就可以拿过来熟悉):

1)接口功能对应的需求

2)服务端地址、端口、接口地址(确定访问哪个接口)

3)熟悉请求方式,请求参数有哪些(工作当中了解请求参数的各种约束)

4)熟悉响应数据:

<1>响应数的字段个数是否足够(可以看需求文档中对应的功能需要显示的个数,只能多不能少)

<2>错误码(errcode)有哪些,对应的错误信息(message)。例如 :errcode:4403 message:错误的请求信息

2、编写接口测试用例(接口测试用跟功能类似,只多了一个请求报文,响应报文)

1)考虑正常异常的请求参数的请求报文

2)考虑正常和异常请求后的响应报文(例如 :异常的错误码是什么,对应的错误信息是否正确)

3、执行测试用例(项目二中要切入的项目中):

我们是用jmeter执行测试用例,先建立一个线程组,再添加http请求,填写好请求地址,端口,和请求参数,设置参数化,添加断言等,最后添加查看结果树再运行。运行完后,检查接口是否通过,如果不通过,先定位下原因,查看接口返回的数据为什么不正确,然后,把服务器上的日志取下来,提单给开发修改。

  注意:别的公司使用其他工具我们不管,我们就使用这个,常用的接口测试工具有:jmeter postman soapui(web service)  python编写脚本测试。

相关文章

  • 接口测试概述

    接口(interface)的概念 常见接口名词 接口测试: 接口测试目的: 接口测试的重要性: 接口测试流程 接口...

  • 接口、安全、性能测试

    接口测试 1.定义:接口测试时测试系统组件间接口的一种测试 包括:模块接口测试、后端服务器接口测试、外部接口测试。...

  • 接口测试 - 测试流程

    接口测试流程逐步分为: 接口需求调研 -> 接口测试工具选择 -> 接口测试计划 -> 接口测试的用例编写...

  • 接口测试初解

    1.什么是接口 2.什么是接口测试: 接口测试主要包含三方面:接口功能测试、接口安全测试、接口性能测试 3.接口测...

  • 2018-05-16

    1.接口测试基础 1.1.什么是接口测试? 接口测试是测试系统组件间接口的一种测试。 接口测试主要用于检测外部...

  • 接口测试

    1.在线http测试:接口在线测试 模块接口测试和web接口测试: 模块接口测试是单元测试的基础。它主要测试模块的...

  • 接口测试

    软件测试分类:界面测试,接口测试,单元测试对软件提供的接口进行测试接口测试: 地址,参数,返回值(期望结果)接口-...

  • 接口功能测试要点

    单接口测试: 组合接口测试(场景测试)

  • 接口自动化测试设计

    一、接口测试基础 1.什么是接口测试? 接口测试是测试系统组件间接口的一种测试。 接口测试主要用于检测外部系统与系...

  • 软件测试-接口测试详解

    一、接口测试的背景 1)什么是接口测试呢? 接口测试是测试系统组件间接口的一种测试,接口测试主要用于检测外部系统与...

网友评论

      本文标题:接口测试

      本文链接:https://www.haomeiwen.com/subject/toewrqtx.html