测试面试题(含答案!)

 

1.问:你在测试中发现了一bug ,但是开发经理认为这不是一bug你应该怎样解决。

1、将问题提交到缺陷管理库里面进行备案
2、要获取判断的依据和标准
根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;根据用户的一般使用习惯,来确认是否是缺陷;
3、与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;
4、合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并上级做出决定

 

2.问:给你一个网站,你如何测试?
1、查找需求说明、网站设计相关文档,分析测试需求。
2、制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:
  功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试
3、设计测试用例:
  功能性测试可以包括,但不限于以下几个方面:
    链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回等。
     多媒体元素是否可以正确加载和显示。多语言支持是否能够正确显示选择的语言等。
  界面测试可以包括但不限于一下几个方面:

  页面是否风格统一,美观页面布局是否合理,重点内容和热点内容是否突出控件是否正常使用

 性能测试一般从以下三个方面考虑:
    压力测试负载测试强度测试
 数据库测试要具体决定是否需要开展。数据库一般需要考虑连结性,对数据 的存取操作,数据内容的验证等方面。
 安全性测试:软件安全性测试包括程序、数据库安全性测试。根据系统安全指标不同测试策略也不同。

   ①用户认证安全的测试要考虑问题:

  •  明确区分系统中不同用户权限 、
  • 系统中会不会出现用户冲突 、
  • 系统会不会因用户的权限的改变造成混乱 、
  • 用户登陆密码是否是可见、可复制 、
  • 是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)、
  • 用户退出系统后是否删除了所有鉴权标记,
  • 是否可以使用后退键而不通过输入口令进入系统 、

  ②系统网络安全的测试要考虑问题 :

  • 测试采取的防护措施是否正确装配好,
  • 有关系统的补丁是否打上 、
  • 模拟非授权攻击,看防护系统是否坚固 、
  • 采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,现在最常用的是 NBSI 系列和 IPhacker IP ) 、
  • 采用各种木马检查工具检查系统木马情况 、采用各种防外挂工具检查系统各组程序的外挂漏洞

   ③数据库安全考虑问题:

  • 系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)、
  • 系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了障碍) 、
  • 系统数据可管理性 、
  • 系统数据的独立性 、
  • 系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

   兼容性测试

   浏览器的兼容性;操作系统的兼容性;软件平台的兼容性;数据库的兼容性

  1. 开展测试,并记录缺陷。

 

3.问:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别? ?
300 个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。300 个用户在一个客户端上,需要更大的带宽。IP 地址的问题,可能需要使用 IP Spoof 来绕过服务器对于单一 IP 地址最大连接数的限制。所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。

 

4.在您以往的工作中,一条软件缺陷(或者叫  Bug )记录都包含了哪些内容?
BUG 产生对应的软件版本和模块、开发的接口人员、BUG 的优先级、BUG 的严重程度、BUG 可能属于的模块,如果不能确认,可以用开发人员来判断、BUG 标题,需要清晰的描述现象、BUG 描述,需要尽量给出重新 Bug 的步骤、BUG 附件中能给出相关的日志和截图、高质量的 BUG 记录就是指很容易理解的 BUG 记录,所以,对于描述的要求高,能提供的信息多且准确,很好的帮助开发人员定位,因此提交高质量的软件缺陷记录需要注意对 BUG 记录的描述质量多且准确。

 

5.BUG  管理工具的跟踪过程
用 BugZilla 为例子
测试人员发现了 BUG,提交到 Bugzilla 中,状态为 new,BUG 的接受者为开发接口人员
开发接口将 BUG 分配给相关的模块的开发人员,状态修改为已分配,开发人员和测试确认BUG

如果是本人的 BUG,则设置为接收;如果是别的开发人员的问题,则转发出去,

下一个开发人员来进行此行为;如果认为不是问题,则需要大家讨论并确认后,拒绝这个 BUG,然后测试人员关闭此问题。
如果开发人员接受了 BUG,并修改好以后,将 BUG 状态修改为已修复,并告知测试在哪个版本中可以测试。
测试人员在新版本中测试,如果发现问题依然存在,则拒绝验证;如果已经修复,则关BUG

 

6.您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?

维持测试人员同开发团队中其他成员 良好的人际关系的关键是什么?
尽量面对面的沟通,其次是能直接通过电话沟通,如果只能通过 Email 等非及时沟通工具的话,强调必须对特性的理解深刻以及能表达清楚。
运用一些测试管理工具如 TestDirector 进行管理也是较有效的方法,同时要注意在TestDirector 中对 BUG 有准确的描述

 

7.在团队中建立测试人员与开发人员良好沟通中注意以下几点:
一真诚
二是团队精神
三是在专业上有共同语言
四是要对事不对人,工作至上
当然也可以通过直接指出一些小问题,而不是进入 BUG Tracking System 来增加对方的好感

 

8.你对测试最大的兴趣在哪里?为什么?

回答这个面试题,没有固定统一的答案,但可能是许多企业都会问到的。提供以下答案供考:
最大的兴趣,感觉这是一个有挑战性的工作;测试是一个经验行业,工作越久越能感觉到做好测试的难度和乐趣,通过自己的工作,能使软件产品越来越完善,从中体会到乐趣

