接口测试

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

参考答案:

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编写脚本测试。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • 一、问:app测试与web测试的区别 参考答案: 1)、系统架构:web端的服务器更新后,客户端会自动同步更新;如...
    一个燃烧的熊猫阅读 362评论 0 1
  • 1、你在项目中负责什么? 参考答案:在工作中我主要负责功能测试,其次还参与了一些非功能测试,如:接口测试,自动化测...
    一个燃烧的熊猫阅读 1,350评论 0 5
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,800评论 6 13
  • 面:先自我介绍一下 我:我叫XXX,来自广东湛江,毕业于xxxxx,从事软件测试工作已经有三年时间了,之前在xxx...
    一个燃烧的熊猫阅读 2,481评论 0 1
  • 一、电梯测试 需求测试: 查看电梯使用说明书、安全说明书等 界面测试: 查看电梯外观 功能测试: 1.测试电梯能否...
    一个燃烧的熊猫阅读 215评论 0 0