• 四年测试的面试题分享


    其实想说为什么每次面试都要先来点自我介绍,说来说去简历上都有,我曾想过不能快速进入面试阶段嘛

    我的专业技能:

    • 熟练掌握 Jmeter、Postman 、fiddler、Charles、Wireshark工具的使用
    • 熟练使用禅道缺陷管理工具和GIT、SVN分布式版本控制软件
    • 熟悉使用 Selenium 自动化测试工具,熟练使用 Python 编写自动化脚本
    • 熟悉使用 MySQL、SqlServer 数据库,进行基本的语句操作,如增删查改
    • 会使用Linux系统操作命令以及使用shell编写普通脚本
    • 熟悉使用k8s以及docker运行命令
    • 熟悉使用python+Appnium进行对安卓手机进行元素定位操作

    基本上这些专业技能是在工作上用过或者自己摸索过,实战经验比较少,下面是我整理常问的面试回答

    1.TCP/UDP的区别?

    TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换

    UDP-非可靠连接,会丢包,没有校验,速度快,无须握手过程

    2.app专项测试要注意的点
    Ø内存占用
    Ø CPU占用
    Ø电量消耗
    Ø流量消耗
    Ø帧数
    http与https的区别
    • HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
    • 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
    • HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
    • http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
    • HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。
    3.web测试和APP测试的区别
      web项目,一般都是b/s架构,基于浏览器的,一般要测试兼容性问题,而app则是c/s的,必须要有客户端。那么在系统测试测试的时候就会产生区别了。
    首先从系统架构来看的话,web测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是app端是不能够保证完全一致的,除非用户更新客户端。如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。
    接着是性能方面,web页面可能只会关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory这些了。
    相比较web测试,app更是多了一些专项测试:
    健壮性测试:
    一些异常场景的考虑以及弱网络测试。这里的异常场景就是中断,来电,短信,关机,重启等。
    而弱网测试是app测试中必须执行的一项测试。包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。需要测试丢包,延时的处理机制。避免用户的流失。这些在前面的弱网测试那篇已经讲过,这里不再讲了。  
    安装、卸载、更新
     
    4.如何定位测试用例的作用?
    组织性:编写、组织性、功能覆盖、重复性、跟踪、测试确认如何定位测试用例的作用?
     
    5.软件测试的目的:
    1.验证软件需求和功能是否得到完整实现
    2.验证软件是否可以发布
    3.尽可能多的发现软件中的bug
    4.尽可能早的发现软件中的bug
    5.对软件质量做出合理评估
    6.预防下个版本可能出现的问题
    7.预防用户使用可能出现的问题
    8.发现开发过程中的问题和风险
     
    6.处理音视频的过程?
     
    7.你用过docker,微服务是什么?
     
    8.两个列表如何用python语法合并

    9、您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

    我曾经做过web测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户体验测试。最擅长的是功能测试、自动化测试。

    10、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。

    1.等价类划分
      划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.
    2.边界值分析法
      边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
      使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.
    3.错误推测法
      基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.
      错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.

    11、你以前工作时的测试流程是什么?

    公司并没有完整的测试流程,但每个测试人员都有自己的一套测试流程。我说下我1年来不断改正(自己总结,吸取同行的方法)后的流程吧。需求评审(有开发人员,产品经理,测试人员,项目经理)->需求确定(出一份确定的需求文档)->开发设计文档(开发人员在开始写代码前就能输出设计文档)->想好测试策略,写出测试用例->发给开发人员和测试经理看看(非正式的评审用例)->接到测试版本->执行测试用例(中间可能会补充用例)->提交bug(有些bug需要开发人员的确定(严重级别的,或突然发现的在测试用例范围之外的,难以重现的),有些可以直接录制进TD)->开发人员修改(可以在测试过程中快速的修改)->回归测试(可能又会发现新问题,再按流程开始跑)

     

    12、在Linux系统中,如何查看服务端口号

     netstat -tunlp

    netstat -tunlp只显示tcp,udp的端口和进程等相关情况

    13、当开发人员说不是BUG时,你如何应付?

      开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动?3方商量确定好后再看要不要改。二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。

    14.两个列表在python中如何合并

     直接运行set函数

    15.什么是__init__?

    __init__是Python中的方法或者结构。在创建类的新对象/实例时,将自动调用此方法来分配内存。所有类都有__init__方法。

     
     
    人力资源问题
    1.你的职业规划发展是什么?自身优势或劣势在哪里?
     
    2.为什么从上家公司离职?

     

  • 相关阅读:
    前端知识点回顾之重点篇——ES6的async函数和module
    前端知识点回顾——Javascript篇(五)
    前端知识点回顾之重点篇——ES6的Iterator和Generator
    前端知识点回顾之重点篇——ES6的Promise对象
    前端知识点回顾——Javascript篇(四)
    前端知识点回顾之重点篇——JavaScript异步机制
    前端知识点回顾之重点篇——面向对象
    JS设计模式(9)享元模式
    JS设计模式(8)模板方法模式
    JS设计模式(7)组合模式
  • 原文地址:https://www.cnblogs.com/zqxFly/p/16070011.html
Copyright © 2020-2023  润新知