(回答此类问题注意以下几个方面:尽可能的切合招聘企业的技术路线来表达你的兴趣,例如该企业是数据库应用的企业,那么表示你的兴趣在数据库的测试,并且希望通过测试提升自己的数据库掌握能力。表明你做测试的目的是为了提升能力,也是为了更好的做好测试;提升能力不是为了以后转开发或其他的,除非用人企业有这样的安排。不要过多的表达你的兴趣在招聘企业的范畴这外。比如招聘企业是做财务软件的,可是你表现出来的是对游戏软件的兴趣;或招聘是做 JAVA 开发的,而你的兴趣是在 C 类语言程序的开发。)

 

9.你自认为测试的优势在哪里?
该面试也没有固定不变的答案,但可参考以下几点,并结合自身特点:
有韧性、有耐心、做事有条理性、喜欢面对挑战、有信心做好每一件事情较强的沟通能力、从以前的经理处都得到了很好的评价表明我做的很好

 

10.简述你在以前的工作中做过哪些事情,比较熟悉什么。
此问题每个人都不一样。参考答案如下。
我过去的主要工作是系统测试和自动化测试。在系统测试中,主要是对 BOSS 系统的业务逻辑功能,以及软交换系统的 Class 5 特性进行测试。性能测试中,主要是进行的压力测试,在各个不同数量请求的情况下,获取系统响应时间以及系统资源消耗情况。自动化测试主要是通过自己写脚本以及一些第三方工具的结合来测试软交换的特性测试。在测试中,我感觉对用户需求的完全准确的理解非常重要。另外,就是对 BUG 的管理,要以需求为依据,并不是所有 BUG 均需要修改。测试工作需要耐心和细致,因为在新版本中,虽然多数原来发现的 BUG 得到了修复,但原来正确的功能也可能变得不正确。因此要注重迭代测试和回归测试。

 

11. 设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试?
设计测试用例时需要注意的是,除了对整体流程及功能注意外,还要注意强度测试、性能测试、压力测试、边界值测试、稳定性测试、安全性测试等多方面。(测试用例需要考虑的四个基本要素是输入、输出、操作和测试环境;另外,测试用例需要考虑的是测试类型(功能、性能、安全„„),这部分可以参照 TP 做答。此外,还需要考虑用例的重要性和优先级)


12. 在windows 下保存一个文本文件时会弹出保存对话框,如果为文件名建立测试用例,等价类应该怎样划分?
单字节,如 A;
双字节, AA、我我;
特殊字符 /‘。‘;、=-等;
保留字,如 com;
文件格式为 8.3 格式的;
文件名格式为非 8.3 格式的;


13.假设有一个文本框要求输入 0 10  个字符的邮政编码,对于该文本框应该怎 样划分等价类?
特殊字符,如 10 个*或¥;
英文字母,如 ABCDefghik;
小于十个字符,如 123;
大于十个字符,如 11111111111;
数字和其他混合,如 123AAAAAAA;
空字符;
保留字符

 

14.软件测试项目从什么时候开始,?为什么?
软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发过程中产生的所有产品都测试,并且软件缺陷存在放大趋势.缺陷发现的越晚,修复它所花费的成本就越大.

 

15. 一个测试工程师应具备那些素质?
1、责任心
2、沟通能力
3、团队合作精神
4、耐心、细心、信心
5、时时保持怀疑态度,并且有缺陷预防的意识

6、具备一定的编程经验

 

16.你认为做好测试计划工作的关键是什么?

明确测试的目标,增强测试计划的实用性

  编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确坚持“5W”规则,明确内容与过程“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。

采用评审和更新机制,保证测试计划满足实际需求测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。

分别创建测试计划与测试详细规格、测试用例应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。

测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。

 

17.您认为做好测试用例设计工作的关键是什么?
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题

 

18.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
性能测试的目的主要是发现在并发多用户和大数据量操作时是否会出现与需求有差异的地方。性能测试工作的关键是做好系统分析和功能分析,确定系统瓶颈所在

 

29.你的测试职业发展目标是什么?
测试经验越多,测试能力越高。所以我的职业发展是需要时间累积的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前 3 年累积测试经验,不断的更新自己改正自己,做好测试任务。

 

20.测试结束的标准是什么?
从微观上来说,在测试计划中定义,比如系统在一定性能下平稳运行 72 小时,目前 Bug Tracking System 中,本版本中没有一般严重的 BUG,普通 BUG 的数量在 3 以下,BUG 修复率 90%以上等等参数,然后由开发经理,测试经理,项目经理共同签字认同版本 Release。
如果说宏观的,则是当这个软件彻底的消失以后,测试就结束了。

 

21.面向对象的测试用例设计有几种方法?如何实现?
1.给类中的每个构造函数设计一组测试用例
2.组合类中的类变量、实例变量
3.组合类中的各种方法
4.根据前置条件和后置条件设计测试用例
根据代码设计测试用例

 

22.LoadRunner 分为哪三个模块?请简述各模块的主要功能。
Virtual User Generator:用于录制脚步
Mercury LoadRunner Controller:用于创建、运行和监控场景

Mercury LoadRunner Analysis:用于分析测试结果

23.还有什么想要问我的吗?
  这个问题在每个面试的尾声都会被问到,直接说没有,会让HR觉得你不关心这个岗位,问的多了又会显得面试之前没有做好充分的准备。所以问题一般控制在两到三个比较好。
  1、公司的研发团队目前是什么规模?开发、测试分别有多少人?
  2、公司的业务方向是什么?
  3、如果我入职之后,我的工作职责是什么?

 

 

 

 

 

 

本文链接:https://my.lmcjl.com/post/2417.html

展开阅读全文

4 评论

留下您的评论.