测试人员常见的面试题(一)

严重级 描述所 告的缺陷的严重程度

缺陷描述 缺陷的简单描述
运行环境 缺陷 告发生的环境中操作系统的信息
重现步骤 对发现的缺降进行详细的描

实验结果 运行测试用例产生的实际结果
预期结果 由需求 告得知的运行测试用例可能产生结果
附件 添加图片或结果文件的方式直观展示缺陷

2.开发人员修复缺陷后,如何保证不影响其他功能br> Bug的修复以及新功能的添加都有可能对版本造成一些影响,为了避免,在新版本发布以后,首先会对新版本做一个基础的流程测试也叫做冒烟测试,如果测试基本流程都顺利通过没有任何问题,那么测试人员可以继续进行详细的测试,否 则就将冒烟测试中出现 的问题以及问题有可能出现的原因反馈给开发人员,由开发人员修正后再次发版,进行测试。这是一个迭代的过程。

3.压力测试和负载测试的区别要关注哪些指标br> 负载测试
模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现了一种方法或一种技术。
压力测试
是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。
负载测试是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题。负载测试是一种测试方法,可以为性能测试、压力测试所采用。
性能测试是为获取或验证系统性能指标而进行测试。多数情况下,性能测试会在不同负载情况下进行。
压力测试通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。

4.SQL中having 是做什么用的HERE 和 Having 有什么区别br> 对由sum或其它集合函数运算结果的输出进行限制。
where : 约束声明,在查询结果返回之前对数据库中的查询条件进行约束 其后不能写聚合函数
having 过滤声明,在查询结果返回之后进行过滤,

测试方法在执行完相关的SQL后就会自动回滚,就不会对数据库造成数据”污染”

8.如果项目周期很短,测试人力匮乏,你是怎么协调的br> 依据代码review的结果和影响范围,对测试内容进行适当的裁剪。
借助自动化工具的支持,提高测试案例的执行效率。
调整组内任务的优先级,进行人力协调,优先投入最紧要的项目。
必要的情况下加班

2.在微信客户端使用搜狗输入法打字,手机屏幕突然黑了,请问有哪些原因会导致这个现象别如何进行排查br> 1 分析现象,确定问题范围, 列出可能原因,逐条排除。
2 不太清楚的话,查询 关键字, 知道 大致范围, 直接去
3 所有程序都是通过一个个管子链接在一起, 深入挖掘,看看能不能找到 必经的管道, 最终点,深入挖掘一下。

3.你在测试过程中发现了一个重现率低的 bug,你会如何处理br> 测试客户端或web功能时,打开抓包工具,跟踪自己的操作路径。
当涉及到server功能时,就依赖于开发了,有经验的开发会在自己的代码中打很多的log,去log文件里按时间找自己的操作即可。通过分析log,可以:

  1. 方便的回溯随机bug,出现问题直接查错误日志、定位原因、告知开发,就不需要再绞尽脑汁的重现bug了,提高测试质量。
  2. 查log能够准确的定位问题。特别是比较复杂的系统,一环套着一环,通过查log剥茧抽丝逐步定位问题所在。提高工作效率。
  3. 查log的过程也是对系统实现细节的深入学习过程,通过了解到的技术实现,完善测试用例,避免漏测。
    但在实际的测试中,可能会有很多意想不到的情况,比如开发忘记在出错点打log了,你分析半天发现没哟,浪费时间所以测试之前一定要提醒开发在关键点打好log:
    1、异常处理。系统各层次都要显式处理异常,任何可能出现的错误都能在日志中找到原因和地点。
    2、重要的逻辑处一定要有日志。能够通过日志看出是哪个文件的哪个方法出了问题。
    4.测试发现了一个高优先级的 bug,在上线前产品人员评估后确认该 bug不阻塞上线,可以以后再修复。但是上线后收到了很多的用户反馈,说该问题影响到了用户的使用习惯。因此紧急上线了一个补丁包修复该问题。请问如何保证同类问题以后不再发生请将找出的问题原因和解决方法写出来)
    BUG出现的原因是什么,可能有以下几种情况:
    1)
    测试环境无法重现
    :可能是线上的环境造成的BUG或者是测试环境无法模拟的情况
    解决方法:尽量完善测试方法,尽可能模拟仿真线上测试环境,以及增加上线后的复查确认测试。
    2)
    漏测
    A、测试用例裁剪过度
    :错误预估优先级或者时间过于紧迫裁剪了用例
    解决方法:在后续版本或者其他项目启动时重新评估测试时间,要求专家介入对优先级进行评估,避免此类事件再次发生。
    B、测试用例执行期间遗漏
    :由于测试人员疏忽造成测试用例执行遗漏
    解决方法:调查该名测试人员的整个测试过程的工作情况,并随机抽测其他模块,对该名测试人员进行综合评估,给出结论,是因为疏忽漏测,还是因为负责模块过多漏测,还是有其他原因。应该及时反馈给测试经理,并对该测试人员后面的工作进行调整和处理。
    C、
    测试用例覆盖不全
    :需求模糊导致的,由于用例评审的不严格造成的;中途需求变更造成的;由于某些其他因素造成的
    解决方法:找到原因,并进行记录,在以后的项目或者下一版本改进。并且要
    及时增加、补充用例
    3)程序的质量问题
    出现bug,肯定是因为程序出了问题。黑盒测试是很难发现逻辑和代码层面的所有问题的。所以也应该从开发的角度去评估bug出现的原因,可能是因为开发粗心疏忽导致的,也可能是开发人员蓄意隐藏出现的。
    解决办法:首先确定bug出现的原因,如果是因为粗心,如错误的大小写、错误的参数变量导致的,应该让对应开发人员做出整改。如果是深层次的逻辑问题导致的,那应该在后续项目和版本中加大代码的走查测试。
    4)产品实际使用超出想象,导致的bug
    这应该是整个团队的问题,应该吸取经验。规划一款新领域、业务的产品,对这个领域可能没有深入的理解,那么可能会导致一些意想之外的BUG。比如我经历过的无人值守停车场的物联 项目,主要依赖于摄像头进行车牌识别然后进行车辆的放行。因为周期短,并且地域的限制没做太过周全的测试,一开始也没有暴露问题。但是实际使用中,发现摄像头外壳因为没有考虑导热设计,导致在高温暴晒下出现摄像机宕机。在阴暗潮湿环境下,车辆如果角度不正对摄像头,导致识别错误等。你能说这是测试的问题,或者开发的问题,或者硬件的问题,工艺的问题。只能是大家经验不足,是团队所有人的问题。
    5)产品发布后,在某种操作系统下出现兼容性的问题,是谁的责任br> 主流的系统,比如Win10,有兼容性的问题,肯定是测试的问题,没有覆盖主流的系统。后面应该明确需要兼容的系统并进行测试。
    历史系统,比如XP,有兼容性问题。但是规格明确写明不支持XP。那么有可能是市场调研、需求的问题,没有搞清楚产品的实际客户和特性。也有可能是用户手册的问题,没有提示不支持XP,导致错误的安装。还有可能是软件的问题,没有做保护,检测到是XP系统,就应该停止安装并提示系统版本太旧。而不是一路走到黑,安装完出现一些兼容性的问题。这都是需要后期进行考虑的。

