软件测试工程师面试笔试题.docx
《软件测试工程师面试笔试题.docx》由会员分享,可在线阅读,更多相关《软件测试工程师面试笔试题.docx(19页珍藏版)》请在冰豆网上搜索。
软件测试工程师面试笔试题
判断题:
1、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
(√)
2、白盒测试侧重于程序结构,黑盒测试侧重于功能,其中白盒测试需要程序员参与,黑盒测试不需要(×)
3、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。
(√)
4、集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试(×)
5、系统测试应尽可能在实际运行使用环境下进行(√)
6、详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。
(√)
7、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。
(×)
8、程序、需求规格说明、设计规格说明都是软件测试的对象(√)
9、第三方测试是在开发方与用户方的测试基础上进行的验证测试(×)
10、数据流图和数据字典共同构成系统的逻辑模型。
(√)
1.软件测试的目的是尽可能多的找出软件的缺陷。
(Y)
2.Beta测试是验收测试的一种。
(Y)
3.验收测试是由最终用户来实施的。
(N)
4.项目立项前测试人员不需要提交任何工件。
(Y)
5.单元测试能发现约80%的软件缺陷。
(Y)
6.代码评审是检查源代码是否达到模块设计的要求。
(N)
7.自底向上集成需要测试员编写驱动程序。
(Y)
8.负载测试是验证要检验的系统的能力最高能达到什么程度。
(N)
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。
(N)
10.代码评审员一般由测试员担任。
(N)
11.我们可以人为的使得软件不存在配置问题。
(N)
12.集成测试计划在需求分析阶段末提交。
(N)
1.为了提高测试效率,应该取一切可能的输入数据作为测试数据。
(×)
2.发现错误多的程序模块,残留在模块中的错误也多。
(×)
4.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。
(√)
5.系统测试的目标是要找出软件在与系统其他部分协调工作时出现的所有故障(×)
1、软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。
(初级)(×)
2、发现错误多的模块,残留在模块中的错误也多。
(√)(初级)
3、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。
(×)(初级)
4、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。
(√)5、功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。
(√)6、软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。
(√)(高级)
7、软件测试只能发现错误,但不能保证测试后的软件没有错误。
(√)
8、软件就是程序。
(X)
9、测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。
(X)
10、I18N测试是指对产品做出具有国际性的规划,而L10N测试则是指对软件做出符合本地需求更改工作。
(√)【高级】
选择题:
1、软件测试的目的正确的是(D)
①测试是为了发现程序中的错误而执行程序的过程;
②好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
③成功的测试是发现了至今为止尚未发现的错误的测试
④测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;
A、①B、①②③C、②③④D、①②③④
2、软件测试的对象包括(B)
A.目标程序和相关文档B.源程序、目标程序、数据及相关文档
C.目标程序、操作系统和平台软件 D.源程序和目标程序
3、从是否关心软件内部结构和具体实现的角度划分。
(B)
A、静态测试、动态测试
B、黑盒测试、白盒测试、灰盒测试
C、单元测试、集成测试、确认测试、系统测试、验收测试
D、以上都不对
4、关于软件测试模型,描述正确的是(C)
A、V模型测试的对象就是程序本身,测试与开发可以同一阶段进行
B、W模型测试的对象是程序,需求、设计等,可以支持迭代的开发模型
C、H模型软件测试过程活动完全独立,贯穿产品整个生命周期,与其他流程并发地进行。
D、X模型是事先计划再进行测试。
5、软件测试按实施组织分,测试应该包括以下的(A)
①开发方测试②用户方测试③第三方测试④验收测试⑤确认测试
A.①②③B.③④⑤C.①②④D.①②③④⑤
6、制定测试计划的步骤:
(D)
A、确定项目管理机制预计测试工作量?
测试计划评审
B、确定测试范围?
确定测试策略?
确定测试标准、预计测试工作量
C、确定测试构架确定项目管理机制预计测试工作量?
测试计划评审
D、确定测试范围?
确定测试策略?
确定测试标准?
确定测试构架确定项目管理机制预计测试工作量?
测试计划评审
7、为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括(A)
A.配置项标识、配置项控制、配置状态报告、配置审计
B.配置基线确立、配置项控制、配置报告、配置审计
C.配置项标识、配置项变更、配置审计、配置跟踪
D.配置项标识、配置项控制、配置状态报告、配置跟踪
8、某次程序调试没有出现预计的结果,下列(B)不可能是导致出错的原因。
A、变量没有初始化B、编写的语句书写格式不规范
C、循环控制出错D、代码输入有误
9、下列关于程序效率的描述错误的是(B)。
A、提高程序的执行速度可以提高程序的效率
B、降低程序占用的存储空间可以提高程序的效率
C、源程序的效率与详细设计阶段确定的算法的效率无关
D、好的程序设计可以提高效率
10、逻辑路径覆盖法是白盒测试用例的重要设计方法,其中语句覆盖法是较为常用的方法,针对下面的语句段,采用语句覆盖法完成测试用例设计,测试用例见下表,对表中的空缺项(True或者False),正确的选择是(A)。
语句段:
if(A&&(B||C))x=l;
elsex=O;
用例表:
用例1
用例2
A
TRUE
FALSE
B
①
FALSE
C
TRUE
②
A&&(B||C)
③
FALSE
A.①TRUE②FALSE③TRUEB.①TRUE②FALSE③FALSE
C.①FALSE②FALSE③TRUED.①TRUE②TRUE③FALSE
11、程序设计语言中(D)。
A.while循环语句的执行效率比do-while循环语句的执行效率高
B.while循环语句的循环体执行次数比循环条件的判断次数多1,而do-while语句的循环体执行次数比循环条件的判断次数少1
C.while语句的循环体执行次数比循环条件的判断次数少1,而do-while语句的循环体执行次数比循环条件的判断次数多1
D.while语句的循环体执行次数比循环条件的判断次数少1,而do-while语句的循环体执行次数等于循环条件的判断次数
12、DB,DBMS和DBS三者间的关系是(B)
A.DB包括DBMS和DBSB.DBS包括DB和DBMS
C.DBMS包括DBS和DBD.DBS与DB、DBMS无关
13.在TCP/IP模型中,应用层包含了所有的高层协议,在下列的一些应用协议中,B是能够实现本地与远程主机之间的文件传输工作。
Atelnet BFTP CSNMP DNFS
14、一个局域网中某台主机的IP位作为网络地址,那么该局域网的子网掩码和,最多可以连接的主机数分别为(B)
A、255.255.251.01021
B、255.255.252.01022
C、255.255.253.01023
D、255.255.254.01024
15、Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在(C)目录中。
A/bin B/etc C/dev D/lib
16、某公司采用的软件开发过程通过了CMM2认证,表明该公司(C)。
A.开发项目成效不稳定,管理混乱B.对软件过程和产品质量建立了定量的质量目标
C.建立了基本的项目级管理制度和规程,可对项目的成本、进度进行跟踪和控制
D.可集中精力采用新技术新方法,优化软件过程
17、质量管理人员在安排时间进度时,为了能够从全局出发、抓住关键路径、统筹安排、集中力量,从而达到按时或提前完成计划的目标,可以使用(A)。
A.活动网络图?
?
?
?
?
?
?
?
?
?
B.因果图
?
?
?
C.优先矩阵图?
?
?
?
?
?
?
?
?
?
D.检查表
18、某公司最近承接了一个大型信息系统项目,项目整体压力较大,对这个项目中的变更,可以使用(B)等方式提高效率。
①分优先级处理②规范处理③整批处理④分批处理
A.①②③?
?
B.①②④?
?
C.②③④?
?
D.①③④
19、下面哪项工作是制订进度计划的基础:
(A)
A、工作分解结构(WBS)
B、网络图
C、甘特图(GANTT)
D、资源平衡(RESOURCELEVELLING)
20、下面哪一方法通常不会被用来缩短进度?
(D)
A.赶工
B.变更范围
C.以并行方式而不是序列方式来实施进行活动
D.资源平衡
1.软件验收测试的合格通过准则是:
(ABCD)
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.评估测试活动
5.软件实施活动的进入准则是:
(ABC)
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
1.下面说法正确的是(C)。
A.经过测试没有发现错误说明程序正确
B.测试的目标是为了证明程序没有错误
C.成功的测试是发现了迄今尚未发现的错误的测试
D.成功的测试是没有发现错误的测试
2.不属于白盒测试的技术是(C)。
A.语句覆盖B.判定覆盖
C.边界值分析D.基本路径测试
3.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(?
A)。
A.系统功能?
?
?
?
?
?
?
?
?
?
?
?
B.局部数据结构
C.重要的执行路径?
?
?
D.错误处理
4.软件测试过程中的集成测试主要是为了发现(?
B)阶段的错误。
A.需求分析B.概要分析C.详细设计D.编码
5.软件测试不需要了解软件设计的(D)。
A.功能B.内部结构?
?
C.处理过程D.条件
6.(?
C)方法根据输出对输入的依赖关系设计测试用例。
A.路径测试B.等价类C.因果图D.边界值分析
7.通常,在(?
D)的基础上,将所有模块按照设计要求组装成系统
A.组装测试B.系统测试?
?
?
?
?
?
C.验收测试D.单元测试
8.实际的逻辑覆盖测试中,一般以(?
C)为主设计测试用例。
A.条件覆盖B.判定覆盖C.条件组合覆盖D.路径覆盖
9.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。
A.程序内部逻辑B.程序的复杂度C.使用说明书D.程序的功能
10.与设计测试用例无关的文档是(?
A)。
A.项目开发计划B.需求规格说明书C.设计说明书D.源程序
11、软件测试技术可以分为静态测试和动态测试,下列说法中错误的是(D)
A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。
B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。
C.动态测试包括黑盒测试和白盒测试。
D.白盒测试是静态测试,黑盒测试是动态测试。
12、在软件测试阶段,测试步骤按次序可以划分为以下几步:
(A)
A.单元测试、集成测试、系统测试、验收测试
B.验收测试、单元测试、系统测试、集成测试
C.单元测试、集成测试、验收测试、系统测试
D.系统测试、单元测试、集成测试、验收测试
13、系统测试中主要用到的测试技术是(B)
A.回归测试B.黑盒测试C.白盒测试D.功能测试
14、对软件的性能测试、(B)测试、攻击测试都属于黑盒测试。
A.语句B.功能C.单元D.路径
15、在用白盒测试中的逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等,在下列覆盖中,(D)是最强的覆盖准则。
A.语句覆盖B.条件覆盖C.判定-条件覆盖D.路径覆盖
16、验收测试主要是由(A)来完成的。
A.用户B.测试人员C.开发人员D.高级经理
17、在用白盒测试中的逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等,其中(A)是最弱的覆盖准则。
A.语句覆盖B.条件覆盖C.判定-条件覆盖D.路径覆盖
18、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
intGetMax(intn,intdatalist[])
{
intk=0;
for(intj=1;jif(datalist[j]>datalist[k])k=j;
returnk;
}
请问该程序段的McCabe环路复杂性为多少?
(A)
A.2B.3C.4D.5
1、进行软件质量管理的重要性有:
(ABCD)【中级】
A、维护降低成本B、法律上的要求C、市场竞争的需要
D、质量标准化的趋势E、软件工程的需要F、CMM过程的一部分
G、方便与客户进一步沟通为后期的实施打好基础
2、以测试的形态分测试可以分为:
(ABC)【中级】
A、建构性测试B、系统测试C、专项测试
D、单元测试E、组件测试F、集成测试
3、选出属于黑盒测试方法的选项(ABC)【初级】
A、测试用例覆盖B、输入覆盖C、输出覆盖
D、分支覆盖E、语句覆盖F、条件覆盖
4、编写测试计划的目的是:
(ABC)【中级】
A、使测试工作顺利进行B、使项目参与人员沟通更舒畅C、使测试工作更加系统化
D、软件工程以及软件过程的需要E、软件过程规范化的要求F、控制软件质量
5、依存关系有4种分别是:
(ABCD)【高级】
A、开始-结束B、开始-开始C、结束-开始
D、结束-结束E、开始-实施-结束F、结束-审核-开始
6、软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于QC得是:
(ABC)【高级】
A、测试B、跟踪C、监督
D、制定计划E、需求审查F、程序代码审查
7、实施缺陷跟踪的目的是:
(ABCD)【中级】
A、软件质量无法控制B、问题无法量化C、重复问题接连产生
D、解决问题的知识无法保留E、确保缺陷得到解决F、使问题形成完整的闭环处理
8、使用软件测试工具的目的:
(ABC)【中级】
A、帮助测试寻找问题B、协助问题的诊断C、节省测试时间
D、提高Bug的发现率E、更好的控制缺陷提高软件质量F、更好的协助开发人员
9、典型的瀑布模型的四个阶段是:
(ABCD)【高级】
A、分析B、设计C、编码
D、测试E、需求调研F、实施
10、PSP是指鋈巳砑?
,是一种可用于(A)、(B)和(C)个人软件工作方式的自我改善过程。
【高级】
A、控制B、管理C、改进
D、高效E、充分F、适宜
三、填空题(每空1分,共10分)共10空
1、黑盒测试是功能测试,用黑盒技术设计测试用例有4种方法:
(等价类划分)(边界值分析)(错误推测)(因果图)。
2、实际的逻辑覆盖测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例,以达到(路径)覆盖测试标准。
3、集成测试的方法有两种:
渐增式测试和(非渐增式测试)。
4、软件测试过程中需要3类信息:
软件配置、(测试配置)和(测试工具)。
5、SCM是一组管理整个软件生存期各阶段中(变更)的活动。
6、基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。
因此,基线可以作为项目的一个(检查点)。
1.软件验收测试包括:
正式验收测试,alpha测试,beta测试。
2.系统测试的策略有:
功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦)
3.设计系统测试计划需要参考的项目文挡有:
软件测试计划,软件需求工件和迭代计划。
4.对面向过程的系统采用的集成策略有:
自顶向下,自底向上两种。
5.(这题出的有问题哦,详细的5步骤为~~)通过画因果图来写测试用例的步骤为:
(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?
根据这些关系,画出因果图。
(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。
为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。
(4)把因果图转换成判定表。
(5)把判定表的每一列拿出来作为依据,设计测试用例。
1.软件测试是为了尽可能多地发现软件中存在的_错误_,将_测试结果_作为纠错的依据。
2.白盒测试中,控制流测试是面向程序的_结构___,数据流测试是面向程序的变量___。
3.集成测试中的两种集成模式是_非增量测试模式__和___增量测试模式___。
4.单元测试的依据是__详细设计说明书_和__源程序____。
5.测试用例由_输入数据_和预期的_输出数据_两部分组成。
四、简答(资料是搜集整理的,感谢前辈的解题)无
1.区别阶段评审的与同行评审
同行评审目的:
发现小规模工作产品的错误,只要是找错误;
阶段评审目的:
评审模块阶段作品的正确性可行性及完整性
同行评审人数:
3-7人人员必须经过同行评审会议的培训,由SQA指导
阶段评审人数:
5人左右评审人必须是专家具有系统评审资格
同行评审内容:
内容小一般文档<40页,代码<500行
阶段评审内容:
内容多,主要看重点
同行评审时间:
一小部分工作产品完成
阶段评审时间:
通常是设置在关键路径的时间点上!
2.什么是软件测试
为了发现程序中的错误而执行程序的过程
3简述集成测试的过程
系统集成测试主要包括以下过程:
1.构建的确认过程。
2.补丁的确认过程。
3.系统集成测试测试组提交过程。
4.测试用例设计过程。
5.测试代码编写过程。
6.Bug的报告过程。
7.每周/每两周的构建过程。
8.点对点的测试过程。
9.组内培训过程。
4怎么做好文档测试
仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。
P142
检查文档的编写是否满足文档编写的目的
内容是否齐全,正确
内容是否完善
标记是否正确
5白盒测试有几种方法
总体上分为静态方法和动态方法两大类。
静态:
关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义
动态:
语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
6系统测试计划是否需要同行审批,为什么
需要,系统测试计划属于项目阶段性关键文档,因此需要评审。
7Alpha测试与beta的区别
Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。
这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。
Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。
这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。
8比较负载测试,容量测试和强度测试的区别
负载测试:
在一定的工作负荷下,系统的负荷及响应时间。
强度测试:
在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
容量测试:
容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。
容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。
容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。
容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。
12.测试结束的标准是什么?
用例全部测试。
覆盖率达到标准。
缺陷率达到标准。
其他指标达到质量标准
13.描述软件测试活动的生命周期?
测试周期分为计划、设计、实现、执行、总结。
其中:
计划:
对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;
设计:
完成测试方案,从技术层面上对测试进行规划;
实现:
进行测试用例和测试规程设计;
执行:
根据前期完成的计划、方案、用例、规程等文档,执行测试用例。
总结:
记录测试结果,进行测试分析,完成测试报告。
14.软件的缺陷等级应如何划分?
A类—严重错误,包括以下各种错误:
1.由于程序所引起的死机,非法退出2.死循环3.数据库发生死锁4.因错误操作导致的程序中断5.功能错误6.与数据库连接错误7.数据通讯错误
B类—较严重错误,包括以下各种错误:
1.程序错误2.程序接口错误3.数据库的表、业务规则、缺省值未加完整性等约束条件
C类—一般性错误,包括以下各种错误:
1.操作界面错误(包括数据窗口内列名定义、含义是否一致)2.打印内容、格式错误3.简单的输入限制未放在前台进行控制4.删除操作未给出提示5.数据库表中有过多的空字段
D类—较小错误,包括以下各种错误:
1.界面不规范2.辅助说明描述不清楚3.输入输出不规范4.长操作未给用户提示5.提示窗口文字未采用行业术语6.可输入区域和只读区域没有明显的区分标志
15.进程和程序的区别:
(1)进程就是一个活跃着的程序,即:
已经被放入了系统调度队列当中了,占有了一定的系统资源的程序.程序在没有被调用之前只能叫程序,被调用并得到了资源后就可以称其为进程了,进程可以由许多线程组成,线程与进程的主要区别在于同一进程里的线程之间可以共享一些临界资源,而进程之间则不可以,每个进程是孤立的,其实,无论是进程还是线程都是一段受命并在内存中得到执行的代码.
(2)进程的定义是:
一个程序关于某个数据集的一次运行活动。
进程是操作系统中可以并行工作的基本单位,也是核心调度及资源分配的最小单位。
进程是程序关于数据的一次运行,因而它包含一个或多个程序及数据。
除此之外,进程描述还包含一些进程的有关情况和属性信息,例如执行情况、资源使用情况。
为了便于操作系统对进程进行控制和管理,通常操作系统用一个称为进程控制块PC