软件质量保证测试试题与答案
- 格式:doc
- 大小:70.00 KB
- 文档页数:11
选择题
1.软件测试的目的是( B )。
A)试验性运行软件 B)发现软件错误
C)证明软件正确 D)找出软件中全部错误
2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。
A)应用范围 B)内部逻辑
C)功能 D)输入数据
3.黑盒法是根据程序的( C)来设计测试用例的。
A)应用范围 B)内部逻辑
C)功能 D)输入数据
4.为了提高软件测试的效率,应该( D )。
A)随机地选取测试数据
B)取一切可能的输入数据作为测试数据
C)在完成编码以后制定软件的测试计划
D)选择发现错误可能性最大的数据作为测试用例
5.与设计测试用例无关的文档是( A )。
A)项目开发计划 B)需求规格说明书
C)设计说明书 D)源程序
6.测试的关键问题是( B )。
A)如何组织软件评审
B)如何选择测试用例
C)如何验证程序的正确性
D)如何采用综合策略 7.软件测试用例主要由输入数据和( C )两部分组成。
A)测试计划 B)测试规则
C)预期输出结果 D)以往测试记录分析
8.成功的测试是指运行测试用例后( B )。
A)未发现程序错误
B)发现了程序错误
C)证明程序正确性
D)改正了程序错误
9.下列几种逻辑覆盖标准中,查错能力最强的是( D )。
A)语句覆盖 B)判定覆盖
C)条件覆盖 D)条件组合覆盖
10.在黑盒测试中,着重检查输入条件组合的方法是( D )。
A)等价类划分法 B)边界值分析法
C)错误推测法 D)因果图法
11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(A)。
A)系统功能 B)局部数据结构
第1页
软件质量保证与测试 复习题
类型:
一、单项选择题 (共20小题,20%)
二、判断题(共20小题,20%)
三、简答题(共5小题,30%)
四、综合题(共2题,30%)
复习题:
一、单项选择题
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.测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行 第2页 6、某次程序调试没有出现预计的结果,下列( )不可能是导致出错的原因
A.变量没有初始化 B.编写的语句书写格式不规范
C.循环控制出错 D.代码输入有误
7、软件缺陷修复的代价最高的阶段为( )
A.发布阶段 B.需求阶段 C.设计阶段 D.编码阶段
8、不属于逻辑覆盖方法的是( )
=一、判断题(判断下列题目是否正确,如果正确请打“√”,错误请打“×” 每小题2分,共20分)
1. 在专业的软件开发、维护中,SQA环境是建立、执行SQA方法时必须首要考虑的问题。( √ )
2. 专家观点通过引进补充的外部能力到机构内部开发过程中来而支持质量评估工作。( √ )
3. 软件生命周期模型强调的是直接开发活动,而没有指示出开发过程的顾客参与。( √ )
4. 规程具有机构范围的适用性,它的执行和具体执行的人或组织背景有着密切关系。( × )
5. 在科学和工程中,如果没有度量,对一切都没有一个定量的了解,那么这种科学和工程既不是有效的,也不是实际的。( √ )
6. SEI CMM评估标准, ISO 9001和ISO 9000-3标准是典型的项目过程标准。( × )
7. 6σ管理法的核心是追求零缺陷生产,σ值越大,缺陷或错误越小。( √ )
8. 同行评审的主要目标在于检测错误、核对与标准的偏离。( √ )
9. SQA是CMM4级中的一个重要关键过程区域,它是贯穿于整个软件过程的第三方独立审查活动,在CMM的过程中充当重要角色。( × )
10. 项目进展控制SQA工具有Gatt图、日历、数据流图和活动网络图( × )
二、填空题(每空2分,共20分;请把答案书写在相应横线上。)
3 软件度量的目的是对软件项目、过程、产品加以 理解 、 预测 、 评估 、 控制 和 改善 。
4. “已经正式通过复审和批准的某规约或产品,可作为进一步开发的基础,并且只能通过正式的变化控制过程改变”,这是IEEE对 基线 的定义描述。
5. 软件质量工程包括 软件质量保证 、 软件质量规划 和 软件质量控制 三大方面。
6. McCall模型“产品修改”纬度的质量因素有 可维护性 、 可测试性 、 灵活性 。
7. 软件缺陷属性包括: 缺陷标识 、 缺陷类型 、 缺陷严重程度 、 缺陷优先级 、 缺陷状态 、 缺陷起源 、 缺陷来源 、 缺陷根源 。
选择题
1、关于软件测试的理解有误的是 BD。 ..................................................................................... 1
2、关于软件测试的概述说法不正确的是AB 。 ........................................................................ 1
3、测试用例在软件测试中举足轻重,关于它的说法错误的是 D。 ........................................ 1
4、为了提高测试效率应该 D。 .................................................................................................... 1
5、 强调了测试计划等工作的先行和对系统需求和系统设计的测试C ................................... 1
1、描述黑盒测试的说法错误的是 B。 ........................................................................................ 1
2、黑盒测试的方法有ABC 。 ..................................................................................................... 1
3、下列叙述不正确的是B 。 ....................................................................................................... 1
1 河南大学软件学院2011-2012学年第二学期期末考试
软件质量保证与测试A卷 参考答案与评分标准
(卷面总分:100分)
一、选择题(本题共10题,每题2分,共20分)
1 2 3 4 5 6 7 8 9 10
B C D A B D C D B B
二、填空题(本题共10空,每空2分,共20分)
(1) 质量 (6) 回归测试
(2) 静态测试 (7) 汇集类
(3) 手工测试 (8) 程序的功能模块
(4) 系统测试 (9) 软件兼容性
(5) 渐增式 (10) 硬件兼容性
三、简答题(本题共5题,每题6分,共30分)
1.为什么现代软件测试的观点认为“软件测试是在代码完成之后进行”是一个误区?
【参考答案】
因为软件测试应贯穿整个软件生命周期。分析阶段,测试人员对需求分析阅读、讨论和审查,发现需求定义问题,了解用户实际需求;设计阶段,测试人员衡量系统的可测性,检查设计中是否符合要求,有无严重问题。
【评分标准】全过程、分析、设计各2分。
2.根据统计数据,缺陷发现越早,修复缺陷的代价越小,这种现象对于软件测试有什么启示?
【参考答案】
软件测试应尽早介入项目,问题发现得越早越好;已经发现的缺陷要尽快修复,从而在总体上降低软件成本。
【评分标准】早发现、早修复各3分。
2 3.简述单元测试的主要任务。
【参考答案】
主要任务包括:所有独立执行路径测试、局部数据结构测试、单元接口测试、边界条件测试、各条错误处理通路测试、内存分析。
【评分标准】每一点1分。
4.在对OOA和OOP进行审查时,面向对象层次结构测试应包括哪些方面?
【参考答案】
包括三个方面:对认定对象的测试、对认定结构的测试、对构造的类层次结构的测试。
【评分标准】每一点2分。
5.软件测试计划应该包括哪些主要内容?
【参考答案】
应包括标识符、情况简介、测试项(测试范围)、测试策略(方法)、通过标准、测试人员职责、进度表、风险分析等内容。
一、选择题(每题只有一个选项,将你认为合理的选项填在题前括号内,每小题2分,共16分)
( D)1、较实用的软件测试停止标准是( )。
A、测试超产过了预定时间,则停止测试。
B、根据单位时间内查出故障的数量决定是否停止测试。
C、执行了所有的测试用例,但并没有发现故障,则停止测试。
D、用图表示出某个测试阶段中单位时间检查出的故障数量,通过对图中曲线的分析,确定应继续测试还是停止测试.
( C )2、软件测试的目的是:
A、表明软件是正确的 B、评价软件质量
C、尽可能发现软件中的错误 D、判定软件是否合格
( A )3、 ( )不是常见的覆盖率标准。
A、函数覆盖 B、数据流覆盖 C、逻辑覆盖 D、功能覆盖
( B )4、将基于功能的和基于实现的测试方法结合在一起的动态测试类型,我们称这种测试为( )。
A、白盒测试 B、灰盒测试 C、黑盒测试 D、基于故障的测试
( B )5、下列不隶属于白盒测试方法的是( ):
A、控制流测试 B、健壮性测试 C、数据流测试 D、变异测试
( A )6、项目管理三要素不包括( )。
A、Programming B、Process C、Problem D、Process
( D )7、下列选项中,不是Mercury公司测试工具的是( )。
A、LoadRunner B、WinRunner C、TestDirector D、Rebot
( A )8、下面( )方法能够有效地检测输入条件的各种组合可能引起的错误。
A、因果图 B、等价类划分 C、边界值分析 D、错误推测
( D )1、通常,( )是在编码阶段进行的测试,它是整个测试工作的基础。
A、系统测试 B、确认测试 C、集成测试 D、单元测试
软件测试是提高软件质量的保证
710077 西安外事学院 陕西 西安姚卫国
【摘要】随着软件技术的不断发展,为了保证软件的质量,软件测试显得越来越重要。本文阐述了软件测试的产生背景和软件
测试的重要性,分析了软件测试的目的、原则和方法,提出了加强软件测试与软件质量保证的相互作用。
【关键词】错误测试 目的质量
随着信息技术的发展,计算机的应用领域越来越广,软件对
于人们生活所造成的影响是巨大的,软件的好坏直接关系着人
们的日常生活。尤其是计算机网络迅速发展的今天,由于小的
软件故障就有可能造成一些不必要的大损失。
现在人们已经逐步认识到:正是软件错误导致了软件开发 在成本、进度和质量的失控。有错是软件的属性而且是无法改
变的,因为软件是由人来完成的。问题在于我们如何去避免错
误的产生和消除已经产生的错误,使软件中的错误密度达到尽
可能低的程度。“软件测试”为我们提供了这种可能。隐藏在
软件中的错误可以依靠“软件测试”来揭示,软件中的错误密度
也可以通过“软件测试”来进行估计。“软件测试”是信息技术
的重要方面,是保证软件达到高质量和高可靠性的关键元素。
一、软件测试的目的 软件测试是软件工程过程的一个重要阶段,是在软件投入
运行前,对软件需求分析、设计和编码各阶段产品的最终检查,
是为了保证软件开发产品的正确性、完全性和一致性,从而检测
软件错误、修正软件错误的过程。
谈到软件测试,许多人都会引用Glenford J.Myers就软件测
试目的提出的以下观点: ①测试是程序的执行过程,目的在于发现错误;②一个好
的测试用例在于能发现至今未发现的错误;③一个成功的测试
是发现了至今未发现的错误的测试;
这是一种比较狭窄的观点。软件测试是以查找错误为中
心,但发现错误并不是软件测试的惟一目的,查找不出错误的测
试也不是没有价值的。 软件的测试,基于不同的立场,存在着完全不同的测试目
的。从用户的角度出发,软件测试不是为了演示软件的正确功 能,而是希望通过软件测试暴露软件中隐藏的错误和缺陷,以考
系 班级 学号 姓名
分数
第 1 页/共 8 页 一、判断题题1分,共20分)
( × )1、软件故障是导致软件失效的必要和充分要素。
( √ )2、同行评审的主要目标在于检测错误、核对与标准的偏离。
( √ )3、在任何软件机构中,定期、不定期的培训、再培训都是必须而且是必要的。
( √ )4、在整个机构中使用基础设施防护与改进部件的主要目标是在机构积累的SQA经验基础上消除或至少降低出错率。
( × )5、所有SQA活动和项目里程碑的完成或项目里程碑的检验是同时发生的。
( × )6、Daniel Galin等提在20世纪50年代建立的经典质量费用模型,提供了一种以经济学观点把与产品质量保证相关的费用非类的方法学。
( √ )7、一旦更改过的SCI替换了前面的SCI,就认为完成了软件的一个新版本。
( √ )8、软件质量成本是一个投资问题,而不是成本问题!
( × )9、SEI CMM评估标准, ISO 9001和ISO 9000—3标准是典型的项目过程标准.
( √ )10、软件质量保证的独特性是由软件产品不同于其他制造产品的本质决定的。
二、填空题(每空1分,共20分;请把答案书写在相应横线上。)
1、软件质量工程包括 软件质量保证 、 软件质量规划 和软件质量控制三大方面。
2、McCall模型产品修改纬度的质量因素有 可维护性 、 可测试性 、灵活性。
3、面向对象模型不同于其他模型的主要特征是 组件的密集重用。
4、有两种同行评审方法学:审查和走查.
5、RMA可以划分成三组类别内部风险管理措施,分包风险管理措施,顾客风险管理措施.
6、支持性质量手段有模板和检查表.
7、依据软件系统的生命周期和其他阶段,软件质量度量划分为软件过程度量和软件产品度量。
一、选择题(每题只有一个选项,将你认为合理的选项填在题前括号内,每小题2分,共16分)
( D)1、较实用的软件测试停止标准是( )。
A、测试超产过了预定时间,则停止测试。
B、根据单位时间内查出故障的数量决定是否停止测试。
C、执行了所有的测试用例,但并没有发现故障,则停止测试。
D、用图表示出某个测试阶段中单位时间检查出的故障数量,通过对图中曲线的分析,确定应继续测试还是停止测试。
( C )2、软件测试的目的是:
A、表明软件是正确的 B、评价软件质量
C、尽可能发现软件中的错误 D、判定软件是否合格
( A )3、 ( )不是常见的覆盖率标准.
A、函数覆盖 B、数据流覆盖 C、逻辑覆盖 D、功能覆盖
( B )4、将基于功能的和基于实现的测试方法结合在一起的动态测试类型,我们称这种测试为( )。
A、白盒测试 B、灰盒测试 C、黑盒测试 D、基于故障的测试
( B )5、下列不隶属于白盒测试方法的是( ):
A、控制流测试 B、健壮性测试 C、数据流测试 D、变异测试
( A )6、项目管理三要素不包括( )。
A、Programming B、Process C、Problem D、Process
( D )7、下列选项中,不是Mercury公司测试工具的是( )。
A、LoadRunner B、WinRunner C、TestDirector D、Rebot
( A )8、下面( )方法能够有效地检测输入条件的各种组合可能引起的错误。
A、因果图 B、等价类划分 C、边界值分析 D、错误推测
( D )1、通常,( )是在编码阶段进行的测试,它是整个测试工作的基础。
A、系统测试 B、确认测试 C、集成测试 D、单元测试
一、判断题题1分,共20分)
( × )1、软件故障是导致软件失效的必要和充分要素。
( √ )2、同行评审的主要目标在于检测错误、核对与标准的偏离。
( √ )3、在任何软件机构中,定期、不定期的培训、再培训都是必须而且是必要的。
( √ )4、在整个机构中使用基础设施防护与改进部件的主要目标是在机构积累的SQA经验基础上消除或至少降低出错率。
( × )5、所有SQA活动和项目里程碑的完成或项目里程碑的检验是同时发生的。
( × )6、Daniel Galin等提在20世纪50年代建立的经典质量费用模型,提供了一种以经济学观点把与产品质量保证相关的费用非类的方法学。
( √ )7、一旦更改过的SCI替换了前面的SCI,就认为完成了软件的一个新版本。
( √ )8、软件质量成本是一个投资问题,而不是成本问题!
( × )9、SEI CMM评估标准, ISO 9001和ISO 9000-3标准是典型的项目过程标准。
( √ )10、软件质量保证的独特性是由软件产品不同于其他制造产品的本质决定的。
二、填空题(每空1分,共20分;请把答案书写在相应横线上。)
1、软件质量工程包括 软件质量保证 、 软件质量规划 和软件质量控制三大方面。
2、McCall模型产品修改纬度的质量因素有 可维护性 、 可测试性 、灵活性。
3、面向对象模型不同于其他模型的主要特征是 组件的密集重用。
4、有两种同行评审方法学:审查和走查。
5、RMA可以划分成三组类别内部风险管理措施,分包风险管理措施,顾客风险管理措施。
6、支持性质量手段有模板和检查表。
7、依据软件系统的生命周期和其他阶段,软件质量度量划分为软件过程度量和软件产品度量。
8、软件配置发布的版本有基线版本、中间版本、修订版本。
9、SQA标准被划分成软件质量管理标准,软件项目过程标准两类。
10、软件缺陷的固有特征有软件缺陷的固有性、软件缺陷的敏感性,软件缺陷的感染性。
科技信息2008年第13期SCIENCE&TECHNOLOGYINFORMATION●随着计算机技术的普及,计算机软件已渗透到社会生活的方方面面。人们对计算机软件质量的要求也越来越高,实现软件质量保证已成为软件工程领域的一项重要任务。软件质量是软件的生命,它直接影响软件的使用与维护。软件开发人员和用户都十分重视软件的质量问题。因此,软件质量问题一直都是软件工程的核心问题。1.软件质量的定义什么是软件质量?现在还没有一个准确的定义。随着计算机软硬件技术的发展,人们对软件质量的理解不断深化,软件质量的标准也在不断改变。通常软件质量由以下几方面进行评价。①需求是衡量软件质量的基础,不符合需求的软件就不具备质量。设计的软件应在功能、性能等方面都符合要求,并能可靠地运行。②软件结构良好,易读、易于理解,并易于修改、维护。③软件系统具有友好的用户界面,便于用户使用。④软件生存周期中各阶段文档齐全、规范,便于配置、管理。2.软件测试测试是软件质量保证的关键元素,代表了规约、设计和编码的最终检查。软件产品最大的成本是检测软件错误、修正软件错误的成本。在整个软件开发中,测试工作量一般站30%~40%,甚至≥50%。对某些特殊行业的软件(如飞机控制、核反应堆等)的测试所花费的时间往往是其他软件的3~5倍。2.1软件测试的定义什么是软件测试?简单地说,软件测试就是为了发现错误而执行程序的过程。在IEEE提出的软件工程标准术语中,软件测试被定义为:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。”软件测试是与软件质量密切联系在一起的,归根结底,软件测试是为了保证软件质量。2.2软件测试的目的软件测试的目的是为了发现程序中的错误。一般软件系统的测试可分为单元(模块)测试和综合测试两个阶段。多数场合,软件开发人员与测试人员共同完成单元测试任务,专门的测试机构负责软件产品的综合测试。软件测试是一个找错的过程。软件测试的过程亦是程序运行的过程。程序运行需要数据,为测试设计的数据成为测试用例。测试用例的设计原则是尽可能暴露程序中的错误。GlenMyers在他关于软件测试的优秀著作中陈述了一系列可以服务于测试目标的规则,这些规则也是被广泛接受的:①测试是一个程序的执行过程,其目的在于发现错误;②一个好的测试用例很可能发现至今尚未察觉的错误;③一个成功的测试是发现至今尚未察觉的错误的测试。软件测试的目的是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量。3.当前应用软件存在的主要问题3.1软件开发透明度差由于软件生产单位大多采用“手工作坊”式的开发方式,由开发者自己设计、自己编程、自己测试、自己包维护,即所谓的“三自一包”。未能加强对软件开发过程的管理,使得软件出现故障后只能由开发者自己去维护。3.2缺少测试工具,手工测试过多传统的测试大多还是以手工为主,测试人员根据需求规格说明书与测试对象进行比对,人工测试过程中的手工成本高、测试人员的随意性、缺乏测试相关知识以及人工操作的低效率、误差大等因素都会直接影响到测试的结果和软件的质量,而且随着软件项目规模的不断扩大,在对测试案例进行统一配置管理时,这种人工测试的难度也会逐渐加大。3.3测试人员未尽早参与单元测试单元测试是对软件基本组成单元的测试,也就是对软件模块的测试。在实际开发项目的过程中,考虑到开发人员对软件本身的了解以及节省项目开发时间,单元测试基本上都是由开发人员自行测试,这样做的结果是在单元测试的过程中很难发现潜在的问题,而当这些潜在的问题出现时往往是在的最后综合测试阶段,这样就增加了解决问题的难度,影响了软件开发的进度。3.4测试在软件基本开发完成后才启动在传统的瀑布型的软件开发模式中,软件测试阶段位于编码阶段之后进行,就是说再将所有的编码完成之后才开始对其进行测试。这样的测试在软件开发过程中是十分不利的。随着软件项目规模越来越大,软件的缺陷发现的越晚,修改、补救所耗费的成本就越高,同时也会延长项目的开发时间,对最终的测试也增加了难度。3.5未能对软件进行充分的检测软件的测试软件、测试工具缺乏,标准、规范和制度不健全。目前绝大多数的软件检测都与硬件一同进行,在软件的验收中,所谓的检测也是对预先制定的几个用例进行检测,而不是按照软件开发的各个阶段进行单元测试、部件测试、配置项测试、系统测试等,起不到软件测试的应有作用,因而造成软件的缺陷多、故障多。4.问题的解决综上所述,为了确保软件的质量,测试不能在代码编写完成之后再开展工作,应该将测试与开发作为两个相互关联、相互结合的并行过程,在开发活动的前期就开展测试活动。在软件工程的每个阶段都进行严格的审查,在分析和设计阶段就开始测试的准备工作。第一,在软件项目开发早期测试人员就参与进来,开展相关的测试准备工作,编写测试计划、制定测试方案、准备测试用例;第二,尽早地和不断地进行软件测试工作,将软件测试贯穿到软件开发的各个阶段中,尽可能在早期发现和预防错误。这意味着测试不仅仅是评定软件的质量,测试还可以尽可能早地找出缺陷所在,参与前期工作的测试人员可以于早期了解测试的难度、预测测试的风险,从而有效提高测试效率,规避测试风险,这将减少总体测试时间,加快整个项目的进度。实践证明,软件错误与缺陷发现的越早,修复的成本就越底,最终软件项目的质量就越好。【参考文献】[1]〔美〕CemKaner等著.计算机软件测试(第二版)[M].At京:机械工业出版社,2004.[2]软件测试技术.人民邮电出版社2005.[3]佘凤.软件测试及关键技术[J],黄冈职业技术学院学报,2007第9卷第1期95-98.[4]王文东,耿国华,张根耀.软件可靠性保证与评测技术[N].微机发展,2004,11:104-106.作者简介:侯海霞,太原理工大学硕士研究生,太原理工大学阳泉学院信息系讲师。崔冬华,太原理工大学计算机与软件学院教授。[责任编辑:张艳芳]基于软件测试技术的软件质量保证研究侯海霞1,2崔冬华3(1.太原理工大学硕士研究生山西阳泉045000;2.太原理工大学阳泉学院信息系山西阳泉045000;3.太原理工大学计算机与软件学院山西太原030000)【摘要】软件测试是提高软件可靠性最有效、最直接的方法之一。本文首先描述了软件质量的概念,从提高软件质量的重要性出发,简要介绍了软件测试的概念和目的,分析了当前应用软件在开发、管理和测试方面存在的主要问题以及重视软件测试、提高软件质量和可靠性水平应采取的措施。【关键词】软件质量;软件测试【Abstract】Softwaretestingisoneofthemosteffectiveanddirectivemethodstoimprovesoftwarereliability.Thispaperfirstlydescribestheconceptsofsoftwarequality,Focusingonimportanceofpromotingsoftwarequality,aimandconceptsofsoftwaretestingwereintroduced.Theproblemsinapplicationsoftwareindevelopment,managementandtestingwereanalyzed.Themethodsusedfortakingnoticeonsoftwaretestingforsoftwarequalityandreliabilityimprovementweredescribed.【Keywords】Softwarequality;Softwaretesting○IT技术论坛○58
一、选择题(每题只有一个选项,将你认为合理的选项填在题前括号内,每小题2分,共16分)
( D )1、较实用的软件测试停止标准是( )。
A、测试超产过了预定时间,则停止测试。
B、根据单位时间内查出故障的数量决定是否停止测试。
C、执行了所有的测试用例,但并没有发现故障,则停止测试。
D、用图表示出某个测试阶段中单位时间检查出的故障数量,通过对图中曲线的分析,确定应继续测试还是停止测试。
( C )2、软件测试的目的是:
A、表明软件是正确的 B、评价软件质量
C、尽可能发现软件中的错误 D、判定软件是否合格
( A )3、 ( )不是常见的覆盖率标准。
A、函数覆盖 B、数据流覆盖 C、逻辑覆盖 D、功能覆盖
( B )4、将基于功能的和基于实现的测试方法结合在一起的动态测试类型,我们称这种测试为( )。
A、白盒测试 B、灰盒测试 C、黑盒测试 D、基于故障的测试
( B )5、下列不隶属于白盒测试方法的是( ):
A、控制流测试 B、健壮性测试 C、数据流测试 D、变异测试
( A )6、项目管理三要素不包括( )。
A、Programming B、Process C、Problem D、Process
( D )7、下列选项中,不是Mercury公司测试工具的是( )。
A、LoadRunner B、WinRunner C、TestDirector D、Rebot
( A )8、下面( )方法能够有效地检测输入条件的各种组合可能引起的错误。
A、因果图 B、等价类划分 C、边界值分析 D、错误推测
( D )1、通常,( )是在编码阶段进行的测试,它是整个测试工作的基础。
A、系统测试 B、确认测试 C、集成测试 D、单元测试
精心整理
软件质量保证与测试 复习题
类型:
一、单项选择题 (共20小题,20%)
二、判断题(共20小题,20%)
三、简答题(共5小题,30%)
四、综合题(共2题,30%)
复习题:
一、单项选择题
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、不属于逻辑覆盖方法的是( )
A.组合覆盖 B.判定覆盖 C.条件覆盖
选择题
1.软件测试的目的是( B )。
A)试验性运行软件 B)发现软件错误
C)证明软件正确 D)找出软件中全部错误
2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。
A)应用范围 B)内部逻辑
C)功能 D)输入数据
3.黑盒法是根据程序的( C )来设计测试用例的。
A)应用范围 B)内部逻辑
C)功能 D)输入数据
4.为了提高软件测试的效率,应该( D )。
A)随机地选取测试数据
B)取一切可能的输入数据作为测试数据
C)在完成编码以后制定软件的测试计划
D)选择发现错误可能性最大的数据作为测试用例
5.与设计测试用例无关的文档是( A )。
A)项目开发计划 B)需求规格说明书
C)设计说明书 D)源程序
6.测试的关键问题是( B )。
A)如何组织软件评审
B)如何选择测试用例
C)如何验证程序的正确性
D)如何采用综合策略
7.软件测试用例主要由输入数据和( C )两部分组成。
A)测试计划 B)测试规则
C)预期输出结果 D)以往测试记录分析
8.成功的测试是指运行测试用例后( B )。
A)未发现程序错误
B)发现了程序错误
C)证明程序正确性
D)改正了程序错误
9.下列几种逻辑覆盖标准中,查错能力最强的是( D )。
A)语句覆盖 B)判定覆盖
C)条件覆盖 D)条件组合覆盖
10.在黑盒测试中,着重检查输入条件组合的方法是( D )。
A)等价类划分法 B)边界值分析法
C)错误推测法 D)因果图法
11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( A )。
A)系统功能 B)局部数据结构
软件测试与质量保证
王韧
(上海交通大学软件学院, 上海 201205)
摘要:随着计算机应用越来越广泛与深入,软件也越来越复杂,人们已清楚的认识到软件产品和其它工业产品一样,未经测试、试验是不能作为产品推向市场的。软件产业的发展,需要合格的、高质量的商品化软件产品。软件质量提高是一个庞大的系统工程,涉及到技术、过程和人员等综合因素, 本文针对软件质量提高工作的关键环节——软件测试——进行探讨,着重讨论了软件测试和质量提高工作中可能面临的问题,试图为IT组织的软件质量实践工作提供帮助。
关键词: 软件测试 软件质量 质量保证 质量提高
1. 引言
软件质量作为参与国际竞争的必要条件,日益受到人们的关注。由于受到资源限制和环境影响,多数IT组织追求短期利益、放弃长远质量投资在所难免,陷入发展的恶性循环。显然,在合理借鉴国外成功经验的基础上,探寻切合国内实际情况的软件质量提高途径是当务之急。软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试仅处于编码之后、运行维护阶段之前,是软件产品交付用户使用之前软件质量保证的最后手段。这是一种误导,软件生命周期每一阶段中都应包含测试,从静态测试到动态测试,要求检验每一个阶段的成果是否符合质量要求和达到定义的目标,尽可能早的发现错误并加以修正。如果不在早期阶段进行测试,错误的不断扩散、积累常常会导致最后成品测试的巨大困难、开发周期的延长、开发成本的剧增等等。
2. 软件测试与软件质量保证之间的关系
软件测试和软件质量保证是软件质量工程的两个不同层面的工作。软件测试只是软件质量保证工作的一个重要环节。
软件测试是为使产品满足质量要求所采取的作业技术和活动,它包括检验、纠正和反馈。比如软件测试进行检验发现不良品后将其剔除,然后将不良信息反馈给相关部门采取改善措施。因此软件测试的控制范围主要是在工厂内部,其目的是防止不合格品投入、转序、出厂。确保产品满足质量要求及只有合格品才能交付给客户。
软件质量保证与测试综述
软件2班 赵凌寒 20122648
一、软件测试的发展历史
早期的软件开发过程中,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的
是纠正软件中已经知道的故障;
直到1957年,软件测试才开始与调试区别开来,作为一种发现软件缺陷的活动;
1972年,软件测试领域的先驱Bill Hetzel博士,在美国的北卡罗来纳大学组织了历史
上第一次正式的关于软件测试的会议。并提出软件测试的第一类方法:测试方法是试图验证
软件是“工作的”;
1979年,Glenford J. Myers提出了他对软件测试的定义:“测试是为发现错误而执行的
一个程序或者系统的过程”,即软件测试的第二类方法;
到了20世纪80年代初期,一些软件测试的基础理论和实用技术开始形成,并且人们开
始为软件开发设计了各种流程和管理方法,人们还将“质量”的概念融入其中,软件测试已
有了行业标准(IEEE/ANSI );
1996年提出了测试能力成熟度TCMM(Testing Capability Maturity Model)、测试支持度
TSM(Testability Support Model)、测试成熟度模型TMM(Testing Maturity Model);
2002年,Rick和Stefan在《系统的软件测试》一书中对软件测试做了进一步定义:测
试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命过
程。
二、软件测试的分类
1、从是否需要执行被测试软件的角度分类
静态测试:包括代码检查、静态结构分析、代码质量度量等。是指不运行被测程序本身,
仅通过分析或检查源程序的文法、结构、过程、接口等来检查程序的正确性。
动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和
健壮性等性能。
2、从测试是否针对软件结构与算法的角度分类
白盒测试、黑盒测试。
3、从测试的不同阶段分类
选择题
1.软件测试的目的是( B )。
A)试验性运行软件 B)发现软件错误
C)证明软件正确 D)找出软件中全部错误
2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的.
A)应用范围 B)内部逻辑
C)功能 D)输入数据
3.黑盒法是根据程序的( C)来设计测试用例的.
A)应用范围 B)内部逻辑
C)功能 D)输入数据
4.为了提高软件测试的效率,应该( D )。
A)随机地选取测试数据
B)取一切可能的输入数据作为测试数据
C)在完成编码以后制定软件的测试计划
D)选择发现错误可能性最大的数据作为测试用例
5.与设计测试用例无关的文档是( A )。
A)项目开发计划 B)需求规格说明书
C)设计说明书 D)源程序
6.测试的关键问题是( B )。
A)如何组织软件评审
B)如何选择测试用例
C)如何验证程序的正确性
D)如何采用综合策略 7.软件测试用例主要由输入数据和( C )两部分组成。
A)测试计划 B)测试规则
C)预期输出结果 D)以往测试记录分析
8.成功的测试是指运行测试用例后( B )。
A)未发现程序错误
B)发现了程序错误
C)证明程序正确性
D)改正了程序错误
9.下列几种逻辑覆盖标准中,查错能力最强的是( D ).
A)语句覆盖 B)判定覆盖
C)条件覆盖 D)条件组合覆盖
10.在黑盒测试中,着重检查输入条件组合的方法是( D )。
A)等价类划分法 B)边界值分析法
C)错误推测法 D)因果图法
11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(A).
A)系统功能 B)局部数据结构
C)重要的执行路径 D)错误处理
12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误.
A)需求分析 B)概要设计
C)详细设计 D)编码
13.不属于白盒测试的技术是(D )。
A)路径覆盖 B)判定覆盖
C)循环覆盖 D)边界值分析
14.集成测试时,能较早发现高层模块接口错误的测试方法为( A ).
A)自顶向下渐增式测试 B)自底向上渐增式测试 C)非渐增式测试 D)系统测试
15.使用白盒测试方法时,确定测试数据应根据(A )和指定的覆盖标准。
A)程序内部逻辑 B)程序的复杂度
C)使用说明书 D)程序的功能
16.程序的三种基本结构是(B )。
A)过程子、程序、分程序 B)顺序、选择、循环
C)递归、堆栈、队列 D)调用、返回、转移
17.软件调试的目的是( A )
A)找出错误所在并改正之 B)排除存在错误的可能性
C)对错误性质进行分类 D)统计出错的次数
18.下面说法正确的是( C )。
A)经过测试没有发现错误说明程序正确
B)测试的目标是为了证明程序没有错误
C)成功的测试是发现了迄今尚未发现的错误的测试
D)成功的测试是没有发现错误的测试
20.发现错误能力最弱的是( A )。
A)语句覆盖B)判定覆盖
C)条件覆盖D)路径覆盖
22.下面( D )方法能够有效地检测输入条件的各种组合可能引起的错误。 A)等价类划分 B)边界值分析
C)错误推测D)因果图
23.与确认测试阶段有关的文档是( A )。
A)需求规格说明书 B)概要设计说明书
C)详细设计说明书 D)源程序
25.( B )方法需要考察模块间的接口和各模块之间的联系。
A)单元测试B)集成测试
C)确认测试D)系统测试
26.调试应该由( B )完成。
A)与源程序无关的程序员
B)编制该源程序的程序员
C)不了解软件设计的机构
D)设计该软件的机构
27.在设计人机界面时,应主要考虑的因素有(D)。
系统响应时间 B)错误处理 C)用户求助机制
D)以上都是
28、用黑盒技术设计测试用例的方法之一为(A)
A)因果图 B)逻辑覆盖
C)循环覆盖 D)基本路径测试
29、软件测试的目的是( B)
A)避免软件开发中出现的错误
B)发现软件开发中出现的错误
C)尽可能发现并排除软件中潜藏的错误,提高软件的可
靠性
D)修改软件中出现的错误
30、下列软件属性中,软件产品首要满足的应该是(A)
A)功能需求 B)性能需求
C)可扩展性和灵活性 D)容错纠错能力
31、以程序的内部结构为基础的测试用例技术属于(D).
A)灰盒测试B)数据测试C)黑盒测试D)白盒测试
32、为了提高测试的效率,正确的做法是(A)。
A)选择发现错误可能性大的数据作为测试用例
B)在完成程序的编码之后再制定软件的测试计划
C)随机选取测试用例
D)使用测试用例测试是为了检查程序是否做了应该做的事
33、对程序的测试最好由( )来做,对程序的调试最好由谁来做(B)。
A)程序员 第三方测试机构
B)第三方测试机构 程序员
C)程序开发组 程序员
D)程序开发组 程序开发组
34、在进行单元测试时,常用的方法是(A)
A)采用白盒测试,辅之以黑盒测试
B)采用黑盒测试,辅之以白盒测试
C)只使用白盒测试
D)只使用黑盒测试 35、以下那一种选项不属于软件缺陷(D)。
A)软件没有实现产品规格说明所要求的功能
B)软件中出现了产品规格说明不应该出现的功能
C)软件实现了产品规格没有提到的功能
D)软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题
36、软件生存周期过程中,修改错误代价最大的阶段是(D)。
A)需求阶段B)设计阶段
C)编程阶段D)发布运行阶段
37、在边界值分析中,下列数据通常不用来做数据测试的是(B)。
A)正好等于边界的值 B)等价类中的等价值
C)刚刚大于边界的值 D)刚刚小于边界的值
38、单元测试中设计测试用例的依据是(D)。
A)概要设计规格说明书
B)用户需求规格说明书
C)项目计划说明书
D)详细设计规格说明书
39、通常可分为白盒测试和黑盒测试。白盒测试是根据程序的(C)来设计测试用例,
黑盒测试是根据软件的规格说明来设计测试用例。
A)功能 B)性能
C)内部逻辑D)内部数据
40、如果一个判定中的复合条件表达式为(A 〉 1)or
(B <= 3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例(B).
A)1B)2 C)3D)4
41、经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误较多,则该模块中残存的错误数目与其他模块相比,通常应该(B)。
A)较少 B)较多
C)相似 D)不确定
42、在某大学学籍管理信息系统中,假设学生年龄的输入范围为16—40,则根据黑盒测试中的等价类划分技术,下面划分正确的是(B )。
A)可划分为2个有效等价类,2个无效等价类
B)可划分为1个有效等价类,2个无效等价类
C)可划分为2个有效等价类,1个无效等价类
D)可划分为1个有效等价类,1个无效等价类
43、根据软件需求规格说明书,在开发环境下对已经集成的软件系统进行的测试是(A)。
A)系统测试B) 单元测试C) 集成测试 D) 验收测试
44、下面有关测试原则的说法正确的是(A)。
A)测试用例应由测试的输入数据和预期的输出结果组成
B)测试用例只需选取合理的输入数据
C)程序最好由编写该程序的程序员自己来测试
D)使用测试用例进行测试是为了检查程序是否做了它该做的事
45、软件设计阶段的测试主要采取的方式是(A)。
A)评审B)白盒测试C)黑盒测试D)动态测试 46、集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性( A )
A)正确性B)可靠性 C)可使用性 D)可维护性
47、如下所示的程序图环复杂度为( )。
A)4B)5 C)6 D)7
48、下列关于测试方法的叙述中不正确的是( C )
A)从某种角度上讲,白盒测试与黑盒测试都属于动态测试
B)功能测试属于黑盒测试
C)对功能的测试通常是要考虑程序的内部结构
D)结构测试属于白盒测试
50、大多数实际情况下,性能测试的实现方法是( A ).
A)黑盒测试B)白盒测试 C)静态分析 D)可靠性测试
51、下列方法中,不属于黑盒测试的是( A )。
A)基本路径测试法 B)等价类测试法
C)边界值分析法 D)基于场景的测试方法
52、测试程序时,不可能遍历所有可能的输入数据,而只能是选择一个子集进行测试,那么最好的选择方法是( B )。
A)随机选择B)划分等价类
C)根据接口进行选择 D)根据数据大小进行选择
53、下列可以作为软件测试对象的是( D )。
A)需求规格说明书 B)软件设计规格说明
A) 源程序 D)以上全部
54、在对具有层次结构的大型软件进行单元测试时,有一种方法是从上层模块开始,由上到下进行测试。此时,用于代替被测模块调用的子模块的是( A )。
A.桩模块B.底层模块C.驱动模块D.主模块
55、单元测试时,调用被测模块的是( C )。
A. 桩模块B.通信模块
C.驱动模块D.代理模块
56、大突击测试把所有的模块一次性集成为一个完整的系统后进行测试,很容易( B )。
A.通过测试B.整体测试C.快速查错D.快速排错
57、自底向上单元测试的策略是首先对模块调用图上的( A )模块进行测试。
A. 最底层B.下一层 C.最高层D.上一层
58、单元测试与系统测试的区别是( A )。
A.单元测试通常采用白盒测试方法,而系统测试采用黑盒测试方法
B.测试时间上,系统测试早于单元测试
C.单元测试从用户角度考虑问题,而系统测试从开发者角度考虑问题
D. 以上都是
59、下面活动属于系统测试的主要工作内容的是( D )。 A.测试个单元模块之间的接口
B.测试模块内程序的逻辑功能
C。测试个模块集成后实现的功能
D.测试整个系统的功能和性能
60、系统外部接口,即外部系统(包括人、硬件和软件)与系统交互的接口,对这类接口的测试一般是在( B )阶段进行.
A. 单元测试B.系统测试
B. C.集成测试D.验收测试
61、下列接口测试中,要延续到系统测试阶段来完成的是( A )。
A。系统外部接口 B.系统内部接口 C.函数或方法接口D.类接口
62、根据软件需求规格说明,在开发环境下对已集成的软件系统进行的测试是( A )。
A.系统测试B.单元测试C.集成测试D.验收测试
63、问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在,这些缺陷所处的状态是( A )。
A.激活状态B.非激活状态
A. 关闭状态D.已修正状态
64、软件缺陷的基本状态有( D )。