功能测试⾯面试题及答案
功能测试概念类
1. 请简述下软件测试⽅方法的分类
(1)⽩白盒、⿊黑盒、灰盒
(2)单元测试、集成测试、系统测试、验收测试、回归测试、Alpha 测试、Beta 测试
(3)静态测试和动态测试
接上,
2. 请简述什什么上⾯面提到的这些软件测试⽅方法,如:什什么是回归测试
静态测试是不不运⾏行行程序本身⽽而寻程序代码中可能存在的错误或评估程序代码的过程。
动态测试是实际运⾏行行被测程序,输⼊入相应的测试实例例,检查运⾏行行结果与预期结果的差异,判定执⾏行行结果是否符合要求,从⽽而检验程序的正确性、可靠性和有效性,并分析系统运⾏行行效率和健壮性等性能。
⿊黑盒测试⼀一般⽤用来确认软件功能的正确性和可操作性,⽬目的是检测软件的各个功能是否能得以实现,把被测试的程序当作⼀一个⿊黑盒,不不考虑其内部结构,在知道该程序的输⼊入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试⽤用例例和推断测试结果的正确性。
⽩白盒测试根据软件内部的逻辑结构分析来进⾏行行测试,是基于代码的测试,测试⼈人员通过阅读程序代码或者通过使⽤用开发⼯工具中的单步调试来判断软件的质量量,⼀一般⿊黑盒测试由项⽬目经理理在程序员开发中来实现。
回归测试分为两类:⽤用例例回归和错误回归;⽤用例例回归是过⼀一段时间以后再回头对以前使⽤用过的⽤用例例在重新进⾏行行测试,看看会重新发现问题。错误回归,就是在新版本中,对以前版本中出现并修复的缺陷进⾏行行再次验证,并以缺陷为核⼼心,对相关修改的部分进⾏行行测试的⽅方法。
α测试是由⼀一个⽤用户在开发环境下进⾏行行的测试,也可以是公司内部的⽤用户在模拟实际操作环境下进⾏行行的受控测试,Alpha测试不不能由程序员或测试员完成。
β测试是软件的多个⽤用户在⼀一个或多个⽤用户的实际使⽤用环境下进⾏行行的测试。开发者通常不不在测试现场,Beta测试不不能由程序员或测试员完成。
接上
3.请试着⽐比较⼀一下上⾯面说到的这些测试(⿊黑盒/⽩白盒测试、单元测试、集成测试、系统测试、验收测试)的区别与联系。
(1)⿊黑盒/⽩白盒:主要区别在是否了了解系统或程序的内部结构和代码
(2)单元测试: 标准的软件测试流程⾥里里,单元测试通常指的就是针对⼀一个单元(模块、函数等)进⾏行行编码校验,偏⽩白盒。
在现代的测试或者敏敏捷测试中,单元测试也可指针对⼀一个模块进⾏行行测试,偏⿊黑盒。
关注某⼀一个单元,函数,模块的正确性,⼀一般需要编写相关测试代码。
(3)集成测试: 由2中的函数组成的模块,模块组成的软件或系统联合起来测试就是集成测试。重点关注不不同函数或者模块之间交互的部分。
(4)系统测试:整个软件或者系统的全量量测试。
测试⽤用例例类:
1、⿊黑盒测试的测试⽤用例例常⻅见设计⽅方法都有哪些?请分别以具体的例例⼦子来说明这些⽅方法在测试⽤用例例设计⼯工作中的应⽤用。
1)等价类划分:等价类是指某个输⼊入域的⼦子集合.在该⼦子集合中,各个输⼊入数据对于揭露露程序中的错误都是等效的.并合理理地假定:测试某等价类的代表值就等于对这⼀一类其它值的测试.因此,可以把全部输⼊入数据合理理划分为若⼲干等价类,在每⼀一个等价类中取⼀一个数据作为测试的输⼊入条件,就可以⽤用少量量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不不同的情况:有效等价类和⽆无效等价类.
2)边界值分析法:是对等价类划分⽅方法的补充。测试⼯工作经验告诉我,⼤大量量的错误是发⽣生在输⼊入或输出范围的边界上,⽽而不不是发⽣生在输⼊入输出范围的内部.因此针对各种边界情况设计测试⽤用例例,可以查出更更多的错误.
使⽤用边界值分析⽅方法设计测试⽤用例例,⾸首先应确定边界情况.通常输⼊入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚⼤大于或刚刚⼩小于边界的值作为测试数据,⽽而不不是选取等价类中的典型值或任意值作为测试数据.
软件测试的方法有哪些3)错误猜测法:基于经验和直觉推测程序中所有可能存在的各种错误,从⽽而有针对性的设计测试⽤用例例的⽅方法.
错误推测⽅方法的基本思想: 列列举出程序中所有可能有的错误和容易易发⽣生错误的特殊情况,根据他们选择测试⽤用例例. 例例如,在单元测试时曾列列出的许多在模块中常⻅见的错误. 以前产品测试中
曾经发现的错误等,这些就是经验的总结. 还有,输⼊入数据和输出数据为0的情况. 输⼊入表格为空格或输⼊入表格只有⼀一⾏行行. 这些都是容易易发⽣生错误的情况. 可选择这些情况下的例例⼦子作为测试⽤用例例.
4)因果图⽅方法:前⾯面介绍的等价类划分⽅方法和边界值分析⽅方法,都是着重考虑输⼊入条件,但未考虑输⼊入条件之间的联系,相互组合等. 考虑输⼊入条件之间的相互组合,可能会产⽣生⼀一些新的情况. 但要检查输⼊入条件的组合不不是⼀一件容易易的事情,即使把所有输⼊入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采⽤用⼀一种适合于描述对于多种条件的组合,相应产⽣生多个动作的形式来考虑设计测试⽤用例例. 这就需要利利⽤用因果图(逻辑模型). 因果图⽅方法最终⽣生成的就是判定表. 它适合于检查程序输⼊入条件的各种组合情况.
5)正交表分析法:可能因为⼤大量量的参数的组合⽽而引起测试⽤用例例数量量上的激增,同时,这些测试⽤用例例并没有明显的优先级上的差距,⽽而测试⼈人员⼜又⽆无法完成这么多数量量的测试,就可以通过正交表来进⾏行行缩减⼀一些⽤用例例,从⽽而达到尽量量少的⽤用例例覆盖尽量量⼤大的范围的可能性。
6)场景分析⽅方法:指根据⽤用户场景来模拟⽤用户的操作步骤,这个⽐比较类似因果图,但是可能执⾏行行的深度和可⾏行行性更更好。
7)状态图法:通过输⼊入条件和系统需求说明得到被测系统的所有状态,通过输⼊入条件和状态得出输出条件;通过输⼊入条件、输出条件和状态得出被测系统的测试⽤用例例。
8)⼤大纲法:⼤大纲法是⼀一种着眼于需求的⽅方法,为了了列列出各种测试条件,就将需求转换为⼤大纲的形式。⼤大纲表示为树状结构,在根和每个叶⼦子结点之间存在唯⼀一的路路径。⼤大纲中的每条路路径定义了了⼀一个特定的输⼊入条件集合,⽤用于定义测试⽤用
例例。树中叶⼦子的数⽬目或⼤大纲中的路路径给出了了测试所有功能所需测试⽤用例例的⼤大致数量量。
测试计划类:
1.测试计划⼯工作的⽬目的是什什么?测试计划⼯工作的内容都包括什什么?其中哪些是最重要的?
测试计划的⽬目的的重要内容如下:
(1)⼈人员
(2)时间
(3)测试的⼯工作安排,如⼯工具的选择,测试⽤用例例的编写以及评审,测试类型的选择,需要的⽀支持等
(4)需求明确,技术⽅方案明确
(5)⻛风险
⽬目的其实就是避免由上⾯面的这些内容导致的需求不不明确,测试⽅方案不不明确,项⽬目的延期以及⻛风险没有提前暴暴露露出来等。
2. 您认为做好测试计划⼯工作的关键是什什么?
(1)合理理安排测试计划的内容,可以按照计划模板编写,确保测试计划内容完备。
(2)熟悉产品需求以及⽬目标,开发技术选型以及评审,增强测试计划的实⽤用性(3)与项⽬目经理理、产品经理理协调好,了了解项⽬目的进度计划安排情况
(3)具备⼀一定的经验。如⻛风险意识
3. 测试计划⼯工作的⽬目的是什什么?测试计划⽂文档的内容应该包括什什么?其中哪些是最重要的?
⽬目的:
(1)领导能够根据测试计划进⾏行行宏观调控,进⾏行行相应资源配置等
(2)测试⼈人员能够了了解整个项⽬目测试情况以及项⽬目测试不不同阶段的所要进⾏行行的⼯工作等
(3)便便于其他⼈人员了了解测试⼈人员的⼯工作内容,进⾏行行有关配合⼯工作
包含重要内容:
包含了了产品概述、测试策略略、测试⽅方法、测试区域、测试配置、测试周期、测试资源、测试交流、⻛风险分析等内容。借助软件测试计划,参与测试的项⽬目成
员,尤其是测试管理理⼈人员,可以明确测试任务和测试⽅方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更更。
4. 测试计划编写的6要素是什什么(5W1H):
why——为什什么要进⾏行行这些测试;
what—测试哪些⽅方⾯面,不不同阶段的⼯工作内容;
when—测试不不同阶段的起⽌止时间;
where—相应⽂文档,缺陷的存放位置,测试环境等;
who—项⽬目有关⼈人员组成,安排哪些测试⼈人员进⾏行行测试;
how—如何去做,使⽤用哪些测试⼯工具以及测试⽅方法进⾏行行测试
测试报告类
1. 测试报告的主要内容是什什么?
测试报告的主要内容如下:
(1)测试时间。主要包含测试的整个时间周期以及任务、⼦子任务的时间。如⽤用例例设计时间、评审时间、执⾏行行时间、debug时间等。
(2)测试⽤用例例。如测试⽤用例例的条数,⽤用例例通过率,是否有新增以及修改的⽤用例例等。
(3)Bug统计。如bug总数,bug fix率,bug reopen个数,未解决/不不解决个数,bug分配,未来追踪bug等
(4)项⽬目的⼀一些总结,如测试计划的执⾏行行率,需求是否有修改,测试⻛风险以及项⽬目⻛风险等
(5)上线建议。针对当前版本测试后,总结出来当前是否可以上线,上线后需要关注哪些东⻄西
(6)项⽬目盘点。如果项⽬目出了了相对⼤大的问题,那么把问题列列出来,可以后⾯面去盘点。
(7)其他:根据当前项⽬目的情况,可以增加⼀一些内容。如是否通过⾃自动化提效,测试过程中是否开发了了⼀一些⼯工具,结项后需要哪些⽀支持等。
开放性问题
1. 你在测试中发现了了⼀一个bug,但是开发经理理认为这不不是⼀一个bug,你应该怎样
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论