第一篇:软件测试工程师试题(5套)
软件测试工程师试题
一、判断题
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.软件验收测试的合格通过准则是:(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.软件验收测试包括:正式验收测试,alpha测试,beta测试。
2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦)
3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。
4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。
5.(这题出的有问题哦,详细的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.组内培训过程。怎么做好文档测试
仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。P142 检查文档的编写是否满足文档编写的目的 内容是否齐全,正确 内容是否完善 标记是否正确 白盒测试有几种方法
总体上分为静态方法和动态方法两大类。
静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义 动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
6系统测试计划是否需要同行审批,为什么
需要,系统测试计划属于项目阶段性关键文档,因此需要评审。
7Alpha测试与beta的区别
Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。
Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。
8比较负载测试,容量测试和强度测试的区别
负载测试:在一定的工作负荷下,系统的负荷及响应时间。
强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。
.白箱测试和黑箱测试是什么?什么是回归测试?
2.单元测试、集成测试、系统测试的侧重点是什么?
3.设计用例的方法、依据有那些?
4.一个测试工程师应具备那些素质和技能?
5.集成测试通常都有那些策略?
6.你用过的测试工具的主要功能、性能及其他?
7.一个缺陷测试报告的组成
8.基于WEB信息管理系统测试时应考虑的因素有哪些?
9.软件本地化测试比功能测试都有哪些方面需要注意?
10.软件测试项目从什么时候开始,?为什么? 11.需求测试注意事项有哪些?
12.简述一下缺陷的生命周期
13.测试分析测试用例注意(事项)?
01.为什么要在一个团队中开展软件测试工作?
02.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?
03.您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)
04.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
05.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试„„)
06.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
07.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
08.您认为做好测试计划工作的关键是什么?
09.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
10.您认为做好测试用例设计工作的关键是什么?
11.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。
12.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。
13.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。
14.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
15.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
16.在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
17.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。
18.您以往是否曾经从事过单元测试和集成测试?如果有,请谈一下这些工作的实际开展情况。
19.您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样的?
20.您以往工作过的企业中,是否开展了软件配置管理工作?您能否描述一下这项工作的开展情况和您对这项工作的认识?
21.您是否熟悉一些主流的软件工程方法论和思想,如RUP、CMM、CMMI、XP、PSP、TSP。如果熟悉,您是否可以谈一下对这些方法论和思想的认识?
22.您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?
23.在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的?
24.在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面)
回复:软件测试工程师笔试试题
一、判断题(每题1分,12 分,正确的√,错误的╳)
1.软件测试的目的是尽可能多的找出软件的缺陷。()
2.Beta 测试是验收测试的一种。()
3.验收测试是由最终用户来实施的。()
4.项目立项前测试人员不需要提交任何工件。()
5.单元测试能发现约80%的软件缺陷。()
6.代码评审是检查源代码是否达到模块设计的要求。()
7.自底向上集成需要测试员编写驱动程序。()
8.负载测试是验证要检验的系统的能力最高能达到什么程度。()
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。()
10.代码评审员一般由测试员担任。()
11.我们可以人为的使得软件不存在配置问题。()
12.集成测试计划在需求分析阶段末提交。()
二、不定项选择题(每题2 分,10分)
1.软件验收测试的合格通过准则是:()
A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B. 所有测试项没有残余一级、二级和三级错误。
C. 立项审批表、需求分析文档、设计文档和编码实现一致。
D. 验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?()
A.项目经理
B.SQA 负责人
C.配置负责人
D.测试组
3.下列关于alpha 测试的描述中正确的是:()
A.alpha 测试需要用户代表参加
B.alpha 测试不需要用户代表参加
C.alpha 测试是系统测试的一种
D.alpha 测试是验收测试的一种
4.测试设计员的职责有:()
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
5.软件实施活动的进入准则是:()
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
三、填空题(每空1分,24 分)
1.软件验收测试包括、、三种类型。
2.系统测试的策略有功能测试、、、、易用性测
试、、、、、、、、、、等15 种方法。
3.设计系统测试计划需要参考的项目文档有、和迭代计划。
4.对面向过程的系统采用的集成策略有、两种。
5.通过画因果图来写测试用例的步骤为、、、及把因果图转
换为状态图共五个步骤。
四、简答题(共37分)
1. 阶段评审与同行评审的区别。(4 分). 什么是软件测试。(3 分). 简述集成测试的过程。(5 分). 怎样做好文档测试?(4 分)
5. 白盒测试有那几种方法?(6 分)
6. 系统测试计划是否需要同行评审,为什么?(4 分)
7. Alpha 测试与beta 测试的区别。(4 分). 比较负载测试、容量测试和强度测试的区别。(6 分). 测试结束的标准是什么?(3 分)
五、设计题(共15分)
对下面给出的程序控制图,分别以各种不同的测试方法写出最少的测试用例。
测试人员_考试试卷(考试时间100分钟,满分100分)
姓名:__________部门:__________员工号:__________
一、填空题:(每一空格2分,共60分)
1、软件实施活动的输出工件有、、、。
2、代码评审主要做 工作。
3、软件实施活动中集成员的职责是。
4、验证与确认软件实施活动主要有、代码评审、、、验证。
5、表明测试已经结束。
6、软件测试的目的是。
7、软件测试主要分为、、、四类测试。
8、软件测试活动有制定测试计划、、、、、、测
试评估、测试结束八个步骤。
9、软件测试活动的输出工件有_、、、、。
SQA
、10、软件测试角色有、、、。
二、不定项选择题:(每题3 分,共15分)
1、软件实施活动的进入准则是()
A、需求工件已经被基线化
B、详细设计工件已经被基线化
C、构架工件已经被基线化
D、项目阶段成果已经被基线化
2、下面角色不属于集成计划评审的是()
A、配置经理
B、项目经理
C、测试员
D、编码员
3、软件测试设计活动主要有()
A、工作量分析
B、确定并说明测试用例
C、确立并结构化测试过程
D、复审并评估测试覆盖
4、不属于集成测试步骤的是()
A、制定集成计划
B、执行集成测试
C、记录集成测试结果
D、回归测试
5、属于软件测试活动的输入工件的是()
A、软件工作版本
B、可测试性报告
C、软件需求工件
D、软件项目计划
三、问答题:(共25 分)
1、项目的集中管理在软件公司的哪一个层面?(2 分)
2、请描述软件测试活动的生命周期。(8 分)
3、什么是测试评估,测试评估的范围是什么?(5 分)
4、阐述工作版本的定义。(2 分)、请画出软件测试活动的流程图。(8 分)
测试人员考试试卷(考试时间90分钟,满分100分)
姓名:__________部门:__________员工号:__________
一、判断题(每题2分,正确的“√”,错误的“╳”)
1、好的测试员不懈追求完美。()
2、测试程序仅仅按预期方式运行就行了。()
3、不存在质量很高但可靠性很差的产品。()
4、软件测试员可以对产品说明书进行白盒测试。()
5、静态白盒测试可以找出遗漏之处和问题。()
6、总是首先设计白盒测试用例。()
7、可以发布具有配置缺陷的软件产品。()
8、所有软件必须进行某种程度的兼容性测试。()
9、所有软件都有一个用户界面,因此必须测试易用性。()
10、测试组负责软件质量。()
二、简答题
1、软件的缺陷等级应如何划分?(3 分)
2、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么?(5 分)
3、你认为一个优秀的测试工程师应该具备哪些素质?(3 分)
4、产品测试到什么时候就算是足够了?(2 分)
5、测试计划的目的是什么?(2 分)
6、为什么要进行软件测试?软件测试的目的是什么?(5 分)
7、软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?(5 分)
8、如何做一名合格的测试人员?(3 分)
9、针对缺陷采取怎样的管理措施?(5 分)
三、专业词语解释(每题2 分)
α测试:
β测试:
驱动模块:
桩模块:
白盒测试:
静态测试:
四、选择题(每题2分)
1.下面哪些属于动态分析()
A. 代码覆盖率
B. 模块功能检查
C. 系统压力测试
D. 程序数据流分析
2.下面哪些属于静态分析()
A、代码规则检查
B、序结构分析
C、序复杂度分析
D、内存泄漏
五、设计题(10分)
在三角形计算中,要求三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示错误,可构成三角
形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。画出程
序流程图、控制流程图、找出基本测试路径 ,对此设计一个测试用例。
六、论述题
1、试叙述对一个软件项目测试的全过程。(10 分)
2、简述你对测试工作的认识过程、在以后的工作的一些建议。(6 分)
3、述静态测试和动态测试的区别?(5 分)
测试人员_考试试卷(考试时间100分钟,每题10 分,满分100分)
姓名:__________部门:__________员工号:__________
1. 什么是软件测试,以及软件测试的意义?
2. 什么是软件测试静态分析,软件测试动态分析,3. 下面那些属于静态分析()
A、编码规则检查
B、程序结构分析
C、程序复杂度分析
D、内存泄漏
4. 下面那些属于动态分析()
A、代码覆盖率
B、模块功能检查
C、系统压力测试
D、程序数据流分析
5. 从测试技术角度,正确的选择是(),给出各自的含义?
A、静态测试
B、黑盒测试
C、动态测试
D、白盒测试
6. 从测试阶段角度,测试正确的顺序是(),同时给出所选择的正确策略含义和被测对象是什么?
A、单元测试
B、集成测试
C、系统测试
D、确认测试
7. 针对缺陷采取怎样的管理措施?
8. 在测试生命周期,测试过程分为几个阶段,以及各个阶段的含义?
9. 简要写出自己在理解的基础质上所认为引入测试管理的意义
10. 在三角形计算中,要求三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。画出程序流程图、控制流程图、计算圈复杂度V(g),找出基本测试路径。
第二篇:软件测试工程师笔试题
软件测试工程师笔试题一及答案
一、基础理论
1、软件测试的结束标准是什么?
2、一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。
3、什么是缺陷报告?
4、缺陷报告的作用
5、缺陷报告的要点
6、软件测试缺陷报告的“5C”原则
7、缺陷的二八定理
8、软件测试的流程
9、测试计划的目的是什么?测试计划的内容都包括什么?其中哪些是最重要的?
10、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
11、Alpha 测试与beta 测试的区别
答案:
一、基础理论
1、测试计划中所有规定的测试内容和回归测试都已经运行完成或根据上级主管对测试结果的意见,就可以结束本次测试
2、计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试
一套完整的测试应该由五个阶段组成:
1)测试计划首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准。以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。
2)测试设计将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响测试结果的有效性)。
3)测试开发建立可重复使用的自动测试过程。
4)测试执行执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。
5)测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。
3、缺陷报告是描述软件缺陷现象和重现步骤地集合。软件缺陷报告Software Bug Report(SBR)或软件问题报告Software Problem Report(SPR)
4、缺陷报告是软件测试人员的工作成果之一,体现软件测试的价值
缺陷报告可以把软件存在的缺陷准确的描述出来,便于开发人员修正
缺陷报告可以反映项目/产品当前的质量状态,便于项目整体进度和质量控制
软件测试缺陷报告是软件测试的输出成果之一,可以衡量测试人员的工作能力
5、标题(Title)
简洁、准确、完整、反映缺陷本质、方便查询
前缀 + 标题正文,标题正文采用结果和动作,或者现象和位置的方式表达
步骤(Steps)
可复现、完整、简洁、准确
按数字编号
实际结果(Actual results)
准确、详细描述软件的现象和特征
期望结果(Expected results)
准确、丰富、有理有据
平台(Platforms)
准确
截图(Screenshots)
准确反映缺陷特征
注释(Notes)
关于缺陷的辅助说明
6、内容准确(Correct):
每个组成部分的描述准确,不会引起误解
步骤简洁(Concise):
只包含必不可少的信息,不包括任何多余的内容
内容清晰(Clear):
每个组成部分的描述清晰,易于理解
结构完整(Complete):
包含复现该缺陷的完整步骤和其他本质信息
风格一致(Consistent):
按照一致的格式书写全部缺陷报告
7、在分析、设计、实现阶段的复审和测试工作能够发现和避免80%的缺陷,而系统测试又能找出其余缺陷中的80%,最后的4%的缺陷可能只有在用户大范围、长时间使用后才会暴露出来。
8、制订测试计划、设计测试用例、实施测试、提交缺陷报告、测试总结。
9、测试计划的目的:编写软件测试计划的目的是指导测试组成员进行工作和让测试组以外的项目成员了解测试工作的。
测试计划的内容:测试目的和测试项目简介、测试参考文档和测试提交文档、术语和定义、测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准、暂
停和重新启动测试的标准、风险和问题等。
最重要的:测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准
10、黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。
白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。
单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。
集成测试:在单元测试的基础上,对单元模块之间的连接和组装w进行测试。
系统测试:在所有都考虑的情况下,对系统进行测试。
验收测试:第三方进行的确认软件满足需求的测试。
第三篇:打印过软件测试工程师试题
全国计算机等级考试四级笔试样卷软件测试工程师(打印过)
选择题(每小题2分,共50分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)坚持在软件开发的各个阶段实施下列哪种质量保证措施,才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期 A)技术评审 B)程序测试
C)文档审查
D)管理评审
(2)经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模块中残存的错误数目与其他模块相比,通常应该 A)较少 B)较多
C)相似
D)不确定
(3)对程序中已发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,称为 A)测试 B)调试
C)错误分析
D)验证
(4)同行评审,有时称为同级评审,是一种通过作者的同行来确认缺陷和需要变更区域的检查方法。它主要分为管理评审、技术评审、文档评审和 A)误差评审 B)项目评审
C)过程评审
D)组织体系评审
(5)数据流覆盖关注的是程序中某个变量从其声明、赋值到引用的变化情况,它是下列哪一种覆盖的变种 A)语句覆盖 B)控制覆盖
C)分支覆盖
D)路径覆盖
(6)程序的流程图如下图所示,采用路径覆盖法进行测试,则至少需要几个测试用例可以覆盖所有可能的路径 A)5 B)6
C)7
D)8(7)如果一个判定中的复合条件表达式为(A > 1)or(B <= 3),则为了达到100%的条件覆盖率,至少
需要设计多少个测试用例
A)1 B)2 C)3
D)4(8)自底向上单元测试的策略是首先对模块调用图上的哪一层模块进行测试 A)最底层 B)下一层 C)最高层
D)上一层
(9)基本路径测试满足 A)语句覆盖 B)路径覆盖 C)分支覆盖
D)条件覆盖
(10)集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性 A)正确性 B)可靠性 C)可使用性
D)可维护性
(11)在软件性能测试中,下列指标中哪个不是软件性能的指标 A)响应时间 B)吞吐量 C)资源利用率
D)并发进程数
(12)下列关于软件性能测试的说法中,正确的是 A)性能测试的目的不是为了发现软件缺陷
B)压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力 C)性能测试通常要对测试结果进行分析才能获得测试结论
D)在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处(13)下列关于软件可靠性测试的说法中,错误的是 A)发现软件缺陷是软件可靠性测试的主要目的 B)软件可靠性测试通常用于有可靠性要求的软件
C)在一次软件可靠性测试中,执行的测试用例必须完全符合所定义的软件运行剖面 D)可靠性测试通常要对测试结果进行分析才能获得测试结论(14)下列关于面向对象软件测试的说法中,正确的是
A)在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试 B)在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试
C)假设类B是类A的子类,如果类A已进行了充分的测试,在测试类B时不必测试任何类B继承类A的成员方法 D)对于一棵继承树上的多个类,只有处于叶节点的类需要测试(15)下列哪种测试不属于面向对象单元测试考虑的范畴 A)成员方法的测试
C)类树的测试 B)类的测试
D)多个相互协作的类树的测试
(16)下列关于面向对象集成测试的说法中,正确的是 A)大突击集成是面向对象集成测试最常用且最有效的方法 B)自底向上集成和自顶向下集成都需要为集成测试开发大量代码 C)协作集成在任何情况下都优于自底向上集成和自顶向下集成 D)高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试(17)在Web应用软件的分层测试策略中,下列哪个不是测试关注的层次 A)数据层 B)业务层 C)服务层
D)表示层
(18)下列关于Web应用软件测试的说法中,正确的是 A)Cookie测试是Web应用软件功能测试的重要内容
B)对于没有使用数据库的Web应用软件,不需要进行性能测试 C)链接测试是Web应用软件易用性测试的重要内容
D)Web应用软件安全性测试仅关注Web应用软件是否能够防御网络攻击(19)下列哪一项不属于软件功能易用性测试关注的内容 A)软件界面的色彩是否协调 B)软件是否能主动禁止用户可能进行的非法操作 C)软件是否允许用户针对自己的使用习惯进行定制 D)软件是否能帮助用户减少输入中的重复劳动(20)下列关于极限测试的说法中,正确的是
A)极限测试是一种新型的测试方法,传统的测试技术均不适用于极限测试 B)极限测试中所有的测试均是由编码人员完成的 C)与传统的软件测试相比,极限测试是一种更严格的测试 D)极限测试需要频繁地进行单元测试
(21)下列有关测试过程V模型的说法中,正确的是
A)验收测试应确定程序的执行是否满足软件设计的要求
B)系统测试应确定系统功能和性能的质量特性是否达到系统要求的指标 C)单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求 D)集成测试在编码结束前就可以开始
(22)下列哪项工作与软件缺陷管理和追踪无关
A)对缺陷应该包含的信息条目、状态分类等进行完善设计
B)通过软件系统自动发送通知给相关开发和测试人员,使缺陷得到及时处理 C)对测试用例的执行结果进行记录和追踪
D)通过一些历史曲线和统计曲线来分析和预测未来的缺陷发现情况
(23)下列有关软件问题生命周期模型状态定义的说法中,错误的是
A)“新建”表示测试中发现并报告了新的软件问题
B)“打开”表示软件问题已被确认并分配给相关开发工程师处理 C)“关闭”表示软件问题已被开发人员修复并等待测试人员验证 D)“解决”表示软件问题已被确认修复(24)下列有关软件测试工具的说法中,错误的是
A)静态测试工具可用于对软件需求、结构设计、详细设计和代码进行评审、走查和审查 B)静态测试工具可对软件的复杂度分析、数据流分析、控制流分析和接口分析提供支持 C)动态测试工具可用于软件的覆盖分析和性能分析 D)动态测试工具不包括软件的仿真测试和变异测试
(25)计算机软件测试规范规定,软件测试的类别可分为:单元测试、集成测试以及
A)系统测试
B)验收测试
D)配置项测试、系统测试和验收测试 C)系统测试和验收测试
论述题(3题,共50分)
论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。
论述题1:以下是学生选课系统中“学生查询成绩”交互行为的描述,请按要求回答问题(20分)交互开始时终端上显示首页,用户选择“查询”请求后,显示“请输入学号”。
在用户输入学号后,系统核对学生学号:若输入的学号不正确,则显示“输入的学号不正确”,此次查询取消,回到首页;若输入的学号正确,出现“请输入课程名”。
一旦输入课程名,就开始核对课程名称:若输入的课程名不正确,则显示“输入的课程名不正确”,此次查询取消,回到首页;若输入的课程名正确,则根据“学号”和“课程名”,查询学生成绩。
若查询学生成绩成功,则显示查询到的成绩,系统询问是否继续查询:当用户选择“继续查询”后回到“请输入学号”;当用户选择“结束查询”后回到首页。
若查询学生成绩失败,则显示“查询失败”后回到首页。
(1)请画出该系统以上交互行为的状态图(应满足功能图的要求,不可画成流程图)。(10分)(2)使用基本路径测试方法确定该状态图的测试路径。(10分)
论述题2:以下是QESuite Web Version 1.0中某测试项目的部分界面,请按要求回答问题(12分)
(1)下图是该测试项目的测试用例执行文档界面。有几个测试用例没有执行?有几个测试用例最近一次执行通过?有几个测试用例最近一次执行失败?(3分)
(2)下图是该测试项目的某软件问题报告视图。按QESuite Web Version 1.0中的软件问题生命周期定义,4号软件问题报告需要何种人员进行哪些可能的操作?5号软件问题报告需要何种人员进行哪些可能的操作?8号软件问题报告需要何种人员进行哪些可能的操作?(9分)
论述题3:针对以下C语言程序,请按要求回答问题(18分)已知link.c源程序如下:
/*link.c程序对单向链表进行操作,首先建立一个单向链表,然后根据用户的选择可以对其进行插入节点、删除节点和链表反转操作*/
#include #include typedef struct list_node *list_pointer;typedef struct list_node{
int data;list_pointer link;
//定义链表指针
//定义链表结构
}list_node;
//用到的操作函数:
list_pointer create();
//建立一个单向链表
void insert(list_pointer *p_ptr, list_pointer node);//在node后加入一个新的节点 void delete_node(list_pointer *p_ptr, list_pointer trail, list_pointer node);//删除前一个节点是trail的当前节点node void print(list_pointer ptr);//打印链表节点中的值 list_pointer invert(list_pointer lead);//反转链表
int main(){
list_pointer list_pointer list_pointer ptr=NULL;node, trail;*p = &ptr;int choose, location, i;
printf(“you should create a link first:n”);//建立一个单向链表:
ptr=create();/* ptr 指向链表的第一个节点 */ print(ptr);//根据用户的不同选择进行相应的操作:
printf(“input number 0, you can quit the programn”);printf(“input number 1, you can insert a new node to linkn”);printf(“input number 2, you can delete a node from the linkn”);printf(“input number 3, you can invert the linkn”);printf(“please input your choicen”);scanf(“%d”, &choose);while(choose!=0){
switch(choose){ case 1:
printf(“you will insert a node to the linkn”);printf(“please input the location of the node:n”);scanf(“%d”, &location);node = ptr;i = 1;while(i } node = node->link;i++; insert(p, node);print(ptr);break;/* p为指向ptr的指针 */ case 2: printf(“you will delete a node from the linkn”);printf(“please input the location of the node:n”);scanf(“%d”, &location);node = ptr;if(location ==1)trail = NULL;trail = ptr;i = 1;while(i } node = trail->link;delete_node(p, trail, node);print(ptr);break;trail = trail->link;i++;case 3: printf(“you will invert the linkn”);ptr = invert(ptr); } } print(ptr);break;default: } printf(“please input your choicen”);scanf(“%d”, &choose);break;return-1;return 0;//根据用户的输入数值建立一个新的单向链表: list_pointer create(){ printf(“please input the node number of the link:n”);scanf(“%d”, &length);printf(“the number of the link is : %dn”, length); printf(“please input the data for the link node:n”);int i, current, length;list_pointer p1, p2, head; } i =0;p1= p2=(list_pointer)malloc(sizeof(list_node));head = p1;for(i = 0;i } p2->link = NULL;return head;scanf(“%d”, ¤t);p1->data = current;p2->link = p1;p2 = p1;p1 =(list_pointer)malloc(sizeof(list_node));„„ (1)画出主函数main的控制流程图。(10分) (2)设计一组测试用例,尽量使main 函数的语句覆盖率能达到100%。如果认为该函数的语句覆盖率无法达到100%,需说明原因。(8分) 厦门银禾数码技术有限公司软件测试工程师笔试题试卷(A)姓名:_________性别:____ 笔试日期200_年__月__日 是否应届/软件测试工作年限_____ 联系电话:_______________ 电子邮箱:________________ 期望待遇:_______________ 1、什么是软件测试?2’ 2、软件测试与软件质量保证的区别。10’ 3、报告软件缺陷时,测试人员要对软件缺陷分类,以简明扼要的方式指出其影响,以及修 改的优先次序。请描述如何划分缺陷与错误严重性和优先级别?10’ 4、BUG信息应该包含那些内容。5’ 5、测试用例说明应该包含哪些内容?测试用例计划包含哪些目标?10’ 6、WEB应用软件测试必须进行哪些类型测试,请列出每种类型的测试要点。15’ 7、网络应用测试的主要内容是什么?10’ 8、用户文档测试应该注意哪些要点?10’ 9、在DBMS中,视图的作用是什么? 写出建立视图的命令格式(如建立信息系学生的视图)10’ 10、请列举您认为身为测试人员应具备的能力和技术。8’ 参考答案 1、什么是软件测试?2’ 【要点】 在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试。 【详解】 软件测试就是在软件投入运行前对软件需求分析、软件设计规格说明书和软件编码进行查错(包括代码执行活动与人工活动)。也可以说,软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部构造而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误,这是在软件投入前,对软件需求分析、软件设计规格说明书和软件编码的最终复审,是软件质量保障的关键步骤。 1、软件测试与软件质量保证的区别。10’ 【要点】 软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作; 质量保证:通过预防、检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动的过程、步骤和产物。 软件测试:通过执行软件来,对过程中的产物(开发文档和程序)进行走查,发现问题,报告质量 【详解】 软件测试和软件质量保证是软件质量工程中的两个不同层面的工作。软件测试只是软件质量保证工作中的一个重要环节。 质量保证(QA)的工作是通过预防、检查与改进来保证软件的质量。QA采用的方法重要是按“全面质量管理”和“过程改进”的原来开展质量保证工作。虽然在软件质量保证的活动中也有一些测试活动,但它所以关注的是软件质量的检查和测量。它的主要工作是对软件生命周期的管理,以及检验软件是否满足规定的质量和用户的需求,因此重要是着眼于软件开发活动中的过程,步骤和产物,而不是软件进行剖析,找出问题或者评估。 软件测试虽然与开发过程紧密相关,但它所关心的不是过程的活动,而是对过程的产物,以及开发出的软件进行剖析。测试人员要对过程的产物(开发文档和源代码)进行走读,运行软件。以找到问题和报告质量。测试人员必须假设软件存在潜在的问题,测试中所做的操作就是为了找出更多的问题,而不是为了验证(事实上也不可能)软件的正确性。所以软件测试虽然对提高软件的质量起着关键的作用,但它只是软件质量保证的一个重要环节。 3、请描述如何划分缺陷与错误严重性和优先级别?10’ 给软件缺陷与错误划分严重性和优先级的通用原则: (1)表示软件缺陷所造成饿危害和恶劣程度。 (2)优先级表示修复缺陷的重要程度和次序。 严重性: (1)、严重:系统崩溃、数据丢失、数据毁坏 (2)、较严重:操作性错误、结果错误、遗漏功能 (3)、一般:小问题、错别字、UI布局、罕见故障 (4)、建议:不影响使用的瑕疵或更好的实现。 优先级: (1)、最高优先级:立即修复,停止进一步测试。 (2)、次高优先级:在产品发布之前必须修复。 (3)、中等优先级:如果时间允许应该修复。 (4)、最低优先级:可能会修复,但是也可能发布。 4、BUG信息应该包含那些内容。5’ 测试软件名称、测试版本号、测试人名称、测试事件、测试软件和硬件配置环境、发现软件错误的类型、错误的严重程度、详细步骤、必要的附图、测试注释。 5、测试用例说明应该包含哪些内容?10’ (1)定义(ANSI/IEEE829):编写用于输入的实际数据和预期结果,并明确指出使用 具体测试用例产生的测试程序的任何限制 (2)包含的内容 标识符:由测试设计过程说明和测试程序说明引用的唯一标识符 测试项:描述被测试的详细特性、代码模块等 输入说明:列举执行测试用例的所有输入内容或者条件 输出说明:描述进行测试用例预期的结果 环境要求:执行测试用例的软件、硬件、测试工具及人员等要求 特殊要求:描述执行测试用例的特殊要求 用例之间的依赖性:注明与其分用例的依赖关系或受其他用例的影响 测试用例计划包含4个目标即:组织性、重复性、跟踪和测试证实。 6、WEB应用软件测试必须进行以下不同类型的测试,包括:功能测试、性能测试、可用性测试、兼容测试、安全测试等。15’ (1)、功能测试主要是用来测试WEB应用软件是否履行了预期的功能,确保每一个功能与需求说明一致。根据测试对象的不同,可分为:链接测试、表单测试、COOKIES测试、设计语言测试、数据库测试。 (2)、性能测试主要是确保WEB应用系统达到要求的性能,一般用最大的运行时间、吞吐率、相应时间描述。 性能测试又分为:链接速度测试、负载测试和压力测试,负载测试是为了测量WEB系统在某一负载级别上的性能,以保证WEB系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问WEB系统的用户数量,也可以是在线数据处理的数量。 压力测试是指实际破坏一个WEB应用系统时测试系统的反映,压力测试是测试系统的限制和故障恢复能力,也就是测试WEB应用系统会不会崩溃,在什么情况下会崩溃,压力测试的区域包括表单、登录、和其他信息传输页面等。压力测试侧重于确定系统崩溃时的用户负载量。 (3)、可用性测试:导航测试、图形测试、内容测试、整体界面测试。 (4)、兼容性测试:确定WEB应用软件在不同软件、硬件和网络配置下运行情况,它主要 是用来测试在不同浏览器中是否都可以正确地显示WEB应用程序的页面内容,从而保证页面中的某些代码,比如:JavaScript ,ActiveX、CSS等在不同平台配置上都能具有正确性。 (5)、安全测试。 7、网络应用测试的主要内容是什么?10’ 网络应用系统包含:网络应用软件、工作站桌面软件和客户/服务器数据库。 网络应用测试重点考察:多用户并发访问性能、应用系统响应时间、应用系统对网络 资源的占用情况、与网络相关的应用功能特性、应用系统在网络环境下的稳定性。 (1)特性测试:特性测试核实的是单个命令和应用程序功能,通常用较小的负 载完成,关注的是用户界面、应用程序的操作,以及用户与计算机之间的互操作。 (2)功能测试:要求网络配置和负载非常接近于运行环境下的模式,关注的是 当多个用户使用应用程序时,网络和文件系统或者数据库系统之间的交互 情况,核实的是重负载下后台功能能否正确执行。 (3)应用负载测试。 (4)应用系统响应时间测试。 (5)应用系统升级测试。 8、用户文档测试的要点10’ (1)、明确读者群:根据读者群(如初级、中级、高级用户)的不同来检查文档内容,保证用户能够看得懂、能理解 (2)、术语:文档中术语的描述要适合定位的读者群,用法一致,标准定义与业界规范相吻合(3)、文档内容的正确性:要保证所有信息是真实正确的(4)、文档内容的完整性:要完全根据提示逐步操作,检查是否存在遗漏的地方 (5)、文档与程序的一致性:按照文档操作后,检查软件返回的结果与文档描述是否一致 (6)、文档的易用性:检查是否便于用户查找相应的内容 (7)、图表与界面截图:检查所有图表与界面截图与发布的程序版本一致 (8)、样例和示例:检查所有的样例和示例能够正确完成; (9)、语言:中文文档保证无错别字和二义性 (10)、印刷与包装:印刷质量,包装质量 9、在DBMS中,视图不是真正的包含数据,只是把定义存于数据字典中。作用为:10’ (1)、简化用户操作。 (2)、使用户能从多角度中看待同一数据。 (3)、对重构数据提供一定程度的逻辑独立性。 (4)、能对机密数据提供安全保护。 CREATE VIEW<视图名>[(<列名>[<列名>]„„)] AS 子查询 [With Check Option] CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept =’IS’ With Check Option10、测试人员应该具备的能力和技术。8’ 1、基本能力 2、沟通能力 3、技术能力 测试方法应用、测试用例设计、测试工具使用(测试管理系统、自动化测试工具、负载测试工具) 4、管理能力 5、文档能力 软件测试工程师笔面试试题 面试题 01.为什么要在一个团队中开展软件测试工作? 02.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作? 03.您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述) 04.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? 05.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……) 06.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 07.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的? 08.您认为做好测试计划工作的关键是什么? 09.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 10.您认为做好测试用例设计工作的关键是什么? 11.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。 12.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。 13.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。 14.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。 15.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么? 16.在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? 17.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。 18.您以往是否曾经从事过单元测试和集成测试?如果有,请谈一下这些工作的实际开展情况。 19.您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样的? 20.您以往工作过的企业中,是否开展了软件配置管理工作?您能否描述一下这项工作的开展情况和您对这项工作的认识? 21.您是否熟悉一些主流的软件工程方法论和思想,如RUP、CMM、CMMI、XP、PSP、TSP。如果熟悉,您是否可以谈一下对这些方法论和思想的认识? 22.您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么? 23.在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的? 24.在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面) 笔试题 一、判断题(每题1分,12 分,正确的√,错误的╳) 1.软件测试的目的是尽可能多的找出软件的缺陷。() 2.Beta 测试是验收测试的一种。() 3.验收测试是由最终用户来实施的。() 4.项目立项前测试人员不需要提交任何工件。() 5.单元测试能发现约80%的软件缺陷。() 6.代码评审是检查源代码是否达到模块设计的要求。() 7.自底向上集成需要测试员编写驱动程序。() 8.负载测试是验证要检验的系统的能力最高能达到什么程度。() 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。() 10.代码评审员一般由测试员担任。() 11.我们可以人为的使得软件不存在配置问题。() 12.集成测试计划在需求分析阶段末提交。() 二、不定项选择题(每题2 分,10分) 1.软件验收测试的合格通过准则是:() A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 B. 所有测试项没有残余一级、二级和三级错误。 C. 立项审批表、需求分析文档、设计文档和编码实现一致。 D. 验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?()A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组 3.下列关于alpha 测试的描述中正确的是:() A.alpha 测试需要用户代表参加 B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种 4.测试设计员的职责有:() A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.软件实施活动的进入准则是:() A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 三、填空题(每空1分,24 分) 1.软件验收测试包括、、三种类型。 2.系统测试的策略有功能测试、、、、易用性测 试、、、、、、、、、、等15 种方法。 3.设计系统测试计划需要参考的项目文档有、和迭代计划。 4.对面向过程的系统采用的集成策略有、两种。 5.通过画因果图来写测试用例的步骤为、、、及把因果图转 换为状态图共五个步骤。 四、简答题(共37分) 1. 阶段评审与同行评审的区别。(4 分). 什么是软件测试。(3 分). 简述集成测试的过程。(5 分). 怎样做好文档测试?(4 分) 5. 白盒测试有那几种方法?(6 分) 6. 系统测试计划是否需要同行评审,为什么?(4 分) 7. Alpha 测试与beta 测试的区别。(4 分). 比较负载测试、容量测试和强度测试的区别。(6 分). 测试结束的标准是什么?(3 分) 一、填空题:(每一空格2分,共60分) 1、软件实施活动的输出工件有、、、。 2、代码评审主要做、、、工作。 3、软件实施活动中集成员的职责是、、、。 4、验证与确认软件实施活动主要有、代码评审、、、、SQA 验证。 5、表明测试已经结束、、、。 6、软件测试的目的是、、、。 7、软件测试主要分为、、、四类测试。 8、软件测试活动有制定测试计划、、、、、、测 试评估、测试结束八个步骤。 9、软件测试活动的输出工件有_、、、10、软件测试角色有、、、。 二、不定项选择题:(每题3 分,共15分) 1、软件实施活动的进入准则是() A、需求工件已经被基线化 B、详细设计工件已经被基线化 C、构架工件已经被基线化 D、项目阶段成果已经被基线化 2、下面角色不属于集成计划评审的是()A、配置经理 B、项目经理 C、测试员 D、编码员 3、软件测试设计活动主要有() A、工作量分析 B、确定并说明测试用例、。 C、确立并结构化测试过程 D、复审并评估测试覆盖 4、不属于集成测试步骤的是() A、制定集成计划 B、执行集成测试 C、记录集成测试结果 D、回归测试 5、属于软件测试活动的输入工件的是() A、软件工作版本 B、可测试性报告 C、软件需求工件 D、软件项目计划 三、问答题:(共25 分) 1、项目的集中管理在软件公司的哪一个层面?(2 分) 2、请描述软件测试活动的生命周期。(8 分) 3、什么是测试评估,测试评估的范围是什么?(5 分) 4、阐述工作版本的定义。(2 分)、请画出软件测试活动的流程图。(8 分) 一、判断题(每题2分,正确的“√”,错误的“╳”)、好的测试员不懈追求完美。() 2、测试程序仅仅按预期方式运行就行了。() 3、不存在质量很高但可靠性很差的产品。() 4、软件测试员可以对产品说明书进行白盒测试。() 5、静态白盒测试可以找出遗漏之处和问题。() 6、总是首先设计白盒测试用例。() 7、可以发布具有配置缺陷的软件产品。() 8、所有软件必须进行某种程度的兼容性测试。() 9、所有软件都有一个用户界面,因此必须测试易用性。() 10、测试组负责软件质量。() 二、简答题 1、软件的缺陷等级应如何划分?(3 分) 2、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么?(5 分) 3、你认为一个优秀的测试工程师应该具备哪些素质?(3 分) 4、产品测试到什么时候就算是足够了?(2 分) 5、测试计划的目的是什么?(2 分) 6、为什么要进行软件测试?软件测试的目的是什么?(5 分) 7、软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?(5 分) 8、如何做一名合格的测试人员?(3 分) 9、针对缺陷采取怎样的管理措施?(5 分) 三、专业词语解释(每题2 分) α测试: β测试: 驱动模块: 桩模块: 白盒测试: 静态测试: 四、选择题(每题2分) 1.下面哪些属于动态分析()A. 代码覆盖率 B. 模块功能检查 C. 系统压力测试 D. 程序数据流分析 2.下面哪些属于静态分析()A、代码规则检查 B、序结构分析 C、序复杂度分析 D、内存泄漏 五、设计题(10分) 在三角形计算中,要求三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示错误,可构成三角 形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。画出程 序流程图、控制流程图、找出基本测试路径 ,对此设计一个测试用例。 六、论述题 1、试叙述对一个软件项目测试的全过程。(10 分) 2、简述你对测试工作的认识过程、在以后的工作的一些建议。(6 分)、述静态测试和动态测试的区别?(5 分) 1. 什么是软件测试,以及软件测试的意义? 2. 什么是软件测试静态分析,软件测试动态分析,3. 下面那些属于静态分析() A、编码规则检查 B、程序结构分析 C、程序复杂度分析 D、内存泄漏 4. 下面那些属于动态分析() A、代码覆盖率 B、模块功能检查 C、系统压力测试 D、程序数据流分析 5. 从测试技术角度,正确的选择是(),给出各自的含义? A、静态测试 B、黑盒测试 C、动态测试 D、白盒测试 6. 从测试阶段角度,测试正确的顺序是(),同时给出所选择的正确策略含义和被测对象是什么? A、单元测试 B、集成测试 C、系统测试 D、确认测试 7. 针对缺陷采取怎样的管理措施? 8. 在测试生命周期,测试过程分为几个阶段,以及各个阶段的含义? 9. 简要写出自己在理解的基础质上所认为引入测试管理的意义 10. 在三角形计算中,要求三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等 边三角形”。画出程序流程图、控制流程图、计算圈复杂度V(g),找出基本测试路径 软件测试工程师笔试试题答案 我认为那些面试题不同的人会有不同的答案 下面是部分答案 一、判断题(每题1分,12 分,正确的√,错误的╳) 1.软件测试的目的是尽可能多的找出软件的缺陷。()软件测试的目的就是为了发现软件中的缺陷,从这个意义上面说上面的这个论断是正确的。不少人会认为软件测试可以保证软件的质量,其实这个观点是错误,测试只是软件质量控制中的一个角色,其活动并不能达成软件质量保证的效果。所以不要认为一个公司里面如果有了软件测试人员,产品的质量就会好起来。 2.Beta 测试是验收测试的一种。()Beat测试和验收测试是两种不同的测试。验收测试的目的是为了以发现”未实现的需求”为目的,以评估”适合使用”为目标,该类测试的不是以发现缺陷为主要目的。beta测试是一模拟真实的使用环境从而发现缺陷的一种测试。所以两者之间的是非包容关系。 3.验收测试是由最终用户来实施的。()上面说到了验收测试的目的和目标,所以验收测试也可是是软件生产的企业内部人员来实施。例如产品经理。当软件以项目的形式出现,那么验收测试由最终用户来实施的情况是比较长见的。但是对于产品形式的软件,生产企业内部的验收测试会更多。 4.项目立项前测试人员不需要提交任何工件。()应该说这道题目没有明确的答案,在项目立项前测试人员是不是要把一些准备工作以工件的形式给记录下来是完全取决于该企业的软件开发过程的要求。同时不同企业,立项前要达成的一些必要条件也是大相径庭的。应该说这一题目出的不是很好,如果你是出题人这家企业的测试工程师,那么就应该有一个明确的答案。 5.单元测试能发现约80%的软件缺陷。()同样这一题目也没有标准答案。因为该数据的来源和其统计的方法,样本都没有一个工业标准。这样出来的数据同样不具有权威性。这里我可以说一个简单的例子,在用ASP,php这类脚本语言开发网页的时候是根本没有复杂的单元测试。那么这样的数字应用在网站开发上面是否有意义,还是值得商榷的。所以这道题目出的不好,没有明确的答案 6.代码评审是检查源代码是否达到模块设计的要求。()代码审查是一种静态技术,从这个意义上说代码复查是需要和其他的一些动态测试技术配合才能检查代码是否符合设计的要求 7.自底向上集成需要测试员编写驱动程序。()这道题目大家看下top-down 和 down-top的集成测试示意图就能得出明确的答案。这里需要了解的是什么是驱动测试程序,什么是桩程序。如果集成组件数量众多,多关系层次,那么不论是什么类型的集成测试。驱动程序和桩程序都是需要开发的。 8.负载测试是验证要检验的系统的能力最高能达到什么程度。()关于负载测试和压力测试在论坛中的帖子中有详细的解释,大家可以去看一下就能得出正确的答案 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。()同样,这一题没有正确的答案。缺陷是否修复是需要听取测试人员的意见,但测试人员的意见非决定性。所以还是要看一个企业赋予测试人员有多大的权力。 10.代码评审员一般由测试员担任。()如果测试员有这个水平,那么当然是可以参加的。不过大多数的企业不会让普通的测试人员参与代码的评审。 11.我们可以人为的使得软件不存在配置问题。()首先大家先搞清楚什么是配置管理什么是软件配置,从这道题目中看不出出题人想问的是关键工程中的配置管理还是单纯的软件配置。但是可以肯定的是不论是何种情况,答案均是否定的。 12.集成测试计划在需求分析阶段末提交。()集成测试计划在开发人员完成软件集成计划之后就可以开始进行了。所以在需求分析阶段之后提交是不现实的事情,应该在软件的设计阶段后,编码前。 二、不定项选择题(每题2 分,10分) 1.软件验收测试的合格通过准则是:() A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。B. 所有测试项没有残余一级、二级和一 C. 立项审批表、需求分析文档、设计文档和编码实现一致。 D. 验收测试工件齐全。回答这道题,你必须是这家企业的员工。前面说到了验收测试的目的和目标,一个是需求必须实现,二是证明软件是适合使用的。这样能满足这两个通用标准就可以了。当然有些软件企业会对验收测试标准做一些调整。 2.软件测试计划评审会需要哪些人员参加?() A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组 上面的4种角色都需要参与 3.下列关于alpha 测试的描述中正确的是:() A.alpha 测试需要用户代表参加 B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种 首先大家需要知道alpha测试是系统级别的测试,该测试是在一个受控的环境中进行的。用户需要直接参与进来。所以答案应该是AD 4.测试设计员的职责有:() A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 合理的答案的是BC,同时要看软件企业对该类人员的职责是如何定义。 5.软件实施活动的进入准则是:() A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 先要了解一下什么是基线。这个是软件配置管理中一个重要的概念。工作产品必须纳入到一定的基线里面。所以选择ABC是必定的,至于是否选择D要看这家企业自身的标准了 填空题(每空1分,24 分) 1.软件验收测试包括___、___、____三种类型。软件验收测试包括正式验收测试、alpha测试、beta测试三种测试。 2.系统测试的策略有功能测试、、、、易用性测试、、、、、、、、、、等15 种方法。 系统测试的策略有很多种的,我知道的有性能测试、负载测试、强度测试、易用性测试、安全测试、配置测试、安装测试、文档测试、故障恢复测试、用户界面测试、恢复测试、分布测试、可用性测试。。 3.设计系统测试计划需要参考的项目文档有、和迭代计划。设计系统测试计划需要参考的项目文档有软件测试计划、软件需求工件、和迭代计划。 4.对面向过程的系统采用的集成策略有___、___两种。5.通过画因果图来写测试用例的步骤为___、___、___、___及把因果图转换为状态图共五个步骤。利用因果图生成测试用例的基本步骤是: § 分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。§ 分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。§ 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。§ 把因果图转换成判定表。§ 把判定表的每一列拿出来作为依据,设计测试用例。第四篇:软件测试工程师笔试题及参考答案
第五篇:软件测试工程师笔面试试题