测试面试题

1、你认为测试人员需要具备哪些素质
答:做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作上就会不好做。还有测试人员要有一定的耐心,有的时候做测试很枯燥乏味。除了耐心,测试人员不能放过每一个可能的错误。
2、你为什么能够做测试这一行
答:虽然我的测试技术还不是很成熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还有有一定的沟通能力,耐心、细心等外在因素。综合起来看我认为我是胜任这个工作的。
3、软件测试的目的
  • 验证软件需求和功能是否得到完整实现;
  • 验证软件是否可以发布;
  • 尽可能多的发现软件中的bug;
  • 尽可能早的发现软件中的bug;
  • 对软件质量做出合理评估;
  • 预防下个版本可能出现的问题;
  • 预防用户使用可能出现的问题;
  • 发现开发过程中的问题和风险;
4、描述软件测试活动的生命周期
答:需求分析——》测试计划制定和评审——》测试用例编写和评审——》测试用例执行——》bug缺陷管理——》测试报告输出
5、简述一下缺陷的生命周期
答:新建bug——》提交bug——》确认bug——》分配bug——》修复bug——》验证bug——》关闭bug
6、软件开发流程(软件生命周期)
答:计划-》需求分析-》设计-》程序编写-》测试-》运行/维护
7、测试分为哪几个阶段
答:一般来说分为5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试
8、结合你以前的学习和工作经验,你认为如何做好测试
答:根据我以前的工作和学习经验,我认为做好工作首先要有一个良好的沟通,只有沟通无障碍了,才会有好的协作,才会有更好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试工作。
9、什么是兼容性测试?兼容性测试侧重那些方面?
答:
1)兼容性测试是检查软件在不同的软/硬件平台上是否可以正常的运行,即软件可移植性。兼容性测试的类型有:细分为不同平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。 2)兼容性测试侧重点:对兼容环境的分析,通常,是在运行软件的环境不是很确定的情况下,才需要做兼容性测试。
10、如何设计测试用例?
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。检验是否满足客户需求;度量测试人员的工作量;展现测试用例的思路。
测试用例包含:
  • 用例编号 唯一的编号。
  • 用例标题 当前测试用例的用途
  • 测试背景 这个用例属于哪个项目
  • 前置条件 用例执行前应该满足哪些条件
  • 重要级别 定义优先级,分为高低级别
  • 测试数据 具体输入内容
  • 测试步骤 每步做些什么
  • 预期结果 需求文档要求结果
  • 实际结果 实际输出结果
  • 备注