5.用例设计:QQ发消息功能(写出你能想到的所有测试点,用力结构要清晰)
1.消息内容类型:纯文字、纯图片、纯表情、文字+表情、文件

2.发送键:点击“发送”发送、使用快捷键发送(电脑端)

3.用户在线状态:在线状态、离线状态

4. 络情况: 络正常、 络异常

5.群聊情况:@功能(@个人、@多个人、@全部 )、提醒功能

群聊聊天数量统计是否正常

群聊信息较多时,是否有一键到上次看到的消息,从哪开始

综合以上情况设计用例:

1.单聊:发送文字/表情/图片,对方是否能接收成功,且消息发送时间排序正常,聊天记录条数是否正常

2.群聊:发送文字/表情/图片,对方是否能接收成功,且消息发送时间排序正常,聊天记录条数是否正常

3.离线状态下,是否支持消息发送送失败后,是否支持重新发送/p>

4.离线状态下,是否支持接收消息线后,是否正常接收到离线消息/p>

5.未加好友状态下:搜索QQ 开启的临时会话,是否能发送文字/表情/图片/文件;群聊开启的临时会话,群主没有设置不可发起临时会话,是否能发送文字/表情/图片/文件;群主设置了不可发起临时会话,是否能发送文字/表情/图片/文件

6.在线用户发送文件给离线用户,发送到一半时,中断后,是否能继续再次发送

7.在线用户发送文件时,是否能够正常接收

8.屏蔽功能开启和关闭:屏蔽功能开启后,是否屏蔽消息提醒,但是还是可以点开查看消息蔽功能关闭后,是否正常接收消息并提醒/p>

9.发送文字、图片、文件的最大限制

10.发送内容为空或纯空格,是否支持发送/p>

11.发送内容包含敏感字眼时,是否被和谐/p>

12.@个人、多个、全部,是否有消息提示

13.消息中发送的 址,是否支持打开/p>

14.已经发送和接收的消息,是否支持复制或粘贴或转发/p>

15.已经发送的消息是否支持撤回,撤回时间有效性验证

16.频繁下拉上划刷新页面,页面是否正常

一、 单选题(10分)
1.为了提高测试的效率,应该。
(A)随机地选取测试数 ;
(B)取一切可能的输入数据作为测试数据:
?在究成编码以后制定软件的测试计划;
(D)选择发现错误可能性大的数据作为测试数据。
[解析] 提高测试效率的方法有很多种,本题中最适当的就是选择发现错误的可能性最大的数据作为测试数据。其他几种方法对提高测试效率作用不大。
2.软件测试员究竟做些什么( )
(A)软件测试员的目的是发现软件缺陷
(B)软件测试员的目的是发现软件缺陷,尽可能早一些
?软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复
(D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复
3.下列说法不正确的是( )
(A)测试不能证明软件的正确性(B)测试员需要良好的沟通技巧
?验收测试是以最终用户为主的测试(D)成功的测试是发现了错误的测试
4.Linux 系统中下面命令中哪个是用来停止进程的命令( )
(A)stop (B)down ?kill (D)以上都不是

5.用于文件系统直接修改文件权限管理命令为:( )
(A) chown (B)chmod (eychgrp (D)umask
6.改变文件所有者的命令为( )
(A)chmod (B)touch ?chown (D)cat
7.大下面有关软件缺陷的说法中错误的是()
(A)缺陷就是软件产品在开发中存在的错误
(B)缺陷就是软件维护过程中存在的错误、毛病等各种问题
?缺陷就是导致系统程序崩溃的错误
(D)缺陷就是系统所需要实现某种功能的失效和违背
8.下列项目中不属于测试文格的是( )
(A)测试计划
(B)测试用例
?程序流程图
(D)测试 告
9.划分软件测试属于白盒测试还是黑盒测试的依据是( )
(A)是否执行程序代码
(B)是否能看到软件设计文档
?是否能看到被测源程序
(D)运行结果是否确定

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月6日
下一篇 2021年3月6日

相关推荐