JMeter环境怎么搭建

  • JMeter环境怎么搭建
  • 什么时候会用到使用Fiddler
  • Fiddler怎么拦截篡改数据
  • Fiddler怎么模拟弱网测试
  • fiddler如何模拟2g/3G的网络
  • Fiddler怎么抓HTTPS的包
  • Fiddler的抓包原理
  • 用jmeter做接口可以通过,但在手机上用到这接口时用不了,什么原因:
  • 接口测试的关注点(怎么验证接口是通过的)
  • 在进行接口的自动化测试,如果遇到token校验,你是怎么处理的?
  • 有一个接口A,发送给服务器的数据需要从接口B中获取,怎样对A接口进行测试?
  • Jmeter的断言怎么做?
  • 接口自动化做了多久呢
  • 接口返回的数据格式有哪些?
  • 什么样的接口,是个好的接口
  • 接口出错了怎么办?
  • 项目中哪些地方会做接口?
  • 接口测试用例怎么写?
  • 接口有哪些参数?
  • 接口的状态码有哪些
  • 接口是一个一个做,还是系统做?
  • 接口测试遇到过什么问题,当时是怎么操作然后出现的问题,后来又是怎么分析处理的?
  • 你支付功能,付款的接口是怎么测试的呢?
  • 能说一下第三方支付接口的流程吗
  • Fiddler怎么抓手机app的包?
  • 为什么要做接口测试 / 接口测试的目的
  • 接口的加密如何处理
  • 请求的头部信息有哪些?
  • 发送请求参数的类型有哪些?
  • 用到哪些工具做接口测试?
  • 接口测试怎么测试的。
  • 没有接口文档,如何进行接口测试?
  • 接口是什么时候做的?
  • 你们接口的响应码有哪些?
  • unittest单元测试框架有哪些内容?
  • setUp(),tearDown()和setUpClass(),tearDownClass()的区别:
  • python的第三方模块/标准库有哪些?
  • python的 pass 语句的作用是什么?
  • 接口的参数化怎么做?或者说接口自动化的时候,数据如何存放?
  • 自动化脚本的通过率是多少?(注意这个题目的意思)
  • 你曾经都写过多少自动化测试用例?
  • python3 的数据类型有哪些?
  • 怎样用python连接mysql数据。
  • 你的python水平很一般啊?(遇到这种否定你的问题,一定不能虚!)
  • python怎么定义一个函数,怎么定义一个类
  • 为什么会生成HTML报告
  • 脚本运行出错,应该怎样定位,说出分析过程
  • 你们是怎么检查自动化的结果是不是正确的?
  • main主程序中有哪些内容?
  • unittest单元测试怎么安装的?
  • pytest了解吗?
  • Jmeter的断言怎么做?

    JMeter环境怎么搭建

    因为JMeter是JAVA程序开发的,所以要先安装JDK;
    配置JAVA环境变量,包括:JAVA_HOME,PATH,CLASSPATH;
    双击jmeter的bin目录里面的jmeter.bat文件,就可以启动Jmeter。

    什么时候会用到使用Fiddler

    做安全测试,检测敏感信息是否加密,拦截篡改数据;
    当测试时发现缺陷,用fiddler抓包,定位该问题是前端还是后台的问题;
    模拟弱网环境;
    统计单个功能的响应时间。

    Fiddler怎么拦截篡改数据

    就拿下单来说吧,点击下单之前,先启动Fiddler,按F11打断点,将请求拦截下来,
    然后在fiddler中,对拦截下来的请求,修改其中的数据,比如将价格或者商品数量进行修改
    修改完成后,关闭拦截,继续请求的发送即可。

    Fiddler怎么模拟弱网测试

    点击规则-->自定义规则,打开fiddler的脚本编辑器,设置上传和下载的延时速度,然后模拟带宽就可以了

    fiddler如何模拟2g/3G的网络

    2G一般上行/下行速率约为:2.7、9.6kbs,模拟设置为:uploaded 约 2962 ms,downloaded 约 833 ms;(弱网一般指2G网络)
    3G一般上行/下行速率约为:384、2560kbs,设置为:uploaded 约 2.6 ms,downloaded 约 0.39 ms;

    Fiddler怎么抓HTTPS的包

    首先要先在Fiddler上要导出证书,然后再进行安装证书,重启Fiddler就可以了。
    如果需要在手机上抓取HTTPS的包,同样也需要在手机上安装证书,并且信任证书即可。

    Fiddler的抓包原理

    在客户端和服务器之间建立一个代理,通过监听端口(默认是 8888),监听本机发出的请求和服务器返回的响应结果。

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

    抓包,查看从手机发出去的数据有没有问题。

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

    1. 发送给服务器的请求数据是否正确;
    2. 服务器返回给客户端的信息是否和预期结果一致;
    3. 进入数据库,检查接口是否实现的相应的功能;
    4. 接口的响应时间是否符合需求。

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

    1. 首先需要获取token,获取token的整个思路为:
      先进行登录,登录成功后,获取token
      把获取的token当作下一个接口的请求参数

    有一个接口A,发送给服务器的数据需要从接口B中获取,怎样对A接口进行测试?

    参考答案:
    如果是在Jmeter中,那么我会在A接口前面添加接口B,在B接口中添加Json提取器,把A接口需要用到的数据关联出来,保存到参数中;
    在A接口中使用${参数名}的方式进行引用。

    如果是使用Python,那么我会先去调用B接口,然后从B接口的返回数据中,获取到自己想要的数据,并使用变量传到给A接口进行使用。

    Jmeter的断言怎么做?

    选中需要断言的请求,右键,选择响应断言,在响应断言输入框中添加要断言的值;如果这个接口有多个请求数据,针对每个请求数据服务器返回数据都不一样的,这时候,我们就要把断言的值进行参数化,步骤是:现在本地添加一个txt文档,把参数化的值写入文档里面,然后再在jmeter选中需要断言的请求,右键,添加CSV文件设置,把刚才编辑好的txt文档添加进来,在响应断言输入框中使用${字段名}的方式来引用参数的值。

    接口自动化做了多久呢

    每个版本都会做接口测试,开发写好接口,我们拿到接口文档之后,我们就开始做着。

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

    JSON格式 和 文本格式,常用的是JSON格式

    什么样的接口,是个好的接口

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

    接口出错了怎么办?

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

    项目中哪些地方会做接口?

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

    接口测试用例怎么写?

    我们每个版本都会有四五个接口需求,有的是新增的接口,有的是原来的接口做了一些调整,我们会查看这些接口有哪些参数,每个参数有什么约束条件,加密方式是什么,正常和异常的响应信息有哪些,然后编写测试用例来覆盖这些需求,一个版本下来大概有五六十条接口测试用例。

    接口有哪些参数?

    比方说:下单接口,会有token,产品ID,购买数量,收货人地址,收件人电话等等;注册接口,会有手机号,密码,验证码这些参数;我们项目的接口有五六十个,每个接口实现的功能不一样,参数是不一样的。

    接口的状态码有哪些

    接口不一样,返回的状态码也不一样,我们接口的状态码是由开发统一定义的,比如,我们xxx这个项目,修改昵称这个接口,成功修改的状态码是0,30001表示token无效,30002表示用户不存在,还有30003等一些其他的状态码,具体意思记不太清楚了。

    接口是一个一个做,还是系统做?

    我们是将这个系统的所有接口,每一个接口编写一个py文件,然后在里面编写这个接口的用例,最后在使用main.py主程序,进行调用。

    接口测试遇到过什么问题,当时是怎么操作然后出现的问题,后来又是怎么分析处理的?

    就比如最近做的这个项目,添加新商品这个接口,当库存量的值为空,接口报错了
    原因是开发没有设定当库存量为空时,自动给一个0的默认值,导致后台接收不到数据。

    你支付功能,付款的接口是怎么测试的呢?

    付款的接口一般是由开发直接调试的,像支付宝、微信这些第三方支付,开发会直接调试好。

    能说一下第三方支付接口的流程吗

    首先用户下订单,网站后台就会生成一个支付请求发送到第三方支付平台;支付平台收到请求后会直接发送响应给用户,展示金额等,并且要求用户输入账号密码,用户输入信息直接发送到第三方平台;付款成功后第三方平台会返回支付结果给到网站后台和用户;后台收到付款成功信息后就会生成付款成功的订单信息发给用户;大概的流程就是这样。

    Fiddler怎么抓手机app的包?

    手机与fiddler所的电脑连接到同一网络;
    在fiddler设置监听端口,并允许远程终端连接;
    在手机上填写代理服务器的地址和端口。

    为什么要做接口测试 / 接口测试的目的

    尽早介入测试,早发现bug,降低修复成本
    UI界面测试无法发现底层问题

    接口的加密如何处理

    一般来说的话加密都是开发那边会给到加密的文档或者脚本给到我们,我们将参数进行加密后,然后再在请求中填写

    比如我们之前XX的项目,就是使用的MD5加密

    请求的头部信息有哪些?

    头部信息含义
    user_agent 用户代理,标识用户通过什么方式发送请求,是通过PC还是移动端,是哪个版本的浏览器或者哪个操作系统发送
    Accept-Encoding: gzip 告诉服务器,响应的信息,gzip压缩之后再返回
    Content-Type: application/json 告诉服务器,发送的请求以JSON的形式发送

    发送请求参数的类型有哪些?

    1、表单的方式

    2、Json的方式

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

    我们使用Python+Requests模块进行的接口测试,并使用unittest单元测试框架,编写测试用例。

    接口测试怎么测试的。

    一般我们从开发那边拿到接口文档,就会开始熟悉接口文档。
    熟悉一下接口的实现功能,请求方式、地址、参数、参数的约束,以及是否有加密。还需要熟悉响应信息,正确的响应吗与异常的响应码分别是什么。接下来就开始编写测试用例,同样也会考虑到正常与异常的场景。
    我们是使用python+requests+unittest+jenkins进行接口测试框架开发:
    首先,我们要构建一个测试工程,在测试工程中,会有一个report目录,主要用来存放测试报告,一个testcase目录,主要用来存放测试用例,我们还会将用例中的公共部分,封装到public中,等到所有用例调试完成,就会再编写一个main主程序,来调用所有的用例,并且输出测试报告。最后还会在Jenkins上设置定时任务,每天定时执行接口用例。这就是我们接口测试的大概流程。

    没有接口文档,如何进行接口测试?

    如果系统已经存在UI界面,可以通过fiddler抓包获取服务器地址,url,端口号等,如果系统还在开发阶段,没有UI界面,就要找开发确定服务器地址,url,端口号等,然后在使用python+requests发送。

    接口是什么时候做的?

    在开发阶段做的,开发写完一个接口,我们就测试一个接口。

    你们接口的响应码有哪些?

    我们接口的响应码是由开发他们统一定义的,不同的项目响应码代表的意思不一样,就比如我简历上的第一个项目,0代表成功,14001代表参数入参异常,14002代表token失效,等等。

    unittest单元测试框架有哪些内容?

    像初始化方法就有两个,一个setUp,一个setUpClass。
    环境恢复方法也有两个,一个teardown,一个tearDownClass
    除此之外,在unittest中的测试用例也是一个名称以test开头的方法,unittest还提供了非常多的断言方法,比如assertIn与assertEqual,判断测试用例是否通过,最终生成测试结果。

    setUp(),tearDown()和setUpClass(),tearDownClass()的区别:

    当测试用例有多个,setUp()和tearDown()就会被执行多次;不管测试用例有多少个,setUpClass()和tearDownClass()只会被执行一次。

    python的第三方模块/标准库有哪些?

    • time
    • random
    • unittest
    • requests
    • HTMLTestRunner
    • pymysql
    • hashlib

    python的 pass 语句的作用是什么?

    占位符,当类或方法没有内容时,防止出现语法错误。

    接口的参数化怎么做?或者说接口自动化的时候,数据如何存放?

    我们在做接口自动化的时候,会将每一个接口的操作封装成一个函数,因为接口的每一条用例只是传递的数据不同,所以我们会在编写接口测试用例的时候,传递不同的参数就行了,因为用到的数据不多, 所以就没有将数据单独写到一个文件中。

    一般我们参数化用到最多的就是在使用Jmeter的性能测试中,会将测试过程中,使用的数据存放到一个单独的文件中,然后添加CSV Set Data config引入文件,然后在脚本中用${参数}的方式进行引用。

    自动化脚本的通过率是多少?(注意这个题目的意思)

    参考答案:这个说不准,如果没有什么异常情况,自动化脚本都是100%运行通过;如果异常情况比较多,比如出现测试环境不稳定,或者开发修改了代码没通知到测试人员及时修改脚本,又或者开发引入了新的问题等等,自动化脚本通过率可能80%都不到。

    你曾经都写过多少自动化测试用例?

    我们整个项目大概有40-50多个接口,整个接口自动化都是我和另外一个同事负责的,总共写了大概400多条用例。

    python3 的数据类型有哪些?

    int (整型)
    float (浮点型)
    str(字符串)
    List(列表)
    Tuple(元组)
    Set(集合)
    Dict(字典)

    不可变数据(四个):int (整型)、float (浮点型)、str(字符串)、Tuple(元组)、Set(集合);
    可变数据(两个):List(列表)、Dict(字典)。

    怎样用python连接mysql数据。

    参考答案:我们之前主要是用python语言来写接口自动化测试脚本,连接数据库的话,我们主要使用pymysql这个模块来进行连接的。

    你的python水平很一般啊?(遇到这种否定你的问题,一定不能虚!)

    参考答案:我现在掌握的python知识,做接口的自动化测试是可以的,代码的封装,调用这些都没问题;我一般是会做,但不是很会用文字描述出来,我以注意到这点,现在也在加强提升自己的总结能力。
    PS---重点强调:凡是遇到被面试官否定的,都要想办法怼回去,输也要输得精彩些,但是,怼回去的时候,要注意语气,要有礼有节,不卑不亢。

    python怎么定义一个函数,怎么定义一个类

    def 函数名:
    		函数体
    class 类名:
    		属性
    		方法
    

    为什么会生成HTML报告

    使用了HTMLTestRunner第三方工具包来实现的

    脚本运行出错,应该怎样定位,说出分析过程

    运行结束之后我们会得到一个测试报告,我们根据测试报告先定位一下是脚本的原因还是程序的原因,一般来说脚本的原因在报告中都会显示出哪一行代码出错了,如果是程序的原因通常来说都是断言的问题。

    你们是怎么检查自动化的结果是不是正确的?

    参考答案:我们会用unittest单元测试框架提供的断言方式来检查实际结果和预期结果是否一致,常用的断言方式有assertEqual(),assertIn(),还有一些其他的,不常用就没记了。

    main主程序中有哪些内容?

    一般需要修改的是测试报告的路径,测试用例的路径,还有用例的匹配规则。

    unittest单元测试怎么安装的?

    参考答案:不需要安装,是python自带的,直接通过import 关键字引用就可以了。

    pytest了解吗?

    参考答案:也是python的一个单元测试框架,它的用法比unittest框架复杂些。自动化测试我们一般是基于unittest框架来做的,pytest用的少,以后工作需要,我业余时间学习一下,很快上手。

    Jmeter的断言怎么做?

    参考答案:选中需要断言的请求,右键,选择响应断言,在响应断言输入框中添加要断言的值;如果这个接口有多个请求数据,针对每个请求数据服务器返回数据都不一样的,这时候,我们就要把断言的值进行参数化,步骤是:现在本地添加一个txt文档,把参数化的值写入文档里面,然后再在jmeter选中需要断言的请求,右键,添加CSV文件设置,把刚才编辑好的txt文档添加进来,在响应断言输入框中使用${字段名}的方式来引用参数的值。

posted @ 2021-08-15 13:05  康kang  阅读(120)  评论(0)    收藏  举报