测试题目
第1讲软件测试概念
1.【单选题】以下关于软件测试目的的描述,不正确的是________。 A.测试以发现故障或缺陷为目的
B.测试可以找出软件中存在的所有缺陷和错误 C.执行有限测试用例并发现错误
D.检查软件是否满足定义的各种需求
2.【单选题】软件测试是为了检查出并改正尽可能多的错误,不断提高软件的________。 A.功能和效率 B.设计和技巧 C.质量和可靠性 D.质量和效能
3.【单选题】导致软件缺陷的最大原因来自________。 A.软件产品规格说明书 B.软件设计 C.软件编码
D.数据输入错误
4.【判断题】一个成功的测试是发现了至今未发现错误。____
5.【判断题】测试可以证明程序有错,也可以证明程序没有错误。____
6.【判断题】所有的软件测试都应追溯到用户需求。____ 7.【填空题】一个故障会被应用程序其他部分的某个或某些故障所掩盖,这种现象称为____。
8.【填空题】____是为特定目的而设计的一组测试条件、输入测试对象的预期输出或预期行为的数据集合或操作序列,它是执行测试的最小单位。
9.【填空题】通过将一个测试用例的输出结果作为另一个测试用例的输入条件,可将多个测试用例组合成为____。
10.【简答题】在软件工程或软件测试中如何定义软件缺陷?
11.【简答题】描述2-3个你所知道软件缺陷或软件故障的案例。
第2讲软件测试基本要素
1.【单选题】软件测试的对象包括________。 A.目标程序和相关文档
B.源程序、目标程序、数据及相关文档 C.目标程序、操作系统和平台软件 D.源程序和目标程序
2.【单选题】识别测试的任务、定义测试的目标以及为实现测试目标和任务的测试活动规格说明。上述行为主要发生在___。 A.测试计划和控制 B.测试分析和设计 C.测试实现和执行 D.测试结束活动
3.【单选题】一个测试团队计划持续在一个被测系统中检测到90%-95%的缺陷比率。虽然测试经理认为无论就测试团队角度还是行业标准而言这巳经是一个标准很高的缺陷检测率。但是高级经理及高层管理者对测试结果很失望,认为测试团队仍漏检测了太多缺陷。用户对此系统的使用满意度和对较好,虽然有失效发生但总体负面影响不大。针对上述情况,作为一个测试经理您可以应用以下的哪一个通用测试原则去向高级经理及高层管理者解释为什么系统中仍然存在未被检测到的缺陷:___。
A.缺陷集群性 B.杀虫剂悖论
C.测试依赖于测试内容 D.穷尽测试是不可能的
4.【判断题】软件测试是测试人员的事,与开发人员无关。___
5.【判断题】测试可以证明缺陷存在,但不能证明缺陷不存在。___
6.【判断题】只要我们做了充分的测试,就能保证软件没有缺陷。___
7.【判断题】通常情况下,缺陷并不是平均分布的,80%的缺陷集中在20%的程序模块中。___
8.【填空题】软件测试生命周期包含在软件生命周期中。从大的方面看,测试生命周期主要横跨两个历程,分为___的测试历程和___的测试历程。
9.【填空题】如果同样的测试用例被一再重复地执行,这样会减少测试的有效性。先前没有发现的缺陷反复使用同样的测试用例也不会被重新发现。这种现象在软件测试中称为___。
10.【简答题】制定和实施测试策略应包含哪些内容?
11.【简答题】软件测试是一个持续的过程,基本测试过程主要包含哪些活动?
第3讲 软件测试模型
1.【单选题】瀑布模型表达了一种系统的、顺序的软件开发方法。以下关于瀑布模型的叙述中,正确的是____。
A.瀑布模型能够非常快速地开发大规模软件项目 B.只有很大的开发团队才使用瀑布模型
C.瀑布模型已不再适合于现今的软件开发环境
D.瀑布模型适用于软件需求确定,开发过程能够釆用线性方式完成的项目
2.【单选题】敏捷模式不仅是一个开发过程,而且是一类过程的统称,以下选项中不属于敏捷软件开发模式的是____。 A.极限编程XP B.IPD流程
C.迭代式增量开发过程SCRUM D.特征驱动软件开发FDD
3.【单选题】软件测试工作应该开始于____。 A.需求分析阶段 B.概要设计阶段 C.详细设计阶段 D.编码之后
4.【单选题】下面的描述中,不能体现前置测试模型要点的是____。 A.前置测试模型将开发和测试的生命周期整合在一起,标识了项目生命周期从开始到结束之间的关键行为,提出业务需求最好在设计和开发之前就被正确定义。 B.前置测试将测试执行和开发结合在一起,并在开发阶段以编码--测试--编码--测试的方式来体现,强调对每一个交付的开发结果都必须通过一定的方式进行测试。 C.前置测试模型主张根据业务需求进行测试设计,认为需求分析阶段是进行测试计划和测试设计的最好时机。
D.前置测试模型提出验收测试应该独立于技术测试,以保证设计及程序编码能够符合最终用户的需求。
5.【判断题】软件测试贯穿于软件定义和开发的整个过程 。____
6.【判断题】软件开发模式与软件测试具有密切关系,系统测试计划应该在详细设计阶段产生。____
7.【判断题】V模型描述了测试阶段和开发过程期间各阶段的对应关系。____
8.【填空题】将瀑布模式与边写边改模式进行演进、结合,并加入风险评估的软件开发模式是____。
9.【填空题】在工作流轴上,RUP设计6个核心工作流程与3个核心支撑工作流程,其中核心工作流程包括:业务建模工作流程、需求工作流程、分析设计工作流程、实现工作流程、____工作流程和____工作流程。
10.【填空题】定位了探索性测试的软件测试模型是____。
11.【填空题】前置测试模型包括两项测试计划技术:第一项技术是____,为以后提交的程序测试做好初始化准备,验证需求是否可测试。第二项技术是____。
12.【简答题】V模型是最具有代表意义的软件测试模型,请简单分析V模型的优点和缺点。 第4讲软件质量体系与测试
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.【单选题】软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为5级。目前,达到CMM第3级(已定义级)是许多组织努力的目标,该级的核心是____。 A.建立基本的项目管理和实践来跟踪项目费用、进度和功能特性 B.使用标准开发过程(或方法论)构建(或集成)系统 C.管理层寻求更主动地应对系统的开发问题 D.连续地监督和改进标准化的系统开发过程
7.【判断题】软件质量度量包含软件的功能特征和非功能特征。____
8.【判断题】TMM优化级别主要进行质量控制的测试。____
9.【填空题】系统在特定环境下,在给定的时间内无故障运行的概率称为____,它是对软件设计、开发以及所预定环境下具有特定能力置信度的一种度量,为衡量软件质量主要参数之一。
10.【填空题】ISO/IEC9126软件质量模型定义软件包含6项质量特性:功能性、可靠性、可用性、____、____和可移植性。
11.【填空题】软件测试成熟度模型TMM由5个成熟的测试过程级别构成,分别是初始级、可管理级、____、____和优化级。
12.【简答题】简述CMM的5个成熟度级别和各级的主要特征。
第5讲软件测试策略与流程
1.【单选题】V模型指出___对程序设计进行验证,___对系统设计进行验证。 A.单元和集成测试 B.单元测试 C.系统测试 D.验收测试
2.【单选题】下列选项中叙述错误的是___。 A.每个开发活动都有相对应的测试行为 B.每个测试级别都有其特有的测试目标
C.软件测试的工作重点应该集中在系统测试上
D.对每个测试级别,需要在相应的开发活动过程中进行相应的测试分析和设计
3.【单选题】对于软件的β测试,下列描述正确的是___。
A.β测试是在软件公司内部展开的测试,由公司专业的测试人员执行的测试 B.β测试是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试 C.β测试是在软件公司外部展开的测试,由专业的测试人员执行的测试
D.β测试是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试
4.【单选题】关于测试充分性的描述,正确的是___。 A.当全部测试用例都执行完后。 B.当继续测试没有发现新缺陷时。 C.只有进行完全的测试才充分。
D.在有限的时间和资源条件下,找出所有的软件的错误,使软件趋于完美,是不可能的。
5.【判断题】V模型体现的主要思想是软件开发任务和测试任务是相互对等的活 动并且同等重要。___
6.【判断题】集成测试计划是在软件开发过程中的需求分析阶段末提交。___ 7.【判断题】测试和调试是不同的两个过程或活动,但调试必须能适应任何软件测试的要求。___
8.【判断题】测试得越多,进一步测试所能得到的充分性增长就越多。___
9.【填空题】若按照软件测试在具体测试时,是否运用测试工具,或依赖程度不同而采用不同的模式而论,软件测试可分为___、___或混合模式测试,实际上混合模式运用最为广泛。
10.【填空题】即使对软件所有的组成成分都进行了充分的测试,也并不能表明整体软件系统的测试已经充分,这一特性称为测试的___。
11.【填空题】目前业界针对软件测试流程规划与实施过程的认识大体上一致。软件测试流程主要由测试策划、___、___、产品集成、集成测试、确认测试(系统测试和发布测试)以及验收测试七部分组成。
12.【简答题】简单描述通用V模型定义的各个测试级别,并分析V模型的本质特征。
第6讲软件测试主要类型
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.【判断题】自动化测试可以完全取代手工测试。___
7.【判断题】探索性测试允许在没有设计好测试用例之前就执行测试。___
8.【判断题】面向对象软件测试的策略、方法与传统软件测试相同。___
9.【填空题】若按照软件测试是否运行软件和执行程序,软件测试可以分为___和___两大类别。 10.【填空题】若按软件生命周期的测试阶段划分,软件测试分为单元测试、集成测试、______和______o
11.【填空题】上下文覆盖是一种针对面向对象特性增强的覆盖测试,它有3个定义,分别是:___上下文覆盖、___上下文覆盖和巳定义用户的上下文覆盖。
12.【简答题】按照软件测试用例的设计方法而论,软件测试可以分为白盒测试和黑盒测试。 (1)分别描述黑盒测试法与白盒测试法的主要观点。 (2)比较黑盒测试法与白盒测试法的不同之处。
13.【简答题】面向对象软件测试模型将面向对象软件测试划分为哪儿个阶段? 简单描述各个测试阶段的主要任务。
第7讲组件测试
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.只要开发测试stub B.只要开发测试driver
C.可能要同时开发一个stub和多个driver D.可能要同时开发一个driver和多个stub
7.【判断题】组件测试关注组件的内部行为和组件之间的接口。___ 8.【判断题】组件测试既可以采用人工方式进行,也可以借助组件测试工具进行自动化测试。___
9.【判断题】组件测试可以发现代码中不正确的或不一致的类型说明。___
10.【判断题】在任何情况下,组件测试阶段都不需要进行性能测试。___
11.【判断题】测试是开发人员为自己工作结果进行修正,而调试可以暴露出开发人员的工作结果中所存在的错误。___
12.【填空题】组件测试有两种模式:______模式和______模式,前者是把测试提前到代码还没产生之前,后者是先编写代码后进行测试。
13.【填空题】为模拟各个模块与周围其它模块的联系,在进行组件测试时需要设置一些辅助测试模块。通常,辅助测试模玦有两种:一种是___,用来模拟被测试模块的上一级模块;另一种是___,用来模拟被测模块工作过程中所调用的模块。
14.【简答题】组件测试的主要任务是什么?
第8讲集成测试
1.【单选题】以下选项中,集成测试不能发现的错误类型是___。 A.模块相互调用时引入的新问题
B.几个子功能组合后不能实现预期的主功能 C.全局数据结构出现错误
D.对数据的处理在设置的边界处出现错误
2.【单选题】在编码阶段对系统执行的测试类型主要包括组件测试和集成测试,___不属于集成测试的内容。 A.接口数据测试 B.局部数据测试 C.模块间时序测试 D.全局数据测试
3.【单选题】正确的集成测试描述包括___。 ①集成测试也叫做组装测试,通常是在单元测试的基础上,将模块按照设计说明书要求进行组装和测试的过程。
②自顶向下方式是集成测试的一种组装方式,它能较早地验证主要的控制和判断点,对于输入输出模块、复杂算法模块中存在的错误能够较早地发现。
③集成测试的目的在于检查被测模块能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求。
④集成测试要重点关注各个模块间的相互影响,发现并排除全局数据结构问题。 A.①② B.②③ C.①④ D.②④
4.【单选题】如果某个大型系统的关键模块是在结构图的底部,那么最适合采用的集成测试策略是___。
A.自顶向下集成测试 B.自底向上集成测试 C.随意集成测试 D.中枢集成测试
5.【判断题】如果软件的每个模块都能单独地工作,那么这些模块组装连接之后也肯定能正常工作。___
6.【判断题】对于系统组件是商业现货软件产品的软件系统,基本上可以不进行组件测试,但必须进行集成测试。___
7.【判断题】集成测试的测试目标是发现接口之间相互协作的问题,以及被集成部分之间的冲突。___
8.【判断题】集成测试只需要进行功能测试,不需要进行非功能测试。___
9.【判断题】自底向上集成测试需要测试员编写驱动模块 。___
10.【填空题】搭建集成测试环境时,需要___向测试对象发送测试数据,然后接受并记录结果;还需要使用___读取和记录组件间数据流的程序。
11.【填空题】在实际测试工作中需考虑集成测试的策略,___测试方式是采用一步到位的方法来构造测试,而___测试方式则采用逐步集成和逐步测试的方法。
12.【简答题】增量式集成测试策略可以分为哪两种方法?比较这两种集成测试方法的优缺点。
第9讲系统测试
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. ①②③ B. ③④ C. ②③④ D. ①②③④
7.【单选题】以下不属于空间性能指标的是___。 A. 响应时间 B. CPU占用率 C. 内存使用率 D. 磁盘I/O
8.【单选题】可靠性测试的关键测试数据不包括___。 A.失效间隔时间 B.失效修复时间 C.失效数量
D.平均响应时间
9.【单选题】以下属于安全测试方法的是___。
①安全功能验证 ②安全漏洞扫描 ③模拟攻击实验 ④数据侦听 A.①③ B.①②③ C.①②④ D.①②③④
10.【判断题】系统测试的目标是确认整个系统是否满足了规格说明中的功能和非功能需求,以及满足的程度。___
11.【判断题】系统测试可以发现因需求不正确、不完整或实现和需求之间不一致而引发的失效。___
12.【判断题】功能测试只能在系统测试阶段进行 。___
13.【判断题】功能测试一般采用人工测试方式,性能测试采用自动化测试工具。___
14.【判断题】功能测试一般釆用黑盒测试技术,而性能测试釆用白盒测试技术。___
15.【判断题】压力测试的目的是要检验软件运行在非正常的情形下的性能表现。___
16.【填空题】功能测试包括验证系统输入输出行为的各种测试。根据ISO/IEC9126定义,功能特性包括:___、___、互操作性、安全性和遵从性。 17.【填空题】稳定性测试是指连续运行(7x24)被测系统,检查系统运行时的稳定程度。MTBF是衡量系统稳定性的指标之一,MTBF越大,表明系统稳定性越好。这里MTBF的中文含义是 ______。
18.【填空题】可靠性测试可从黑盒测试与白盒测试两方面进行。黑盒测试的可靠件模型包括___模型、分离富化模型和NHPP模型:白盒测试可靠性模型包括___模型和基于状态的模型。
19.【简答题】 为什么需要进行系统测试?
20.【简答题】 为什么说在客户的运行环境下执行系统测试会有极大风险?
第10讲确认测试与验收测试
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.维护测试 B.验收测试 C.组件测试 D.系统测试
7.【单选题】关于维护测试,下列选项中描述正确的是______。 A.在软件系统交付给用户真正使用之前必须进行维护测试 B.在每个测试级别都需要进行维护测试
C.维护测试是在一个现有的运行系统上进行的测试
D.在一个现有的运行系统,因为开发已经完成了,所以不再需要测试
8.【判断题】确认测试也称为合格性测试,经过确认测试,可以为已开发的软件给出是否合格的结论性评价。______
9.【判断题】回归测试可以在所有的测试级别上进行,并且只适用于功能测试。______ 10.【判断题】当软件发生变更或者应用软件的环境发生变化时,都需要进行回归测试。______
11.【判断题】验收测试必须有最终用户或客户的参与。______
12.【判断题】如果软件系统没有改变,只是系统从一个平台移向另一个平台,则在新环境下不需要进行维护测试。______
13.【填空题】验收测试可以在较低测试级别执行,或分布在多个测试级别上进行。商业现货软件产品可在______时进行验收测试;组件的可用性验收测试在______时进行;新功能的验收测试在______之前进行。
14.【简答题】从测试风险和成本平衡的角度,简述回归测试的策略。
15.【简答题】简述常见的验收测试形式。
16.【简答题】公司A承担了公司B的办公自动化系统的建设工作。2011年10月初,项目还处于开发阶段,预计2012年5月才能完成全部开发工作,但是合同规定2011年10月底进行系统验收。因此,在2011年10月初,公司A依据合同规定向公司B和监理方提出在2011年10月底进行验收测试的请求,并提出了详细的测试计划和测试方案。在该方案中指出测试小组由公司A的测试工程师、外聘测试专家、外聘行业专家以及监理方的代表组成。请问公司A的做法是否正确?请给出理由。
第11讲静态测试框架
1.【单选题】下面对静态测试和动态测试的区别描述正确的 是______。 A.静态测试并没有真正的运行软件,而动态测试需要运行软件 B.静态测试需要借助于专门的测试工具,而动态测试不需要
C.静态测试是由开发人员执行的,而动态测试是由专门的测试人员完成
D.静态测试是主要是为了增加测试人员对软件的理解,而动态测试是为了发现缺陷
2.【单选题】在下列关于代码检查的描述中,错误的是______。 A.代码检査可以发现违背程序编写标准和编写风格的问题
B.代码检査能快速找到缺陷,发现30%~45%的逻辑设计和编码缺陷 C.代码检查应在编译和动态测试之后进行 D.代码检查看到的是问题本身而非征兆
3.【单选题】使用静态测试中的函数调用关系图不能够______. A.检查函数的调用关系是否正确 B.发现是否存在孤立函数
C.明确函数被调用频度,并对这些函数进行重点检查 D.发现函数内部结构
4.【单选题】下面______不属于静态分析。 A.编码规则的检查 B.内存泄漏
C.程序复杂度分析 D.程序结构分析
5.【单选题】使用静态测试中的接口一致性分析涉及______。 ①各模块之间接口的一致性
②模块与外部数据库接口的一致性
③形参与实参在类型、数量、顺序上的一致性 ④全局变量和公共数据区在使用上的一致性 A. ① B. ①② C. ①②③ D. ①②③④
6.【单选题】下面______不属于McCabe复杂度。 A.行复杂度 B.圈复杂度 C.基本复杂度
D.模块设计复杂度
7.【判断题】静态测试只能通过手工方式进行。______
8.【判断题】软件开发项目中的所有文档都通过人工评审进行审查。______
9.【判断题】静态测试在软件生命周期的各级测试均有应用,但常用于软件的早期测试,如需求分析阶段、项目设计阶段及组件测试阶段。______
10.【判断题】静态分析既可以发现程序中的语法错误,也可以检查和判定程序中的逻辑错误。______
11.【判断题】通过静态分析能够发现软件的所有逻辑设计和编码错误。______
12.【填空题】静态测试的实现技术主要包括______、______、代码质量度量以及评审和检査。
13.【填空题】针对软件可维护性,目前在测试工程中主要存在三种代码质量度量的参数:______复杂度、______复杂度和McCabe (圈)复杂度。
14.【填空题】静态测试评审是对需求分析和概要设计进行评审,包括手工评审和______两个步骤。手工评审分为______和______。
15.【简答题】简述静态测试的内容及过程。
第12讲静态测试方法
1. 【单选题】下面对数据流分析方法描述错误的是______。 A. 数据流分析是在程序代码经过的路径上检查数据的用法。 B. 数据流分析不一定能够发现缺陷,但可以发现异常。 C. 数据流分析过程中,需要检查每个变量的使用情况。
D. 数据流异常通常不明显,并且每个异常都会导致不正确的行为。
2. 【单选题】判断下面代码段中有数据流异常的变量是____。 void exchange (int& Min, int& Max) {
int help;
if (Min>Max) {
Max = Help; Max = Min; Help = Min; } }
A. Min 和 Max B. Min 和 Help C. Help 和 Max
D. Min、Max 和 Help
3. 【单选题】在控制流图中,不能仅用带标号的圆圈表示的是______。A. 一条或多条语句 B. 一个处理框序列 C. 一个条件判定框 D. 一个循环结构
4. 【单选题】下面 是由Case多分支结构转换的控制流图。 A. B.
D.
C.
5.【单选题】以下控制流图的环形复杂性V(G)等于 。
A. 5 B. 6 C. 7 D. 8
6.【判断题】通过控制流图可以发现程序结构的异常。______
7.【判断题】环形复杂度度量主要用于计算程序基本路径集的路径数量。______ 8.【判断题】环形复杂度的值越大,理解程序模块的难度越高。______
9.【填空题】程序控制流图中所涉及的图形符号只有两种,分别是______和______。
10.【填空题】控制流图可用矩阵表示,矩阵维数等于控制流图的______,矩阵的每个元素对应于____。
11.【简答题】简述环形复杂度的作用。
12.【应用题】根据下图给出的程序流程图,完成以下要求:
(1) (2) (3) (4)
画出相应的控制流图(要求对程序中的复合条件进行分解)。 写出控制流图的矩阵表示。 计算环形复杂度V(G)。 找出程序的独立路径集合。
13.【应用题】
1、为以下程序段设计一组测试用例,要求满足语句覆盖、判定覆盖、条件覆盖。
Void procedure_A(int x,int y,int z) {
int k=0,j=0;
if ((x>6) && (z<20)) {
k=x*y-1; j=sqrt(k); } //语句块1
if ((x==8) || (y>50)) {
j=x*y+10; } //语句2 j=j%3; //语句3 }
2、基本路径覆盖测试分析和设计。 请为程序模块F1 (1)画出程序控制流图 (2)计算控制流图的环路复杂度 (3)导出基本路径
(4)设计基本路径覆盖测试用例
程序模块F1代码如下:
1 public int F1(int num,int cycle,boolean flag) 2 {
3 int ret=0;
4 while (cycle>0) then 5 {
6 if (flag==true) 7 {
8 ret=num-10;
9 break; 10 } 11 else 12 {
13 if (num%2==0) 14 {
15 ret=ret*10; 16 } 17 else 18 {
19 ret=ret+1; 20 } 21 } 22 cycle--; 23 }
24 return ret; 25 }
第14讲软件评审
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.①②③ B.②③④ C.②③
D.①②③④
7.【判断题】评审是人工静态分析技术和文档检查方法的通称,是检查文档语义准确性的唯一手段。___
8.【判断题】软件开发过程中的所有文档都必须进行评审。___
9.【判断题】评审可以改进团队成员的工作方法,提高发布产品的质量。___
10.【判断题】走查可以发现设计控制流图和实际程序生成的控制流图的差异。___
11.【判断题】结对编程、结对测试和代码交换都是非正式评审方式。___
12.【填空题】参与软件评审的人员角色包括经理、主持人、___和记录员。
13.【填空题】软件评审的类型分为走查、___、___和非正式评审,其中最正式的评审是___。
14.【简答题】简述软件评审的过程。
15.【简答题】简述影响评审成功的关键因素。
第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.可以发现运用系统化方法进行测试时无法发现的问题
6.【判断题】动态测试的测试对象仅含软件开发过程中的各种文裆。___
7.【判断题】软件产品发布后就不再需要进行动态测试。___
8.【判断题】动态测试需要在程序执行之前提供测试数据。___
9.【判断题】在低级别的测试阶段,测试对象往往无法单独运行,因此无法进行动态测试。___
10.【判断题】测试脚本的实质是自动执行的指令,并在脚本中设置相应的前置条件,比较测试结果。___
11.【填空题】动态测试的具体内容包含功能确认与接口测试、___、___和___等。
12.【填空题】测试对象需要通过事先定义接口来调用程序的不同部分。当程序的某些部分还没有完成时,可以用___模拟由测试对象调用的那部分输入/输出行为。在很多情况下还要用___模拟程序中调用测试对象的部分。
13.【填空题】实际测试工作中,根据测试的需求可以将动态测试的策略与方法分成两大类:___和___。
14.【简答题】简述动态测试在组件测试、集成测试、系统测试及验收测试不同阶段的测试内容及过程。
第16讲黑盒测试技术
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.端口测试模型 B.对象测试模型 C.分层设计模型 D.以上都不是
7.【判断题】黑盒测试是从外部来看测试对象的行为,除了选择足够必要的测试 输入数据,测试者无法控制测试对象的工作顺序。___
8.【判断题】黑盒测试主要针对软件的各种功能、用户界面、逻辑结构、外部系统的条件和数据的访问等方面的测试。___
9.【判断题】每种黑盒测试方法都有其适用范围和问题,需要根据被测软件的特点进行正确
选用。___
10.【判断题】端口测试模型的主要思想是测试内容及测试的实现方法可以被封装限定在一个个的测试对象中。___
11.【填空题】对象测试模型将测试对象分为3个层次,分别是___、___和事务对象,它们的关系为逐级包含。
12.【填空题】分层设计模型的主要思想是将测试工具划分为5个不同的层次,从低到高依次是:端口驱动层、测试执行层、___、___和___。
13.【简答题】简述黑盒测试技术的主要目的。
第17讲等价类划分法
1.【单选题】下面对等价类划分法描述错误的是______。 A.将测试对象的输入域划分成若干部分
B.从每个部分中选取少数具有代表性的数据作为测试用例 C.只需要考虑程序中合理的、有意义的输入数据 D.等价类划分的主要依据是需求规格说明书
2.【单选题】某学校的成绩管理系统中,学生成绩的输入范围为0~100,根据等价类划分法,学生成绩可划分为______。
A. 2个有效等价类和2个无效等价类 B. 1个有效等价类和2个无效等价类 C. 2个有效等价类和1个无效等价类 D. 1个有效等价类和1个无效等价类
3.【单选题】某程序输入X取值于一个固定的枚举类型{1,4,9,16},并且程序要对这4个输入值分别进行处理,根据等价类划分法,这种情况下对输入X划分正确的是______。 A.划分为4个有效等价类、1个无效等价类 B.划分为1个有效等价类、4个无效等价类 C.划分为1个有效等价类、2个无效等价类 D.划分为1个有效等价类、1个无效等价类
4.【单选题】用等价类划分法设计6位长度的数字类型用户名(即不能包含数字以外的其它字符)登录操作的测试用例,应该分成______个等价区间。 A. 2 B. 3 C. 4 D. 6
5.【单选题】下面说法错误的是______。 A.标准等价类测试不考虑无效数据值
B.健壮等价类测试会同时考虑有效等价类和无效等价类 C.各个等价类的代表值至少要在一个测试用例中出现 D.使用无效数据值的测试用例可以不用定义预期结果
6.【判断题】合理划分等价类后,每个等价类中的各个输入数据对于揭露程序中的错误都是等效的。______
7.【判断题】等价类划分法需要考虑程序中输入条件之间的组合情况。______
8.【判断题】等价类划分法只能从被测程序的输入域来划分等价类。______
9.【判断题】如果已划分的等价类中各元素在程序中的处理方式不同,则应将该等价类进一步划分为更小的等价类。______
10.【判断题】应用等价类划分法设计测试用例时,如果某一个输入条件选取了无效等价类的代表值,则其它输入条件应该选取有效等价类的代表值。______
11.【设计题】使用等价类划分法分析NextDate函数的输入条件,确立有效等价类和无效等价类,建立等价类表,并设计出相应的测试用例。
12.【设计题】某城市的同定电话号码由三部分组成,分别是: 地区码 -- 空白或三位数字;
前缀 -- 非'0'或'1'开头的三位数; 后缀 -- 4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。要求:
(1)对电话号码划分有效等价类和无效等价类,建立等价类表。
(2)根据(1)建立的等价类表设计测试用例。______
第18讲边界值分析法
1.【单选题】下而关于边界值分析的说法不正确的是___。 A.边界值分析采用定义域或等价区间的边界值设计测试用例 B.边界值分析是一种补充等价划分的黑盒测试技术 C.边界值分析法考虑了输入变量之间的依赖关系
D.程序在处理大量屮间数值时不易出错,但容易在边界值处出现错误
2.【单选题】如果采用边界值分析法进行健壮性测试,需要对程序的每个输入变量选取___来设计测试用例。
A.最小值、正常值、最大值
B.最小值、略大于最小值、正常值、略小于最大值、最大值 C.略小于最小值、最小值、正常值、最大值、略大于最大值
D.略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值、 略大于最大值 3.【单选题】某程序输入X为整数类型变量,1<=X<=10,如果用边界值分析法设计测试用例,则X应该取___边界值。 A. 0, 1, 10, 11 B. 1, 10 C. 1, 11
D. 1, 5, 10, 11
4.【单选题】某程序含有3个变量,采用边界值分析法设计测试用例,使除一个以外的所有变量取正常值,使剩余变量取最小值、略高于最小值、正常值、略低于最大值和最大值,对每个变量都重复进行。这样产生的测试用例数为___。 A. 12 B. 13 C. 14 D. 15
5.【单选题】某程序的一个输入变量的取值范围是正整数,那么这个变量的有效边界值的数目是______。 A. 1个 B. 2个 C. 3个 D. 4个
6【单选题】在某汽车销售管理系统中,销售员可以根据当时的实际情况允许给客户0-15%的折扣,折扣精确到小数后两位。现在要对系统的折扣项用边界值分析法进行测试,则折扣项的边界值应该取______。
A. (-2, -1, 0, 1, 99, 100, 101) B. (-Max, 0, 20, Max)
C. (-0.01, 0, 0.01, 14.99, 15.00, 15.01) D. (-0.01, 0, 0.01, 99.99, 100.00, 100.01)
7.【判断题】边界值分析法是基于可靠性理论中称为“单故障”的假设,两个或两个以上故障同时出现而导致软件失效的情况很少。______
8.【判断题】使用边界值分析法设计测试用例时,所有的边界值都可以从模块的功能说明中获得。______
9.【判断题】如果程序的输入条件规定了值的个数,则用最大个数、最小个数、比最大个数少1个、比最小个数多1个的数作为测试数据。______
10.【判断题】如果程序规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个和最后一个元素作为测试输入值。______
11.【设计题】假设商店货品价格(R)都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只有50元(N50)、10元(N10)、5元(N5)和1元(N1)四种,请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。