软件测试面试题大集合精品 2.docx
- 文档编号:11773232
- 上传时间:2023-04-01
- 格式:DOCX
- 页数:24
- 大小:37.38KB
软件测试面试题大集合精品 2.docx
《软件测试面试题大集合精品 2.docx》由会员分享,可在线阅读,更多相关《软件测试面试题大集合精品 2.docx(24页珍藏版)》请在冰豆网上搜索。
软件测试面试题大集合精品2
一、判断题(每题2分,正确的“√”,错误的“╳”)
1.软件测试的目的是尽可能多的找出软件的缺陷。
(√)
2.Beta测试是验收测试的一种。
(√)
3.验收测试是由最终用户来实施的。
(╳)
4.项目立项前测试人员不需要提交任何工件。
(√)
5.单元测试能发现约80%的软件缺陷。
(√)
6.代码评审是检查源代码是否达到模块设计的要求。
(╳)
7.自底向上集成需要测试员编写驱动程序。
(√)
8.负载测试是验证要检验的系统的能力最高能达到什么程度。
(╳)
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。
(╳)
10.代码评审员一般由测试员担任。
(╳)
11.我们可以人为的使得软件不存在配置问题。
(╳)
12.集成测试计划在需求分析阶段末提交。
(╳)
13、好的测试员不懈追求完美。
(√)
14、测试程序仅仅按预期方式运行就行了。
(╳)
15、不存在质量很高但可靠性很差的产品。
(╳)
16、软件测试员可以对产品说明书进行白盒测试。
(╳)
17、静态白盒测试可以找出遗漏之处和问题。
(√)
18、总是首先设计白盒测试用例。
(╳)
19、可以发布具有配置缺陷的软件产品。
(√)
20、所有软件必须进行某种程度的兼容性测试。
(√)
21、所有软件都有一个用户界面,因此必须测试易用性。
(╳)
22、测试组负责软件质量。
(╳)
二、不定项选择题(每题2分,10分)
1.软件验收测试的合格通过准则是:
(ACD)
A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B.所有测试项没有残余一级、二级和三级错误。
C.立项审批表、需求分析文档、设计文档和编码实现一致。
D.验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?
(ABCD)
A.项目经理
B.SQA负责人
C.配置负责人
D.测试组
3.下列关于alpha测试的描述中正确的是:
(AD)
A.alpha测试需要用户代表参加
B.alpha测试不需要用户代表参加
C.alpha测试是系统测试的一种
D.alpha测试是验收测试的一种
4.测试设计员的职责有:
(BC)
A.制定测试计划项目组长
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动QA
5.软件实施活动的进入准则是:
(ABC)
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
6.下面那些属于静态分析(A)
A、编码规则检查
B、程序结构分析
C、程序复杂度分析
D、内存泄漏
7.下面那些属于动态分析(c)
A、代码覆盖率
B、模块功能检查
C、系统压力测试
D、程序数据流分析
8.从测试技术角度,正确的选择是(bd),给出各自的含义?
A、静态测试
B、黑盒测试
C、动态测试
D、白盒测试
9.从测试阶段角度,测试正确的顺序是(abcd),同时给出所选择的正确策略含义和被测对象是什么?
A、单元测试
B、集成测试
C、系统测试
D、确认测试
二、填空题:
(每一空格2分,共60分)
1.软件验收测试包括:
正式验收测试,alpha测试,beta测试。
2.系统测试的策略有:
功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦)
3.设计系统测试计划需要参考的项目文挡有:
软件测试计划,软件需求工件和迭代计划。
4.对面向过程的系统采用的集成策略有:
自顶向下,自底向上两种。
5.通过画因果图来写测试用例的步骤为:
1分析软件规格说明中那些原因那些结果2分析软件规格说明语义找出原因与结果之间,原因与原因之间对应的关系.3在因果图上用一些记号表明约束或限制条件.4把因果图转换为判定表以及把因果图转换为状态图共五个步骤。
6、软件实施活动的输出工件是:
基本上设计工件模型等都是先勾画出一个轮廓,然后慢慢的添加,或者把独立的工件设计好再组合到一起。
7、代码评审主要做一类是正式技术评审,也称同行评审,另一类是非正式技术评审工作
代码评审做的工作主要有:
1)保证代码和详细设计的一致。
详细设计文档每一项都用代码实现,没有遗漏和增
2)保证在编码阶段没有引入新的错误,代码在逻辑上是没有问题的。
8、软件测试主要分为:
单元测试集成测试系统测试回归测试四类测试。
9、软件测试活动有制定测试计划、、、、、、测试评估、测试结束八个步骤。
10、软件测试角色有:
计划者设计者实施者执行者报告者。
三、问答题:
1、什么是软件测试?
答:
软件测试是为了发现错误而执行程序的过程。
或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
2、软件测试的目的?
答:
测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。
3、白盒测试有哪几种方法?
答:
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
“白盒”法是穷举路径测试。
5、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?
(白盒与黑盒的区别)
任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。
黑盒测试:
已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:
已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。
这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。
因此黑盒测试又叫功能测试或数据驱动测试。
黑盒测试主要是为了发现以下几类错误:
1)、是否有不正确或遗漏的功能?
2)、在接口上,输入是否能正确的接受?
能否输出正确的结果?
3)、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4)、性能上是否能够满足要求?
5)、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。
这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。
因此白盒测试又称为结构测试或逻辑驱动测试。
白盒测试主要是想对程序模块进行如下检查:
1)、对程序模块的所有独立的执行路径至少测试一遍。
2)、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3)、在循环的边界和运行的界限内执行循环体。
4)、测试内部数据结构的有效性,等等。
以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。
由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。
6、软件测试应该划分几个阶段?
简述各个阶段应重点测试的点?
各个阶段的含义?
答:
大体上来说可分为单元测试,集成测试,系统测试,验收测试,每个阶段又分为以下五个步骤:
测试计划,测试设计,用例设计,执行结果,测试报告
初始测试集中在每个模块上,保证源代码的正确性,该阶段成为单元测试,主要用白盒测试方法。
接下来是模块集成和集成以便组成完整的软件包。
集成测试集中在证实和程序构成问题上。
主要采用黑盒测试方法,辅之以白盒测试方法。
软件集成后,需要完成确认和系统测试。
确认测试提供软件满足所有功能、性能需求的最后保证。
确认测试仅仅应用黑盒测试方法。
单元测试
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。
它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。
集成测试
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。
验收测试
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。
它的测试数据通常是系统测试的测试数据的子集.
回归测试
回归测试是在软件维护阶段,对软件进行修改之后进行的测试。
其目的是检验对软件进行的修改是否正确。
7、针对缺陷采取怎样的管理措施?
1).要更好的管理缺陷,必须引入缺陷管理工具,商用的或者开源的都可。
2).根据缺陷的生命周期,考虑缺陷提交的管理、缺陷状态的管理和缺陷分析的管理。
3).所有发现的缺陷(不管是测试发现的还是走读代码发现的)都必须全部即时的、准确的提交到缺陷管理工具中,这是缺陷提交的管理。
4).缺陷提交后,需要即时的指派给相应的开发人员,提交缺陷的人需要密切注意缺陷的状态,帮助缺陷的尽快解决。
缺陷解决后需要即时对缺陷的修复进行验证。
这样的目的有两个:
一个是让缺陷
尽快解决;二是方便后面缺陷的分析(保证缺陷相关的信息准确,如龄期等),这是缺陷状态的管理。
5).为了更好的改进开发过程和测试过程,需要对缺陷进行分析,总结如缺陷的类别、缺陷的龄期分布等信息,这是缺陷分析的管理。
8、单元测试、集成测试、系统测试的侧重点是什么?
答:
单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,测试重点是系统的模块,包括子程序的正确性验证等。
集成测试,也叫组装测试或联合测试。
在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。
实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。
程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。
测试重点是模块间的衔接以及参数的传递等。
系统测试是将经过测试的子系统装配成一个完整系统来测试。
它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。
测试重点是整个系统的运行以及与其他软件的兼容性。
9、设计用例的方法、依据有那些?
答:
白盒测试用例设计有如下方法:
基本路径测试\等价类划分\边界值分析\覆盖测试\循环测试\数据流测试\程序插桩测试\变异测试.这时候依据就是详细设计说明书及其代码结构
黑盒测试用例设计方法:
基于用户需求的测试\功能图分析方法\等价类划分方法\边界值分析方法\错误推测方法\因果图方法\判定表驱动分析方法\正交实验设计方法.依据是用户需求规格说明书,详细设计说明书。
10、测试用例通常包括那些内容?
着重阐述编制测试用例的具体做法不同结构的用例包括的不一样(版本、编号、项目、设计人员、设计日期、输入、预期输出……)
答:
软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。
用例编号:
测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则:
PROJECT1-ST-001,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。
定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。
测试标题:
对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。
比如“测试用户登录时输入错误密码时,软件的响应情况”.重要级别:
定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。
一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高”;反之亦然,测试输入:
提供测试执行中的各种输入条件。
根据需求中的输入条件,确定测试用例的输入。
测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。
操作步骤:
提供测试执行过程的步骤。
对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。
预期结果:
提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。
如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。
11、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程
1)测试人员或开发人员发现bug后,判断属于哪个模块的问题,填写bug报告后,系统会自动通过Email通知项目组长或直接通知开发者。
2)经验证无误后,修改状态为VERIFIED.待整个产品发布后,修改为CLOSED.
3)还有问题,REOPENED,状态重新变为“New",并发邮件通知。
4)项目组长根据具体情况,重新reassigned分配给bug所属的开发者。
5)若是,进行处理,resolved并给出解决方法。
(可创建补丁附件及补充说明)
6)开发者收到Email信息后,判断是否为自己的修改范围。
7)若不是,重新reassigned分配给项目组长或应该分配的开发者。
8)测试人员查询开发者已修改的bug,进行重新测试。
(可创建testcase附件)
12、你认为一个优秀的测试工程师应该具备哪些素质?
答:
1、具有良好的计算机编程基础2、具有创新精神和超前意识3、不懈努力,追求完美4、具有整体观念,对细节敏感5、团队合作精神6、责任心、耐心、细心、信心7、沟通能力8、时时保持怀疑态度,并且有缺陷预防的意识
13、黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别
答:
黑盒测试:
已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:
已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。
这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。
因此黑盒测试又叫功能测试或数据驱动测试。
黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?
能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。
这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。
因此白盒测试又称为结构测试或逻辑驱动测试。
白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。
通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
单元测试是由程序员自己来完成,最终受益的也是程序员自己。
可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。
执行单元测试,就是为了证明这段代码的行为和我们期望的一致。
集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。
它的最简单的形式是:
两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。
从这一层意义上讲,组件是指多个单元的集成聚合。
在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。
方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。
最后,将构成进程的所有模块一起测试。
系统测试是将经过测试的子系统装配成一个完整系统来测试。
它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。
(常见的联调测试)
系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。
验收测试是部署软件之前的最后一个测试操作。
验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
验收测试是向未来的用户表明系统能够像预定要求那样工作。
经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。
1.单元测试的主要目的是针对编码过程中可能存在的各种错误,例如用户输入验证过程中的边界值的错误。
2.集成测试主要目的是针对详细设计中可能存在的问题,尤其是检查各单元与其它程序部分之间的接口上可能存在的错误。
3.系统测试主要针对概要设计,检查了系统作为一个整体是否有效地得到运行,例如在产品设置中是否达到了预期的高性能
4.验收测试通常由业务专家或用户进行,以确认产品能真正符合用户业务上的需要(需求)。
14、你所了解的的软件测试类型都有哪些,简单介绍一下。
答:
1.基本功能验证。
主要是对发布的版本进行一些最主要功能的测试。
英文常见叫法是SmokingTest,BasicVerificationTest或者SanityCheck。
2.功能测试。
主要是依据需求或者需求分析文档,对所发布的版本进行测试,看看是否满足需求,是否出现了不必要的功能。
3.单元测试。
是开发人员进行的测试之一,一般是开发人员对很小的模块,比如函数进行测试,一般来说,开发人员还需要开发相应的测试桩来进行此类测试。
4.集成测试。
在大型的开发过程中,软件是模块化进行开发的,将不同的模块揉合在一起的话,需要进行的测试就是集成测试。
5.系统测试。
当软件提交给测试组后,是对整个系统的所有功能进行测试,一般来说,功能测试是系统测试的一个部分。
6.压力测试。
主要是在很大性能的情况下,这个性能已经接近了系统的极限,看看系统运转的情况。
7.负载测试。
主要是用各种不同的性能去检测系统,采集各个数据在这些性能情况下的数据。
8.黑盒测试。
指系统对你来说是完全不透明的,只给你留下了输入和最终输出,这个是功能测试的方法之一。
9.灰盒测试。
指在了解部分系统内部工作机制的情况下,对于系统进行的覆盖性测试。
10.白盒测试。
主要是在单元测试和集成测试的情况下,开发人员已知代码,对这一段的代码进行全路径的覆盖测试。
11.界面测试。
主要是看用户界面的友好性和易用性,是否有文字或者排版错误,是否有输入限制等等。
12.回归测试。
一般是系统发现BUG,开发人员修改后,和BUG直接相关以及可能相关的功能进行的测试。
13.安装和卸载的测试。
14.恢复测试。
主要是一个系统在发生了灾难的情况下,从错误中是否容易恢复。
15.兼容性测试。
一个系统在不同的语言,操作系统下的系统测试。
16.安全测试。
系统在遇到攻击或者类似情况下的表现。
17.Alpha测试。
系统在给最终用户前,测试人员在实验室中模拟最终用户的测试。
18.Beta测试。
由部分最终用户通过使用来进行的测试。
19.比较测试。
和其他具有相同或者类似功能的系统进行对比的测试。
20.验收测试。
一般是最终用户在接受产品前,依据自己所提出的要求进行的测试,很多情况下,验收测试可能委托第三方机构完成。
15、项目的集中管理在软件公司的哪一个层面?
(2分)质量管理
16、什么是测试评估,测试评估的范围是什么?
(5分)
软件测试评估是指对未正式投入商业化使用的软件进行预先的小规模试验,又称小试。
主要是由代码审查和合理性分析组成。
测试评估的范围:
功能,性能,界面,实用性,速度,兼容性,易用性,各模块的完善性等
17、阐述工作版本的定义。
(2分)工作版本是迭代生命周期不可缺少的组成部分。
18、请画出软件测试活动的流程图。
(8分)
19、测试生命周期、测试过程分为几个阶段,以及各阶段的含义?
答:
测试生命周期:
测试需求、测试总体设计、测试详细设计、单元测试、集成测试、系统测试、验收测试。
测试过程分:
初始阶段、测试设计阶段、测试执行阶段、总结评估阶段。
20、引入测试管理的含义?
答:
测试管理嘛。
。
。
应该是风险管理、测试中角色与职责的管理,测试流程的管理。
21、区别阶段评审的与同行评审?
同行评审目的:
发现小规模工作产品的错误,只要是找错误;
阶段评审目的:
评审模块阶段作品的正确性可行性及完整性
同行评审人数:
3-7人人员必须经过同行评审会议的培训,由SQA指导
阶段评审人数:
5人左右评审人必须是专家具有系统评审资格
同行评审内容:
内容小一般文档<40页,代码<500行
阶段评审内容:
内容多,主要看重点
同行评审时间:
一小部分工作产品完成
阶段评审时间:
通常是设置在关键路径的时间点上!
22、简述集成测试的过程
系统集成测试主要包括以下过程:
1.构建的确认过程。
2.补丁的确认过程。
3.系统集成测试测试组提交过程。
4.测试用例设计过程。
5.测试代码编写过程。
6.Bug的报告过程。
7.每周/每两周的构建过程。
8.点对点的测试过程。
9.组内培训过程。
23、怎么做好文档测试?
仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例
检查文档的编写是否满足文档编写的目的
内容是否齐全,正确
内容是否完善
标记是否正确
24、白盒测试有几种方法?
总体上分为静态方法和动态方法两大类。
静态:
关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义
动态:
语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
25、系统测试计划是否需要同行审批,为什么?
需要,系统测试计划属于项目阶段性关键文档,因此需要评审。
26、Alpha测试与beta的区别?
Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。
这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。
Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。
这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。
27、比较负载测试,容量测试和强度测试的区别?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件测试面试题大集合精品 软件 测试 试题 集合 精品