测试用例编写流程:需求分析--》提取测试点--》测试用例编写--》测试用例评审
测试用例常用设计方法:等价类划分法、 边界值分析法、因果图法、场景法、正交表、测试大纲法、错误推断法、随机测试
11、简述集成测试和系统测试的关系?
答: 
1)集成测试是界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”;
2)系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”,系统测试是在经过单位测试和集成测试的阶段测试确认之后,把系统完整地模拟客户环境来进行的测试的。
系统测试是在集成测试完成之后进行的测试,所以它们之间的关系比较紧密。
12、测试方法:动态测试、静态测试、黑盒测试、白盒测试、灰盒测试
黑盒测试方法
1>等价类划分:等价类划分是将系统的输入域划分为若干部分,然后从每个部分选取少量代表性数据进行测试。等价类可以划分为有效等价类和无效等价类,设计测试用例的时候要考虑这两种等价类。
2>边界值分析法:边界值分析法是对等价类划分的一种补充,因为大多数错误都在输入输出的边界上。边界值分析就是假定大多数错误出现在输入条件的边界上,如果边界附件取值不会导致程序出错,
那其他取值出错的可能性也就很小。
边界值分析法是通过优先选择不同等价类间的边界值覆盖有效等价类和无效等价类来更有效的进行测试,因此该方法要和等价类划分法结合使用。
3>错误猜测法:错误猜测法主要是针对系统对于错误操作时对于操作的处理法的猜测法,从而设计测试用例
白盒测试方法
1>语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一个可执行语句至少执行一次。
2>判定覆盖:使设计的测试用例保证程序中每个判断的每个取值分支至少经历一次。
3>条件覆盖:条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支
4>判定条件覆盖:判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行,即要求各个判断的所有可能的条件取值组合至少执行一次。
5>条件组合覆盖:在白盒测试法中,选择足够的测试用例,使所有判定中各条件判断结果的所有组合至少出现一次,满足这种覆盖标准成为条件组合覆盖。
6>路径覆盖:是每条可能执行到的路径至少执行一次
灰盒测试
定义:介于黑、白盒测试之间的,关注输出对于输入的正确性,同时也关注内部表现
静态测试
1,静态测试是指无需执行被测程序,而是通过评审软件文档或代码,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率
动态测试
1,动态测试是指通过运行被测程序,检查运行结果和预期结果的差异,并分析运行效率,正确性和健壮性等
2,静态(看外观)和动态(发动车走一段路)可以用买车来说明
手工测试
由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。
更适用针对深度的测试和强调主观判断的测试
比如:众包测试和探索式测试
自动化测试
1.适用单独的测试工具软件控制测试的自动化执行以及对预期和结果进行自动检查。
2.手工测试和自动化测试的区别?
手动测试:优点:易发现缺陷、容易实施、灵活性 缺点:覆盖量低、重复测试效率低、可靠性低、人力资源依赖
自动化测试:优点:高效率,速度快、高复用性、覆盖率高、准确可靠、不知疲劳 缺点:机械发现缺陷率低、一次性投入大
安全测试
安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。
探索性测试
探索性测试可以是一种测试思维技术。它没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。探索性强调测试人员的主观能动性,抛弃繁杂的测试计划和测试用例设计过程,强调在碰到问题时及时改变测试策略
随机测试
随机测试主要是根据测试者的经验对软件进行功能和性能抽查。
根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。
随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例(TestCase)没有覆盖到的部分。
冒烟测试
关于冒烟测试,就是开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。冒烟测试目的是确认软件基本功能正常,现基本执行对象为测试人员,在正规测试一个新版本之前,投入较少的人力和时间验证基本功能,通过则测试准入。
α测试
α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。
大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试。α测试不能由程序员或测试员完成。
β测试
Beta测试是一种验收测试。Beta测试由软件的最终用户们在一个或多个客房场所进行。
13、测试退出标准
单元测试退出标准
1) 单元测试用例设计已经通过评审
2) 核心代码100% 经过Code Review
3) 单元测试功能覆盖率达到100%
4) 单元测试代码行覆盖率不低于80%
5) 所有发现缺陷至少60%都纳入缺陷追踪系统且各级缺陷修复率达到标准
6) 不存在A、B类缺陷
7) C、D、E类缺陷允许存在
8) 按照单元测试用例完成了所有规定单元的测试
9) 软件单元功能与设计一致
集成测试退出标准
1) 集成测试用例设计已经通过评审
2) 所有源代码和可执行代码已经建立受控基线,纳入配置管理受控库,不经过审批不能随意更改
3) 按照集成构件计划及增量集成策略完成了整个系统的集成测试
4) 达到了测试计划中关于集成测试所规定的覆盖率的要求
5) 集成工作版本满足设计定义的各项功能、性能要求
6) 在集成测试中发现的错误已经得到修改,各级缺陷修复率达到标准
7) A、B类BUG不能存在
8) C、D类BUG允许存在,但不能超过单元测试总BUG的50%。
9) E类BUG允许存在
系统测试退出标准
1) 系统测试用例设计已经通过评审
2) 按照系统测试计划完成了系统测试
3) 系统测试的功能覆盖率达100%
4) 系统的功能和性能满足产品需求规格说明书的要求
5) 在系统测试中发现的错误已经得到修改并且各级缺陷修复率达到标准
6) 系统测试后不存在A、B、C类缺陷
7) D类缺陷允许存在,不超过总缺陷的5%
8) E类缺陷允许存在,不超过总缺陷的10%
注:这只是一套比较理想化的退出标准,但在实际工作中不可能达到这种程度,尤其是测试覆盖率和缺陷解决率不可能是100%。现在的军方标准是达到99%。对于通用软件来说就要根据公司实际情况了。
微信朋友圈测试用例: