流程管理-测试面试题

挺全的

当个好的测试经理不容易,懂得这些很重要 - 小学生II - 博客园

问题流程

  1. 拉群,包括测试经理和研发经理和对应研发负责人
  2. 表述,说清问题的123,影响面,影响程度,后果
  3. 研发能够顺利解决,那么结束。
  4. 不能,@研发经理和测试经理定论。。
  5. 不回复,去工位找人尽量快速会议

开题自我介绍

  1. 我是xxx,15年毕业,在xxx工作过。
  2. 有三年的团队管理经验
  3. 最近一份是在x x x做设计类项目,期间主要负责xxx的项目,SDK项目及第三方平台的测试
  4. 项目中主要负责功能,接口,性能,自动化测试
  5. 另外负责测试团队的面试招聘,技术提升,任务分配,资源协调。
  6. 有独立实施自动化的项目经验
  7. 并且有丰富的解决用户反馈能力
  8. 离职原因:已经工作满1年了,无论是技术上还是个人成长上都成长了很多。但是职业发展有上限,所以想换一个公司体现价值。

测试项目 

  1. 项目规模:多少端,多少开发测试
  2. 测试流程
  3. 测试流程:冒烟,手工,接口自动化,性能
  4. 项目周期:几轮多少case,bug,
  5. 印象深刻的问题:没有鉴权。
  6. 遇到问题,如何解决:集成测试通过UI自动化解决,接口测试推动测试左移。
  7. 接口自动化使用:Python+unittest+requests+gitlab+jenkins+企业微信消息通知。
  8. UI自动化使用:Python+webdriver+pytest+Selenium+gitlab+jenkins+企业微信消息通知。
  9. 接口自动化带来了每人每周五减少1H的集成时间,也就是9H。
  10. 改进地方,unittest较老,可以优化到pytest。UI时间过长,可以搞多线程。

测试流程

  1. 收集需求
  2. 筛选需求
  3. 技术调研
  4. 需求初评审
  5. 需求定稿
  6. 人员分配
  7. 估时
  8. 技术评审
  9. 用例评审
  10. 准备测试数据及环境
  11. API测试
  12. 开发自测
  13. ShowCase
  14. 一轮测试
  15. 修复问题
  16. 二轮测试
  17. 集成测试
  18. 予发布测试
  19. 相关人员验收测试
  20. 修复验收问题
  21. 测试整体回归
  22. 上线
  23. 正式环境验收
  24. 跟踪处理缺陷

线上问题处理

  1. 快速响应
  2. 迅速沟通找出复现步骤
  3. 紧急问题临时解决用户问题,快速沟通相关人士进行紧急修复
  4. 记录该问题
  5. 问题复盘
  6. 问题根本原因,如何规避

线上问题原因

  1. 需求不明确
  2. 需求有变更未同步
  3. 用例覆盖不全
  4. 未严格执行测试
  5. 时间不允许,低优先级未执行
  6. 测试环境与正式不同
  7. 其他组同时修复问题影响到本组
  8. 上线分支有误

期望薪资

  1. 有5年的测试经验
  2. 对于测试流程,规范非常熟悉,有相对应的积累,并且有3年的管理经验
  3. 在技术方面也精通了接口自动化和UI自动化且熟悉性能测试
  4. 对标市场,我的能力也值这个预期
  5. 目前也有两个offer在手里
  6. 如果公司合适,还是希望来到贵公司的

询问结果

  1. 现在有offer等待回复
  2. 想去贵公司
  3. 还有没有机会

谈试用期

  1. 有经验,很快适应公司节奏
  2. 薪水打折还不如上家公司薪水
  3. 有offer比这好,但还是更希望这家公司
  4. 不能6个月那就3个月

一、测试人员需要具备哪些素质

  1. 做测试应该要有一定的协调和沟通能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作推进就会有难度。
  2. 测试人员要有一定的耐心,因为是重复性的工作。
  3. 除了耐心,还要有敏感。要对问题有敏感性。
  4. 有原则性,是问题就按照问题解决。
  5. 还要有一定的抗压能力。

二、你为什么能够做测试这一行

  1. 入行是因为兴趣。
  2. 坚持下来是越来越有兴趣和成就感。
  3. 综合实力:沟通能力,耐心、细心等外在因素。我认为我是胜任这个工作的。

三、测试的目的是什么?

 测试的目的是找出软件产品中的绝大多数错误,是软件尽可能的符合用户的要求。当然软件测试是不可能找出全部错误的。

四、怎样看待加班问题

 加班的话我没有太多意见,但是我还是觉得如果能够合理安排时间的话,不会有太多时候加班的。

五、结合你以前的学习和工作经验,你认为如何做好测试。

 根据我以前的工作和学习经验,我认为做好工作首先要有一个良好的沟通,只有沟通无障碍了,才会有好的协作,才会有更好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试工作。

