软件测试面试题整理(八)之测试工具篇

https://blog.csdn.net/weixin_45912307/article/details/109523632
1. fiddle怎么抓取https的包

  • 点击tools–>选择fiddle options -->点击https选项–>勾选Capture HTTPS CONNECTS 的Decrypt HTTPS traffic
  • 如果还是抓不到https的包:
    • 点击tools–>选择fiddle options -->点击https选项- ->点击Actions的Reset all Certificates
      • 对于firfox浏览器:点击Action–>Export root Certificates to Desktop -->导入证书到浏览器的证书管理器中

2. fiddle 如何打断点(篡改数据)

  • 勾选断点类型:
    • 请求前:勾选Rules --> Automatic breakPoints下的before request
    • 响应后:勾选Rules --> Automatic breakPoints下的after response
  • 选中被测url–>右键copy–>选择just url
  • 在左下角url栏中输入 :bpu url(取消输入bpu)–>回车:
  • 重打开或刷新被测url–>点击被测url–>点击Inspectors–>Raw–>篡改数据(如url、Content-Type、data、等)
    • 点击Run to Completion按钮发送请求

3. fiddle如何做弱网测试

  • 勾选rules–>performance --> Semulate Modem Speeds
  • 点击custom rules–>ctrl+f:m_SimulateModem–> 修改request-trickle-delay和response-trickle-delay的值大小
    // Delay sends by 300ms per KB uploaded.
     oSession["request-trickle-delay"] = "200"; 
    // Delay receives by 150ms per KB downloaded.
    oSession["response-trickle-delay"] = "150"; 
    

4. jmeter 如何做性能测试(http为例)

  • 添加线程组,
    **5.postman如何获取参数(cookie、token)等
    **
  • 普通参数:url、port、user、pwd等
    • 点击 manage environment–>点击add(可添加全局或局部) -->设置environment Name(如mall_env)、variable(如mall_url)和initial value(http://www.xxxx.com:port) -->再次点击add
    • 在请求页面选择mall_env–>在请求接口中输入地址:{{mall_url}}/login -->发送请求
  • 动态参数传递(如token、cookie)
    • 先同样设置一个变量名称,但是变量值可以不填入(因为要动态获取登录的token)
    • 点击 manage environment–>点击add(可添加全局或局部) -->设置environment (如mall_env)、variable(如token、token_type)不需要设置initial value值–>点击update
    • 登陆接口页面的Tests添加如下脚本
      var jsonData = JSON.parse(responseBody)
      postman.setEnvironmentVariable("token",jsonData.access_token)
      postman.setEnvironmentVariable("token_type",jsonData.token_type)
      
    • 点击登陆的send按钮–>点击manage environment -->点击mall_env—>查看token和token_type的current value是否有值(自动带过去)
  • 在其他接口调用:
    • 输入url,选中请求方式–>点击headers–>添加key:Authorization、value:{{token_type}}{{token}}–>点击send按钮,请求成功

6. 抓包工具怎么用的?

我原来的公司对于抓包这块,在App的测试用得比较多。我们会使用fiddler抓取数据检查结果,定位问题,测试安全,制造弱网环境

  • 如:抓取数据通过查看请求数据,请求行,请求报头,请求正文,信息是否正确去检查结果,
    • 如果是以4开头的话就有可能是前端问题一般我会到前端排查
    • 5开头就有可能是后端问题我就会到后端排查
    • 如果是200的话,就需要检查请求参数是否正确,然后定位问题所在
    • 如果错误:前端问题,查看请求url,js有没写入,
    • 没有错误:后端问题,看后端具体返回的数据,如代码问题,看运行日志 ,是否包含 exception,error或根据时间点去看日志。
  • 测试安全,抓取数据查看用户的感敏信息有没有进行加密显示,还有就是把发送请求的数据篡改是否成功。
  • 弱网环境,通过fiddler工具选择Customize Ruels…(Ctrl+R)调出定义脚本编辑器找到“if (m_SimulateModem)”设置上行下行网速,然后把Rules->Performance->Simulate Modem Speeds选中生效

7. fiddler抓包用来做什么?

  • 主要用fiddler抓包,来抓取传输过程中的数据进行对比,查看请求参数是否正确
  • 一般是app测试,用得比较多,
  • 另外我们对问题进行定位,分析是前端还是后端问题时,可以根据抓包中返回的状态码以及请求数据和返回的数据,进行判断
  • 也可以通过抓包,查看数据传输过程中是否进行加密,还可以通过设置断点来拦截,进行数据的篡改,SQL注入,来进行安全性测试
  • 还有弱网测试模拟网络

8. 主流测试工具的测试流程

  • winrunner
    • 1 启动时选择要加载的插件
    • 2 进行一些设置(如录制模式等)
    • 3 识别应用程序的GUI,即创建map(就是学习被测试软件的界面)
    • 4 建立测试脚本(录制及编写)
    • 5 对脚本除错及调试(保证能够运行完)
    • 6 插入各种检查点(图片,文字,控件等)
    • 7 在新版应用程序中执行测试脚本
    • 8 分析结果,回报缺陷
  • quicktestpro
    • 1 准备录制
      打开你要对其进行测试的应用程序,并检查QuickTest中的各项设置是否适合当前的要求。
    • 2 进行录制
      打开QuickTest的录制功能,按测试用例中的描述,操作被测试应用程序。
    • 3 编辑测试脚本
      通过加入检测点、参数化测试,以及添加分支、循环等控制语句,来增强测试脚本的功能,使将来的回归测试真正能够自动化。
    • 4 调试脚本
      调试脚本,检查脚本是否存在错误。
    • 5 在回归测试中运行测试
      在对应用程序的回归测试中,通过QuickTest回放对应用程序的操作,检验软件正确性,实现测试的自动化进行。
    • 6 分析结果,报告问题
      查看QuickTest记录的运行结果,记录问题,报告测试结果。
  • TestDirect
    安装好后,先进入站点管理
    1 创建域及工程
    2 添加用户
    3 编辑licenses及本服务器
    4 编辑数据库
  • TD
    1 选择新建的工程进行定制(列表,用户,组,版本等)
    2 在require中增加需求
    3 把需求转化为plan
    4 在testlab中由计划新建测试具体用例与执行
    5 发现bug,在defect中提交bug
    (每一部分都可以相对独立地使用)
  • loadrunner
    1 制定负载测试计划
    (分析应用程序, 确定测试目标,计划怎样执行LoadRunner)
    2 开发测试脚本
    (录制基本的用户脚本,完善测试脚本)
    3 创建运行场景
    (选择场景类型为Manual Scenario,选择场景类型,理解各种类型,场景的类型转化)
    4 运行测试
    5 监视场景
    (MEMORY 相关,PROCESSOR相关,网络吞量以及带宽,磁盘相关,WEB应用程序 ,IIS5.0,SQL SERVER,NETWORK DELAY等)
    6 分析测试结果
    (分析实时监视图表,分析事务的响应时间,分解页面,确定WEBSERVER的问题,其他有用的功能)

9. 在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试。

  • a) 建立测试计划,确定测试标准和测试范围
  • b) 设计典型场景的测试用例,覆盖常用业务流程和不常用的业务流程等
  • c) 根据测试用例,开发自动测试脚本和场景:
    • i.录制测试脚本
      • 1.新建一个脚本(Web/HTML协议)
      • 2.点击录制按钮,在弹出的对话框的URL中输入”about:blank”。
      • 3.在打开的浏览器中进行正常操作流程后,结束录制。
      • 4.调试脚本并保存。可能要注意到字符集的关联。
    • ii.设置测试场景
      • 1.针对性能设置测试场景,主要判断在正常情况下,系统的平均事务响应时间是否达标
      • 2.针对压力负载设置测试场景,主要判断在长时间处于满负荷或者超出系统承载能力的条件下,系统是否会崩溃
    • iii.执行测试,获取测试结果,分析测试结果

10.Jmeter元件执行顺序?
1 .配置元件

  1. CSV Data Set Config
  2. HTTP请求默认值
  3. HTTP信息头管理器
  1. 前置处理器:在其作用范围内的每一个sampler元件之前执行;jdbc 预处理器、html链接解析器,用户参数
  2. 定时器:对其作用范围内的每一个sampler有效
  3. 取样器:包含http请求、jdbc请求、邮件请求
  4. 后置处理器:在其作用范围内的每一个sampler元件之后执行;包含jdbc后处理器、xpath抽取器、正则表达式抽取器
  5. 断言:对其作用范围内的每一个sampler元件执行后的结果执行校验
  6. 监听器:收集其作用范围内的每一个sampler元件的信息并且呈现出来;图表结果、查看结果树、汇总报告、断言结果

11. 常用抓包工具有:

  • Charles,
  • wireshark,
  • fiddler,
  • 谷歌浏览器内置抓包 f12,fiddler;(只需辽解面试尽量不要提及)

12. 简述Loadrunner的步骤
使用LoaderRunner进行性能测试的几个步骤:

  1. 开发脚本(在Vugen中执行):涉及到,脚本的录制、参数化、事务的添加、检查点的设置、同步点的设置。loaderRunner脚本是符合c语言语法的。
  2. 场景建立(在Controller中执行):加入脚本(如果脚本中有集合点,应该然集合点在这里生效)、用户设置。
  3. 测试结果的分析。

13. LoadRunner分为哪三个模块?请简述各模块的主要功能。

  • Virtual User Generator:用于录制脚步
  • Mercury LoadRunner Controller:用于创建、运行和监控场景
  • Mercury LoadRunner Analysis:用于分析测试结果
  • 4
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值