zoukankan      html  css  js  c++  java
  • 面试题

    整理下几次面试被问到的问题:

    1.linux 筛选命令,如何在压缩包中筛选文件,如何修改文件,grep,awk

    • 非压缩包文件,可以用grep命令去搜索  grep –i "被查找的字符串" 文件名  

        grep test *file查找文件后缀为file且文件中有test的文件

    • .gz压缩包类型的话,可以用zgrep命令去搜索  zgrep –i "被查找的字符串" 文件名   
    • 其它压缩类型,例如zip好像就不能直接这样去搜索了,可以用:zcat 文件名|grep -c '被查找字符串内容'
    • 编辑文件 vi filename

      awk命令自行百度

    2.fiddler抓包后如何过滤

    1)通过host过滤

      • Zone:指定只显示内网(Intranet)或互联网(Internet)的内容;
      • Host:指定显示某个域名下的会话;

    2)通过客户端进程过滤(client process)

      •   Show only traffic from:你可以指定只捕获哪个Windows进程中的请求;
      •   Show only Internet Explorer traffic:只显示IE发出的请求;
      •   Hide Windows RSS platform traffic:隐藏Windows RSS平台发出的请求;

    3)通过request header过滤

      •   经常使用:Show only if URL contains;
      •   Flag requests with headers:标记带有特定header的请求;
      •   Delete request headers:删除请求header;
      •   Set request header设置请求的header;

    4)通过response status code进行过滤

    5)通过响应类型和大小进行过滤(response type and size)

    6)通过response header过滤

      •   Flag response that set cookies:标记会设置cookie的响应;
      •   Flag response with headers:标记带有特定header的响应;
      •   Delete response headers:删除响应header;
      •   Set response header:设置响应的header;

    3.有没有测过请求头信息内容
    4.描述bug的生命周期

    New(新建/提交缺陷):新发现的Bug,未经评审决定是否指派给开发人员进行修改。

    Open(分配):确认是Bug,并且认为需要进行修改,指派给相应的开发人员。

    Fixed(处理):开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。

    Rejected(拒绝):如果认为不是Bug,则拒绝修改。

    Delay(延后):如果认为暂时不需要修改或暂时不能修改,则延后修改。

    Closed(关闭):修改状态的Bug经测试人员的回归测试验证通过,则关闭Bug。

    Reopen(重启):如果经验证Bug仍然存在,则需要重新打开Bug,开发人员重新修改。

     

    顺便了解下缺陷等级: 

    Bug等级由高到低依次分为:致命Bug、严重Bug、一般严重Bug、低级Bug和建议性的Bug。

    致命的Bug:导致软件停止运行,软件的重要部件无法运行,软件崩溃或者挂起等导致软件不能正常运行。

    严重的Bug:严重地影响软件要求或基本功能的实现,且没有更正办法(重新安装或重新启动该软件不属于更正办法)。使软件不稳定、或破坏数据、或产生错误结果,或部分功能无法执行,而且是常规操作中经常发生或非常规操作中不可避免的主要问题,软件无法满足主要的业务需求,性能、功能或可用性严重降低。

    一般严重的Bug:软件可以满足业务需求,软件性能或响应时间变慢、产生错误的中间结果但不影响最终结果等影响有限的问题。

    低级的Bug:使操作者不方便或操作麻烦,但它不影响执行工作功能或重要功能。界面拼写错误或用户使用不方便等小问题或需要完善的问题。

    建议性的Bug:希望提出的建议以及建议进行但不强制进行的修改。不会给发布的准确性或可用性带来任何严重影响。

    5.访客机小票测试用例

    小票上各项信息是否齐全

    访客本人取票后,拿着小票后能否进入

    访客取票后没有立刻进入,时隔一小时,一天,一礼拜,一个月再次凭该小票能否进入

    访客出门后立刻再次凭该小票是否能够进入,若时隔一小时,一天,一礼拜,一个月再次凭该小票能否进入

    不是访客本人,凭该小票是否能够进入

    (出题者希望我回答的时2,3,4,5点)

    6.是否了解过其他自动化测试框架
    7.目前所在公司测试流程是否规范,为什么
    8.怎么测的接口

    • 通过性验证:首先肯定要保证这个接口功能是好使的,也就是正常的通过性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果。
    • 参数组合:api文档中要求该接口有3个非必填的参数,发送请求时参数自由组合
    • 接口安全:有些接口需要依赖登录接口,那么没有登录直接发送请求后是否可以返回正确结果;有些接口请求需要请求头,那么没有请求头时是否能返回正确结果
    • 异常验证:不按照你接口文档上的要求输入参数,来验证接口对异常情况的校验。也就这三种,必传非必传、参数类型、入参长度。
    • 性能测试:接口并发情况,如上面提到的:一个账号,同时(大于2个请求)对最后一个商品下单,或不同账号,对最后一个商品下单;接口响应时间,响应时间太长了,肯定需要优化,一般都是毫秒级别

    9.shell命令会吗

    百度一下,你就知道

    10.怎么编写用例,策略是什么。

    测试用例编写策略可以从不同的角度分类

    1)从测试内容角度可以分为流程用例和功能点用例。

      • 流程用例指针对业务流程编写的测试用例,通常采用场景法,现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流;
      • 功能点用例指针对具体功能点编写的测试用例,可以采用等价类划分、边界值法、因果图等方法。

    2)根据测试的策略又可以分为通过测试用例和失败测试用例

      • 通过测试用例主要为了验证需求是否可以实现,一般采用等价类划分等测试方法。
      • 失败用例的编写主要为了尽可能多的发现缺陷,一般采用错误推测法、边界值分析法等测试方法。

    3)对于业务流程比较重要的系统,首先要考虑用场景法编写流程用例,要求覆盖所有的基本流和备选流。流程测试用例的完善,可以保证业务流程和业务数据流转正确无误,对软件的质量有了最基本的保障。其次需要编写功能点测试用例,要求覆盖所有的需求,保证需求的各个功能都能正常的实现。

    4)对于所有的软件测试,我们首先要考虑通过测试用例,来证明软件可以满足需求。在保证软件可用的基础上,才会使用失败测试用例,来尽可能多的发现缺陷,保证软件的具有一定的容错和安全能力。

    11.怎么评审用例
    • 用例设计的结构安排是否清晰、合理,是否利于高效对需求进行覆盖。
    • 用例描述是否清晰
    • 优先极安排是否合理。
    • 是否覆盖测试需求上的所有功能点。
    • 用例是否具有很好可执行性。例如用例的前提条件、执行步骤、输入数据和期待结果是否清晰、正确;期待结果是否有明显的验证方法。
    • 是否已经删除了冗余的用例。
    • 是否包含充分的负面测试用例。充分的定义,如果在这里使用2&8法则,那就是4倍于正面用例的数量,毕竟一个健壮的软件,其中80%的代码都是在“保护”20%的功能实现。
    • 是否从用户层面来设计用户使用场景和使用流程的测试用例。
    •  是否简洁,复用性强。例如,可将重复度高的步骤或过程抽取出来定义为一些可复用标准步骤。
    12.Jenkins怎么进行定时构建,怎么执行的
    1)新建一个项目
    2)添加github上的项目并设置git(即把github上的代码拉到本地)
    3)构建触发器(设置触发条件)触发器中有四项:
      • build periodically:周期性进行项目构建,这个是到指定的时间必须触发构建任务
      • poll scm:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作
      • Build after other projects are built:任务关联
      • 触发远程构建 (例如,使用脚本)
      • GitHub hook trigger for GITScm polling: 这个是管理github上代码有变动时构建

    因为是定时构建所以用build periodically

    4)添加构建命令,然后保存项目

    执行的时候在项目中点立即构建就行

    13.怎么进行自动化测试
    了解接口需求->评审接口文档->编写文字用例->用例评审->编写测试代码->提交bug->n轮回归,日常维护
     
     
    14.怎么进行兼容性测试
    目前做的工作基本上都测web端,所以就从web端来回答了。
    兼容测试包括:
      (1)浏览器兼容测试:测试程序在不同浏览器上是否可以正常运行,功能能否正常使用;
      (2)屏幕尺寸和分辨率兼容测试:测试程序在不同分辨率下能否正常显示;
      (3)操作系统兼容测试:测试程序在不同的操作系统下面能否正常运行,功能能否正常使用,显示是否正确等;
    测试主流浏览器和常用操作系统测试主流程和主界面,看看主流程和主界面是否有问题,如果存在问题,那么记录下bug情况,以及浏览器型号和版本,以及操作系统,准确定位bug产生的原因,提交bug,告知开发人员修改。
  • 相关阅读:
    CodeForces 52B Right Triangles 矩阵上的计数
    电影节
    怎样高速生成随机数
    VS2010版快捷键
    两个下拉框选择后取出这两个框的区间值
    vs操作快捷键
    输入框限制,条件是左边输入框输入的数字要小于右边输入框的值,两边输入框要为整型数字。
    DateTime.Parse
    清空文本输入框的值
    sql 随机函数newid()
  • 原文地址:https://www.cnblogs.com/dhs94/p/11249348.html
Copyright © 2011-2022 走看看