当前位置:首页 > 天道酬勤 > 正文内容

软件测试面试经验(软件测试岗位面试问题)

张世龙2021年12月22日 05:27天道酬勤450

如果有什么疑问或交流的话请私信。 什么也别说。 谢谢你。

问题1 :

在测试中发现了bug,但开发经理认为这不是bug。 怎样才能解决呢?

回答:

首先,向缺陷管理库提交问题并备案;

而且,要得到判断的根据和基准,需要:

根据需求说明书、产品说明、设计文件等,确认实际结果与计划不符,并提供缺陷是否被确认的直接依据;

如果文档没有根据,则可以根据类似软件的一般特性说明是否存在不一致,并检查是否存在缺陷

根据用户的一般使用习惯,确认是否为缺陷;

与设计者、开发者、顾客负责人等相关人员进行讨论,确认是否有缺陷

合理论述,向测试经理说明自己判断的理由,注意客观、严谨、不干预个人感情。

等待测试经理做出最终决定,仍有争议的,可以通过公司政策提供的渠道,向上级反映,由上级决定。

问题2 :

软件的生命周期及其模型是什么?

回答:

软件生命周期是指从开发软件的概念形成开始,到开发软件被使用,再到失去使用价值消失的整个过程。 一般来说,整个生存周期包括计划定义、开发、运用、维护三个时期,各时期又分为几个阶段。 每个阶段都有明确的任务。

周期模型(典型的几种) :

瀑布模型

快速成型模型:在快速成型模型中,在需求分析阶段对软件的需求进行初步分析和定义,而不是完全分析和定义,快速设计开发向用户展示所开发软件的全部或部分功能和性能的软件系统原型用户对该原型进行测试评定,提出具体的改进意见,丰富细化软件需求; 开发者据此修改软件,在用户满意批准之前,对软件进行完整的实现、测试和维护。

迭代模型:迭代包括生成产品版本(稳定、可执行的产品版本)的所有开发活动,以及使用该版本所需的所有其他外围元素。 从某种意义上说,开发迭代是完全通过所有工作流——需求分析、设计、实现和测试工作流的过程。 基本上,它类似于一个小瀑布项目。 RUP认为所有阶段都可以细分为迭代。 每次迭代都会生成可发布的产品。 这个产品是最终产品的子集。

生命周期阶段:

软件规划与可行性分析

需求分析

软件设计

编码

软件测试

运用和维护

问题3 :

什么是软件测试? 软件测试的目的和原则?

回答:

在规定的条件下操作程序,发现程序错误,测量软件质量,评价其是否能满足设计要求的过程。

软件测试的目的:

测试是程序的执行过程,目的是发现错误;

成功的测试案例是发现至今为止没有发现的错误。

一个成功的测试是发现至今未发现错误的测试;

确保产品完成承诺或发布的功能,并且用户可以访问的功能有明确的书面说明。

确保产品满足性能和效率的要求

确保产品坚固,适应用户环境

软件测试原则:

测试用例的一个必要部分是定义预期的输出或结果。

程序员不要测试自己写的程序

编写软件的组织不得测试自己编写的软件。

必须彻底检查各项测试的执行结果;

测试用例的编制不仅应取决于有效和预期的输入情况,也应取决于无效和预期的输入情况;

检查程序是否“做了不该做的事”只是测试的一半,测试的另一半是检查程序是否“做了不该做的事”;

除非软件本身是一次性软件,否则请勿在使用测试用例后将其丢弃

在计划测试工作时,不得默许假设不发现错误;

在mmdjz部分中,与在该部分中发现的错误数成比例地存在更多的错误;

软件测试是一项极具创造性和智力挑战性的工作

问题4 :

的主要测试用例的设计方法是什么?

回答:

白盒测试:逻辑展望、循环展望、基本路径展望(逻辑展望包括语句展望、判定展望、条件展望、判定/条件展望、条件组合展望、路径展望) )。

黑匣子测试:边界值分析法、等价类划分、错误推测法、因果图法、状态图法、测试大纲法、随机测试、场景法

问题5 :

什么是测试用例和测试脚本? 两者的关系是什么?

回答:

为实施测试而提供给被测试系统的输入数据、操作或各种环境设定以及预期结果的特定集合;

测试脚本是为自动化测试编写的脚本。

测试脚本的编写必须对应适当的测试用例。

问题6 :

软件产品的质量特性是什么?

回答:

功能性:适应性、准确性、互操作性、合规性、安全性。

可靠性:成熟、容错、易恢复。

使用性:容易理解,易学习性,容易操作。

效率:时间特性、资源特性。

维护性:易分析、易变更、稳定性、易测试。

可移植性:适应性、安装性、合规性、易更换性

问题7 :

软件测试分为几个阶段,每个阶段的测试

策略和要求是什么?

答案:

和开发过程相对应,测试过程会依次经历单元测试、集成测试、系统测试、验收测试四个主要阶段:

单元测试:单元测试是针对软件设计的最小单位––程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。

集成测试:集成测试是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的。

系统测试:系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。

验收测试:验收测试以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。对于实际项目可以和客户共同进行,对于产品来说就是最后一次的系统测试。测试内容为对功能模块的全面测试,尤其要进行文档测试。

单元测试测试策略:

自顶向下的单元测试策略:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。

自底向上的单元测试策略:比较合理的单元测试策略,但测试周期较长。

孤立单元测试策略:最好的单元测试策略。

集成测试的测试策略:

大爆炸集成:适应于一个维护型项目或被测试系统较小项目

自顶向下集成:适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产品控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。

自底向上集成:适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。

基于进度的集成优点:具有较高的并行度;能够有效缩短项目的开发进度。

缺点:桩和驱动工作量较大;有些接口测试不充分;有些测试重复和浪费。

系统测试的测试策略:

数据和数据库完整性测试;功能测试;用户界面测试;性能评测;负载测试;强度测试;容量测试;安全性和访问控制测试;故障转移和恢复测试;配置测试;安装测试;加密测试;可用性测试;版本验证测试;文档测试

问题八:

您认为做好测试用例设计工作的关键是什么?

答案:

白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果;

黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题;

问题九:

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

答案:

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

编写软件测试计划重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确

2.坚持“5W”规则,明确内容与过程

“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。

3.采用评审和更新机制,保证测试计划满足实际需求

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

4.分别创建测试计划与测试详细规格、测试用例

应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。

问题十:

您所熟悉的测试用例设计方法都有哪些?

答案:

1.等价类划分

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

2.边界值分析法

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

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

3.比较法

不同的软件版本比较

4.错误推测法

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

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

5.因果图方法

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

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/26829.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。