六、你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度的保证软件的质量?

  1. 测试并不能完全保证质量,也不可能单独依赖测试部门来保证,需要规范的项目流程。
  2. 首先产品要保证迭代中产品逻辑的严谨性,对于一些问题和结果要有预判。
  3. 设计部门要满足迭代的同时也要保证设计的延续性。
  4. 最重要的是开发,在做技术方案的时候要严谨,要考虑兼容性,性能,安全性,还有重复使用性的因素,并且开发完成要充分的自测
  5. 测试,验证产品的逻辑和功能,并且要站在用户的角度对产品的交互做评估,尽可能多的使用各种测试手段去保证产品质量

七、一个测试工程师应该具备哪些素质和技能?

  1. 掌握基本的测试基础理论
  2. 本着找出软件存在的问题的态度进行测试,不要以挑刺的形象出现
  3. 可熟练阅读需求规格说明书等文档
  4. 以用户的观点看问题
  5. 有强烈的质量意识
  6. 细心和责任心
  7. 良好的有效的沟通方式(与开发人员及客户)
  8. 具有以往的测试经验能够及时准确的判断出高危险区在何处
     

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

  • 首先产出冒烟用例:UI及整个流程下来
  • 其次使用用例设计方法进入设计:
    使用边界值: -1 +1
    使用等待类划分:必填,复制粘贴剪切,删除,敏感词。状态切换
    安全性和性能:报错的信息是否入库,重复点击,同样内容提交
    使用因果图:若结果过多
  • 最后根据项目和业务需要,判断是否进行压测 
  1. 首先等价类划分和边界值划分来考虑独立模块
  2. 然后通过因果图来考虑全局
  3. 复杂模块类似筛选可以使用正交
  4. 根据项目熟悉程度和开发提测频繁问题使用错误推测
  5. 最后也要用场景分析来模拟用户来进行操作使用

(一)等价类划分

 常见的软件测试面试题划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.

(二)边界值分析法

 边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.

 使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

(三)错误推测法

 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.

 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例-例如, 在单元测试时曾列出的许多在模块中常见的错误-以前产品测试中曾经发现的错误等, 这些就是经验的总结。还有, 输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行-这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例.

(四)因果图方法

 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等-考虑输入条件之间的相互组合,可能会产生一些新的情况-但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多-因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例-这就需要利用因果图(逻辑模型)-因果图方法最终生成的就是判定表-它适合于检查程序输入条件的各种组合情况.

(五)正交表分析法

 有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。

(六)场景分析方法

 指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。

九、管理测试人员

        识人善用,充分发挥成员各自优势,并为队员提供适度的宽松环境和自主的时间支配,这样组员积极性会高,团队效率会高。要做组员的坚强后盾,当工作中遇到问题时,能为他们提供支持和帮助,并把自己的知识尽可能的转移给组员,促进下属成长,自己从中解放出来思考更多问题。

十、如何带老手

        带老手的流程跟新人大体相似,也是安排导师、安排办公环境、介绍有关人员。。。不过相对于新人来说,老手的适应期更短,所以从测试经理来讲,更多的时候会给老手制定一些目标,通过目标来检查新人的工作是否能满足部门要求,在这期间针对具体的问题跟他做一些沟通,通过解决实际问题的方式来帮助他提升能力、适应新环境。

        另外,作为测试经理需要多跟团队成员去沟通,很多IT从业者不爱主动找人说话,也不擅言辞。作为测试经理更应该主动去找他们沟通

十一、测试人员工作发生问题测试经理应该如何做?

  测试人员工作发生问题是测试经理经常要面对的问题,作为测试部门的领导,首先要做的是指出测试人员所犯的错误,使其尽快改正错误。

  唯一不能做的就是盯着下属的错误不放。总盯着下属的失误,是一个领导者的最大失误。英国行为学家波特说:当遭受许多批评时,下级往往只记住开头的一些,其余就不听了,因为他们忙于思索论据来反驳开头的批评。身为测试经理要根据测试人员的心理来进行指导,最大限度的调动每个人员的积极性来参加工作。

十二、移动端版本

        安卓12,iOS15

十三、浏览器内核

  1. IE浏览器内核:Trident内核,也是俗称的IE内核;
  2. Chrome浏览器内核:Blink内核;主做chrome就要多版本兼容,关注最新版
  3. Firefox浏览器内核:Firefox内核;
  4. Safari浏览器内核:Webkit内核;
  5. 360浏览器、猎豹浏览器内核:IE+Chrome双内核;
  6. 搜狗、遨游、QQ浏览器内核:Trident(兼容模式)+Webkit(高速模式);
  7. 2345浏览器内核:IE+Chrome双内核;

十四、SVN和git的区别

        都是版本控制工具,SVN主线和分支URL地址不一样,git分支和主线的URL地址一致。方便管理

十五、页面空白,如何定位问题?

  1. 首先判断网络
  2. 核对URL
  3. 通过抓包工具核对请求头,请求参数,请求体。返回体
  4. 返回体正确前端渲染问题
  5. 返回体若错误
  6. 核对测试库数据是否正确
  7. 数据库正确则后端问题,数据库内容错误,垃圾数据
  8. 后端问题可以通过阿里云查询日志,深入解析

十六、讲一下白盒测试

        需要知道代码内部的实现逻辑,是基于代码的测试,白盒用例测试方法。

  1. 语句覆盖,保证代码每个语句至少要被执行一次。重点在于语句执行
  2. 判断覆盖/分支覆盖,判断结果真和假都要被执行一次。重点在于分支
  3. 条件覆盖,每个判断中每个条件的取值,真/假至少要取值一次
  4. 条件判定覆盖,每个判断中条件取值至少一次,判断结果取真取假至少一次
  5. 条件组合覆盖,每个条件取真取假,条件之间的真假组合情况
  6. 路径覆盖,每一种可能的路径都要执行一遍

十七、APP出现crash的原因

  1. 内存管理错误,可能是内存过低/内存泄漏。
  2. 程序逻辑错误,指针错误/数组越界/堆栈溢出。
  3. 设备兼容,不能兼容特殊机型/系统版本
  4. 网络问题,网络不好,不同网络类型切换,出现稳定性问题。
  5. app的SDK和系统不兼容

十八、测试纸杯的测试点

  1. 功能性,装水是否漏水,能否喝到水。
  2. 安全性,是否有毒或者细菌。
  3. 可靠性,不通高度掉落的损伤程度。
  4. 可移植性,放在不同地步,不同温度,不同环境下是否均可使用。
  5. 兼容性,可以容纳各种液体和固体。
  6. 应用性,是否烫手防滑方便使用。
  7. 疲劳测试,装水放一定时间看是否漏水。

十九、Web测试和App测试的区别?

  1. 测试类型基本相似,都需要功能测试,性能测试,安全测试,接口测试,兼容测试
  2. 主要区别,web一般是b/s架构,基于浏览器的。app是c/s架构,是有客户端的。
  3. web端只要更新了服务端,前端基本同步更新
  4. app大部分是要更新app的
  5. 性能角度,web基本只关心响应时间,而app要关心流量,电量,响应速度,cpu的占用率,包大小
  6. web的兼容4大主流浏览器:chrome,safari,火狐,ie。还有操作系统的版本
  7. app的兼容需要兼容手机和pad,还有分辨率和屏幕的尺寸

二十、测试计划和测试方案区别?

  1. 测试计划偏管理性的文档
  2. 测试方案偏技术类型的文档
  3. 测试计划是做什么:测试目的和范围,角色与职责,资源和安排,风险和规避措施,测试标准
  4. 测试方案是怎么做:测试方法,测试环境,测试工具等相关的内容

二十一、小程序如何测试?

  1. 小程序入口比较多,哪些需要测,哪些不需要
  2. 需要考虑微信的兼容性和授权
  3. 小程序的白屏时间和更新时间
  4. ios的小程序购买

二十二、复线率不高的bug如何解决?

  1. 在问题环境尽量复现
  2. 保留问题账号,浏览器环境,app和设备一致
  3. 多次尝试无法复现,提交缺陷:描述清楚步骤和带有截图视频接口信息,甚至日志信息,注明偶现
  4. 如果项目时间允许,问题较严重,找开发协助重现
  5. 如果时间不允许,后续跟进,与相关人员同步该隐藏问题

二十三、如何定位前后端问题?

  1. 可以通过接口文档,Charles,浏览器控制台,日志服务来判断。
  2. 页面展示混乱,判断内容无误,前端
  3. 请求参数有误,前端
  4. 返回格式有误,后端
  5. 返回格式正确,内容不正确,后端
  6. 返回内容正确,前端展示不符,前端
  7. 返回正确,展示正确。想要就是不对。库里有垃圾数据
  8. 是否走了前端缓存。
  9. 是否走了后端缓存。

Python接口自动化面试题总结:

接口自动化测试面试题(1)_candy_tse_1的博客-CSDN博客_接口自动化测试面试题及答案

https://www.cnblogs.com/Safi-X/p/12966069.html

python接口自动化+测试开发面试题 - 海之悦 - 博客园

APP测试和Web测试的区别:

APP测试和Web测试的区别 - Paload - 博客园

python中yield的用法详解——最简单,最清晰的解释_mieleizhi0522的博客-CSDN博客_yield

你可能感兴趣的:(面试,面试,单元测试,职场和发展)