软件测试的基本概念(三)
- 格式:doc
- 大小:46.38 KB
- 文档页数:14
软件测试与验收标准操作规程第一章总则 (2)1.1 制定目的 (3)1.2 适用范围 (3)1.3 定义与术语 (3)第二章软件测试概述 (3)2.1 软件测试的基本概念 (3)2.2 软件测试的目的与原则 (4)2.3 软件测试的类型与级别 (5)第三章测试计划与管理 (5)3.1 测试计划的制定 (5)3.1.1 需求分析 (5)3.1.2 确定测试范围 (6)3.1.3 测试策略制定 (6)3.1.4 测试计划编写 (6)3.2 测试计划的执行与监控 (6)3.2.1 测试用例设计 (6)3.2.2 测试环境搭建 (6)3.2.3 测试执行 (6)3.2.4 测试问题跟踪 (6)3.2.5 测试进度监控 (6)3.3 测试计划的变更管理 (7)3.3.1 变更申请 (7)3.3.2 变更评估 (7)3.3.3 变更实施 (7)3.3.4 变更跟踪 (7)3.3.5 变更记录 (7)第四章测试用例设计 (7)4.1 测试用例的定义与分类 (7)4.2 测试用例的设计原则 (8)4.3 测试用例的设计方法 (8)第五章功能测试 (8)5.1 功能测试的基本方法 (8)5.2 功能测试的执行过程 (9)5.3 功能测试结果的分析与报告 (9)第六章功能测试 (10)6.1 功能测试的基本概念 (10)6.2 功能测试的方法与工具 (10)6.2.1 功能测试方法 (10)6.2.2 功能测试工具 (10)6.3 功能测试结果的分析与优化 (11)6.3.1 功能测试结果分析 (11)6.3.2 功能优化策略 (11)第七章安全测试 (11)7.1 安全测试的基本概念 (11)7.1.1 安全测试的定义 (11)7.1.2 安全测试的目的 (11)7.1.3 安全测试的分类 (12)7.2 安全测试的方法与工具 (12)7.2.1 安全测试方法 (12)7.2.2 安全测试工具 (12)7.3 安全测试结果的分析与报告 (12)7.3.1 结果分析 (13)7.3.2 结果报告 (13)第八章兼容性测试 (13)8.1 兼容性测试的基本概念 (13)8.2 兼容性测试的方法与工具 (13)8.2.1 兼容性测试的方法 (13)8.2.2 兼容性测试的工具 (13)8.3 兼容性测试结果的分析与报告 (14)8.3.1 兼容性测试结果的分析 (14)8.3.2 兼容性测试报告 (14)第九章回归测试 (14)9.1 回归测试的基本概念 (14)9.2 回归测试的方法与工具 (15)9.2.1 回归测试方法 (15)9.2.2 回归测试工具 (15)9.3 回归测试结果的评估与报告 (15)9.3.1 回归测试结果评估 (15)9.3.2 回归测试报告 (15)第十章自动化测试 (16)10.1 自动化测试的基本概念 (16)10.2 自动化测试工具的选择与评估 (16)10.3 自动化测试脚本的开发与维护 (17)第十一章测试团队管理 (17)11.1 测试团队的组建与管理 (17)11.2 测试团队的培训与技能提升 (18)11.3 测试团队的工作流程与协作 (18)第十二章测试结果验收与交付 (19)12.1 测试结果的验收标准 (19)12.2 测试结果的验收流程 (19)12.3 测试结果的交付与存档 (20)第一章总则1.1 制定目的为了规范本组织/企业/项目(以下统称“主体”)的管理活动,保障主体合法权益,促进主体健康、有序、高效地发展,特制定本手册/规定/办法(以下统称“本规定”)。
软件测试技术01335复习考试第1章概述•考核知识点与考核目标1.软件测试的基本概念(重点)识记:软件测试的定义理解:软件测试生命周期、软件开发与测试模型2.软件测试技术分类(重点)理解:软件测试技术的分类3.软件测试目的和原则(次重点)理解:软件测试目的和原则4.软件测试工作流程(重点)理解:软件测试工作流程5.软件开发与软件测试的关系(一般)理解:软件开发与软件测试的关系•课后习题1.软件测试的目的:发现软件中出现的错误2.软件测试的原则: 1. 测试用例不仅选用的合理的数据,还要选择不合理的数据;2.应制定测试计划并严格执行;3. 对发现错误较多的程序段,应该进行更深入的测试;3.测试时机:应该尽可能早地进行测试4.软件测试对象:软件代码、文档、数据5.什么是软件测试?简述其目的和原则。
答:简单的说,是为了发现错误而执行软件产品程序的过程;大体来讲就是软件产品在交付之前,对软件进行检测是否满足客户需求的一种工作;测试目的:通过对软件错误的原因和分布进行归纳,来发现并排除软件产品的缺陷,对在需求和设计过程中存在的问题查缺补漏,从而确保软件的产品的质量;测试原则:1、尽早的和不断的进行软件测试;2、不可能完全的测试;无法找出所有的设计错误,并且不能采用逻辑来证明程序的正确性;3、增量测试,由小及大;单元测试、集成测试、确认测试、系统测试4、避免测试自己的程序;5、设计周密的测试用例6、注意错误集中的现象;7、确认bug的有效性;8、合理安排测试计划9、回归测试;10、测试结果的统计和分析;11、及时更新测试;6.软件测试阶段是如何划分的?大体分为以下3个阶段:1、需求阶段,需求阶段是测试活动的前提,明确了软件产品最终的实现的效果,生成测试总体计划;2、设计及编码阶段,根据需求阶段的文档进行概要设计,形成集成测试方案并以模块为单位循环进行单元测试、编码、单元测试,直至所有单元测试成功;3、集成测试、系统测试、验收测试阶段,完成集成测试后,申请系统测试、最后再进行验收测试7.简述软件测试过程。
软件测试教程电子书软件测试是确保软件质量的重要环节。
它有助于发现潜在的缺陷,并确保软件系统能够按预期运行。
为了帮助初学者了解软件测试的基本概念和技术,我将在下面的教程中提供一些相关信息。
第一节:软件测试概述(100字)本节将介绍软件测试的定义、目的和重要性。
我们将讨论为什么软件测试对于确保软件系统质量和用户满意度至关重要。
第二节:软件测试的类型(200字)在本节中,我们将介绍软件测试的不同类型,包括功能测试、性能测试、安全测试等。
我们将解释每种测试类型的目的和技术,并提供一些示例来帮助读者更好地了解每种类型。
第三节:软件测试的策略和方法(300字)本节将介绍软件测试的策略和方法,如黑盒测试、白盒测试、灰盒测试等。
我们将讨论每种方法的优缺点,并提供一些实际的应用场景,以帮助读者理解如何选择和应用适当的测试方法。
第四节:软件测试的生命周期(200字)在本节中,我们将介绍软件测试的生命周期,包括测试计划、测试用例设计、测试执行和测试报告。
我们将解释每个阶段的目的和活动,并提供一些最佳实践,以帮助读者在实际项目中有效地执行测试。
第五节:自动化测试(200字)在本节中,我们将介绍自动化测试的概念和技术。
我们将讨论自动化测试的优势和适用场景,并提供一些常见的自动化测试工具和框架的例子,以帮助读者开始使用自动化测试来提高测试效率和准确性。
第六节:软件测试的挑战和解决方案(200字)本节将讨论软件测试过程中的一些常见挑战,如时间和资源限制、复杂性和变动性等。
我们将提供一些解决方案和建议,以帮助读者克服这些挑战,并提高软件测试的效果。
总结(100字)通过本教程,读者将学习到软件测试的基本概念、技术和最佳实践。
希望这些信息对读者在软件测试领域的学习和实践中有所帮助,并能够提高软件系统的质量和用户满意度。
软件测试基本概念1、软件=程序+文档,软件测试=程序测试+文档测试。
“程序”是指能够实现某种功能的指令的集合,“文档”是指软件在开发、使用和维护过程中产生的图文集合。
;2、软件的分类按功能分:系统软件、应用软件按技术架构分:单机版软件、C/S结构软件(C是指客户端,S指服务器端)、B/S结构软件(B是指浏览器)按照用户划分:产品软件、项目软件按开发规模划分:小型、中型、大型3、BUG的定义:软件的BUG指的是软件中(包括程序和文档)不符合用户需求的问题。
常见的软件BUG分三种类型:完全没有实现的功能;基本实现了用户需求的功能;实现了用户不需要的功能。
4、测试环境=软件+网络+硬件。
搭建环境:真实、干净、无毒、独立5、软件环境的分类:软件开发环境软件生产运行环境6、测试用例:指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和与其结果!测试用例=输入+输出+测试环境。
测试用例有两个模板,word和excel,前者适合性能测试,后者适合功能测试。
软件测试分类1、黑盒测试:指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果白盒测试:指的是把盒子盖打开,去研究里面的源代码和程序结构。
2、静态测试:是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。
动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序。
注:同一个测试,既有可能属于黑盒测试,也有可能属于动态测试;既有可能属于静态测试,也有可能属于白盒测试。
他们之间也有可能交叉。
3、单元测试:编译运行程序——静态测试——动态测试集成测试:是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部分。
1.软件测试定义(三种观点)(1)IEEE 在1983年将软件测试定义为“使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别”,该定义明确地提出了软件测试以检验是否满足需求为目标。
(2)Myers则认为软件测试“是为了发现错误而执行程序的过程”,明确提出了“寻找错误”是测试目的。
(3)从软件质量保证的角度看,软件测试是一种重要的软件质量保证活动,其动机是通过一些经济、高效的方法,捕捉软件中的错误,从而达到保证软件内在质量的目的。
2.测试模型(1)v模型V模型的价值主要在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间的对应关系:●单元测试的主要目的是根据详细设计说明书来验证和确认每个单元模块是否符合预期的要求,发现编码过程中可能存在的各种错误。
●集成测试主要目的是根据概要设计来验证和确认各个模块是否已正确集成到一起,主要是检查各单元与其它模块之间的接口上可能存在的错误●确认测试主要目的是根据需求分析来验证和确认软件是否符合用户的预期要求。
●系统测试主要目的是根据需求定义,验证和确认系统作为一个整体是否能够正常有效地运行。
(2)w模型与V 模型相比,在W 模型中,测试的对象不仅仅是程序还包括需求和设计。
应用该模型的优点在于,每个软件开发活动结束后就可以执行相应的测试,如:在需求分析结束后,就可以进行需求分析测试。
(3)H 模型H 模型揭示了:① 软件测试不仅仅指测试的执行, 还包括很多其他的活动。
② 软件测试是一个独立的流程, 贯穿产品的整个开发周期, 与其它流程并发进行。
③ 软件测试要尽早准备, 尽早执行。
④ 软件测试根据被测物的不同是分层次的. 不同层次的测试活动可以是按照某个次序先后进行的,但也可能是反复的。
3.相关术语(1)测试用例(Test Case)是为特定的目的而设计的一组测试输入、执行条件和预期的结果。
软件测试教学大纲软件测试教学大纲生活在信息时代,软件是链接物理世界和数字世界的“桥梁”。
而软件测试在软件的生命周期中占有重要地位,它能发现程序中的错误、降低代码出错风险、保证代码质量;它是软件工程化的重要环节。
课程概述本课程是本人及课程团队,结合多年来从事软件测试研究与软件测试教学经验,从软件测试的基本概念开始,逐步介绍一个完整的测试过程所经历的各个阶段。
本课程系统的讲述了软件测试的基本知识和常用工具,也涵盖了软件测试最前沿的理论技术。
授课目标1、了解软件测试的一般原理和方法2、掌握软件测试的策略和经典测试方法3、掌握测试用例的设计方法4、熟悉经典的测试工具和测试框架的使用课程大纲第一章软件测试基础1.1软件测试的基本概念1.2 软件测试的分类1.3 软件缺陷管理1.4 软件质量与软件测试相关特性1.5 软件测试充分性与测试停止标注单元测验第二章软件测试策略2.1 软件开发过程及模型2.2 软件测试过程--单元测试2.3 软件测试过程--集成测试2.4 软件测试与软件开发的关系2.5 静态白盒测试2.6 静态黑盒测试单元测验第三章黑盒测试与测试用例设计3.1 测试用例综述3.2 等价类设计方法3.3 边界值设计方法3.4 因果图设计方法3.5 正交试验设计方法单元测验第四章白盒测试4.1 程序控制流图4.2 逻辑覆盖测试4.3 路径分析与测试4.4 数据流测试分析4.5 变异测试单元测验第五章软件测试的过程管理5.1 软件测试的各个阶段5.2 测试需求5.3 测试计划5.4 测试设计及测试用例5.5 测试是执行5.6 软件缺陷分析单元测验第六章软件测试的度量6.1 软件测试度量的目的6.2 软件测试度量的方法及其应用单元测验第七章系统测试技术7.1 软件自动化测试7.2 兼容性测试7.3 WEB测试单元测试第八章软件测试工具及其应用8.1 性能测试工具-loadRunner8.2 单元测试框架-Junit8.3 功能测试工具-C++test8.4 开源缺陷管理工具-bugzilla单元测试第九章第三方测试9.1 基本概念与测试过程9.2 测试实例讲解单元测验第十章企业测试实践10.1 华为测试实践和业界技术趋势10.2 云计算业务模式下的测试挑战与转型10.3 企业软件市场的变化和技术挑战单元测验第十一章CMMI和软件测试11.1 军用软件研制能力成熟度模型单元测验第十二章基于搜索的软件测试12.1 遗传算法在软件测试中的应用单元测试第十三章软件测试教学与软件测试13.1 软件测试能力培养的探索与实践单元测验第十四章并发软件系统测试和调试的复杂性14.1 并发软件系统测试和调试的复杂性(上)14.2 并发软件系统测试和调试的复杂性(下)单元测验预备知识计算机与软件工程相关基础知识参考资料1.郑炜《软件测试(慕课版)》,人民邮电出版社2017版2.朱少民《全程软件测试》,电子工业出版社2007版3.陈能技《软件测试技术大全》,人民邮电出版社2008版4.郑炜《现代软件工程》,西北工业大学出版社2016版5.郑炜《软件工程》,西北工业大学出版社2011版6.Ron Patton著,张小松等译《软件测试》,机械工业出版社2006版。
软件测试的基本概念软件测试是软件工程中非常关键的一环节,意思是对软件系统进行检测和验证,以发现其中的错误、缺陷、漏洞等。
测试的主要目标是保证软件系统的质量,以满足用户的需求和期望,同时降低软件开发中的风险和成本。
一、软件测试的基本概念1.测试的定义与分类:测试是一种实现非功能性需求的方式,也是软件质量保证的一个过程。
根据测试执行的对象不同,测试可以分为单元测试、集成测试、系统测试、验收测试等不同的分类。
2.测试用例与测试计划:测试用例是为达到某个特定的测试目标而制定的一组测试步骤,而测试计划则是测试的一个整体组织,包括测试目标、测试资源、测试计划和执行、测试管理和跟踪等。
3.缺陷与缺陷管理:在测试过程中,测试人员发现的问题和错误被称为缺陷,而缺陷管理是针对这些问题的跟踪、管理、解决和报告的过程,以确保软件质量。
二、软件测试的流程在进行软件测试时,可以参考以下流程:1.需求分析:对需求进行深入了解和分析,确保测试人员掌握了需求的核心内容和所有功能点的逻辑。
2.测试计划与策略:编制测试计划及测试策略,包括测试的目标、范围、资源、时间、环境等。
3.测试用例设计:根据需求和功能设计测试用例。
4.测试环境准备:搭建测试环境并配置好测试所需的相关软件、硬件及网络等。
5.测试用例执行:按照测试用例进行测试并记录测试结果。
6.缺陷跟踪:发现问题之后,进行缺陷跟踪分析、确认、解决、验证和报告等。
7.测试报告:汇总所有的测试结果并进行测试报告的撰写。
三、软件测试的方法软件测试的方法有很多种,常见的有如下几种:1.黑盒测试:又叫功能测试,针对软件系统的功能进行测试,不考虑内部实现。
2.白盒测试:又叫结构测试,测试人员需要了解软件系统的内部实现,以进行测试。
3.灰盒测试:结合黑盒和白盒测试的优缺点,进行测试。
4.自动化测试:利用专用的软件工具实现自动执行测试用例,并比较测试结果和预期结果。
5.性能测试:测试软件系统在一定规模和负载下的性能表现和负载能力。
软件测试的基本概念(三)(总分100,考试时间90分钟)选择题1. 在指定条件下使用时,软件产品维持规定的性能水平的能力。
这是指软件外部质量的______。
A.效率 B.易用性 C.功能性 D.可靠性2. CMU SEI的Watts Humphrey指出:软件产品必须首先提供用户所需要的______。
A.性能 B.人机界面 C.可靠性 D.功能3. ANSI/IEEE STD729—1983给出软件质量的定义:软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。
以下叙述中不属于这些质量特征和特性的是______。
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.文档和源代码 D.以上全部9. 在测试和使用软件产品过程中进行的度量是______。
软件测试的基本概念(三)(总分:100.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:40,分数:100.00)1.在指定条件下使用时,软件产品维持规定的性能水平的能力。
这是指软件外部质量的______。
∙ A.效率∙ B.易用性∙ C.功能性∙ D.可靠性(分数:2.50)A.B.C.D. √解析:[解析] 软件的效率是指:在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力。
软件的易用性是指:在指定条件下使用,软件产品被理解、学习、使用和吸引用户的能力。
软件的功能性是指:当软件在指定条件下使用,软件产品提供明确的和隐含的要求的功能的能力。
软件的可靠性是指:在指定的条件下使用时,软件产品维持规定的性能水平的能力。
2.CMU SEI的Watts Humphrey指出:软件产品必须首先提供用户所需要的______。
∙ A.性能∙ B.人机界面∙ C.可靠性∙ D.功能(分数:2.50)A.B.C.D. √解析:[解析] 软件质量是产品、组织和体系或过程的一组固有特性,反映它们满足顾客和其他相关方面要求的程度。
如CMU SEI的Watts Humphrey指出:“软件产品必须首先提供用户所需的功能,如果做不到这一点,什么产品都没有意义。
其次,这个产品能够正常工作。
如果产品中有很多缺陷,不能正常工作,那么不管这种产品性能如何,用户也不会使用它。
”3.ANSI/IEEE STD729—1983给出软件质量的定义:软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。
以下叙述中不属于这些质量特征和特性的是______。
∙ A.产品功能∙ B.效率∙ C.可实用性∙ D.项目成本和进度(分数:2.50)A.B.C.D. √解析:[解析] 项目成本和进度不满足这些特性。
4.以下关于软件质量的说法中,错误的是______。
∙ A.软件产品必须提供用户所需要的功能,并能正常工作∙ B.软件质量是产品、组织和体系或过程的一组固有特性,反映它们满足顾客和其他相关方面要求的程度∙ C.程序的正确性足以体现软件的价值∙ D.越是关注客户的满意度,软件就越有可能达到质量要求(分数:2.50)A.B.C. √D.解析:[解析] 程序的正确性固然重要,但不足以体现软件的价值。
5.下列有关软件质量的叙述中,错误的是______。
∙ A.软件质量不仅包括软件产品的质量,还包括软件过程的质量∙ B.明确的软件质量属性是指在合同或行业标准中规定必须实现的质量要求∙ C.隐含的软件质量属性在合同或行业标准中没有规定,因此在产品开发时不必专门考虑?∙ D.软件的功能和性能必须结合在一起考虑(分数:2.50)A.B.C. √D.解析:[解析] 软件质量是表征软件产品满足明确的和隐含的需求的能力的特性或特性的集合,它除了关注“明确的需求”外,还扩展到了“隐含的需求”。
软件质量是各种特性的复杂组合,定义一个软件的质量,就等于为该软件定义一系列质量属性。
C项叙述不准确。
6.下列选项中不属于使用质量的属性的是______。
∙ A.有效性∙ B.安全性∙ C.稳定性∙ D.满意度(分数:2.50)A.B.C. √D.解析:[解析] 软件的使用质量属性分为4种:有效性、生产率、安全性和满意度。
7.以下叙述中不属于软件产品质量要求的是______。
∙ A.应满足客户的功能需求和性能要求∙ B.应具备一定的可扩展性和灵活性,以适应需求的变化∙ C.应能够有效地处理例外或异常情况∙ D.应保证数据库的完整性和安全性(分数:2.50)A.B.C.D. √解析:[解析] 软件产品质量要求包括:①满足客户的功能需求;②具备一定的可扩展性和灵活性,以适应一定程度的需求变化;③能够有效地处理例外或异常情况。
8.内部质量需求包括______。
∙ A.静态模型∙ B.动态模型∙ C.文档和源代码∙ D.以上全部(分数:2.50)A.B.C.D. √解析:[解析] 内部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力的产品属性的全体。
内部质量是从内部的观点看软件产品的全部特性,内部质量需求包括静态模型、动态模型、其他文档和源代码等。
9.在测试和使用软件产品过程中进行的度量是______。
∙ A.内部度量∙ B.外部度量∙ C.使用度量∙ D.性能度量(分数:2.50)A.B. √C.D.解析:[解析] 软件质量的度量主要是根据软件生存周期中对软件质量的要求所进行的一项活动。
它主要分为三个方面:外部度量、内部度量和使用质量的度量。
其中外部度量是在测试和使用软件产品过程中进行的,通过观察该软件产品的系统行为,执行对其系统行为的测量得到度量的结果;内部度量是在软件设计和编码过程中进行的,通过对中间产品的静态分析来测量其内部质量特性;使用质量的度量是在用户使用过程中完成的。
10.对于维护软件的人员来说。
使用质量是______的结果。
∙ A.功能性∙ B.可靠性∙ C.可维护性∙ D.效率(分数:2.50)A.B.C. √D.解析:[解析] 使用质量是从用户观点来对软件产品提出的质量要求,所以它的度量主要是针对用户使用的绩效,而不是软件自身的特性,使用质量是面向用户的内部和外部质量的组合效果。
使用质量与其他软件产品质量特性之间的关系取决于用户的类型:·对最终用户来说,使用质量主要是功能性、可靠性、易用性和效率的结果。
·对维护软件的人员来说,使用质量是可维护性的结果。
·对移植软件的人员来说,使用质量是可移植性的结果。
11.内部度量的主要目的是______。
∙ A.确保获得所需的外部质量∙ B.确保获得所需的使用质量∙ C.在执行前评价软件产品的质量∙ D.以上全部(分数:2.50)A.B.C.D. √解析:[解析] 内部度量是在软件设计和编码过程中,通过对中间产品的静态分析来测量其内部质量特性。
内部度量的主要目的是为了确保获得所需的外部质量和使用质量,用户、评价人员、测试人员和开发人员可以在产品可执行之前通过内部度量来评价软件产品的质量。
12.Myers在1979年提出了一个重要观点,即软件测试的目的是为了______。
∙ A.证明程序正确∙ B.查找程序错误∙ C.改正程序错误∙ D.验证程序无错误(分数:2.50)A.B. √C.D.解析:[解析] Glenford J. Myers于1979年给出测试的定义为:软件测试是为发现错误而执行的一个程序或者系统的过程。
同时他给出了3个关于测试的重要观点:·测试是为了证明程序有错,而不是证明程序正确。
·一个好的测试用例在于它能发现以前未发现的错误。
·一个成功的测试是发现了以前未发现的错误的测试。
13.下列有关软件测试的叙述中,正确的是______。
∙ A.测试是软件开发中一个单独的阶段,其目的是对已实现的程序编码进行正确性检验∙ B.一个成功的测试能够验证程序的确做了它应该做的事情?∙ C.根据80/20的原则,优秀的软件开发人员所编写的程序错误少,因此对于他们的程序,重点不应放在缺陷测试上∙ D.在软件过程的早期寻找尽可能多的错误符合软件测试的原则(分数:2.50)A.B.C.D. √解析:[解析] 对于A项,软件测试贯穿于软件开发的整个过程,其功能是验证软件的功能是否按照预先的设想执行的。
对于B项,一个成功的软件测试是发现了以前未发现的错误的测试。
对于C项,根据80/20原则,如果发现一程序模块似乎比其它程序模块有更多的错误倾向时,则应当花费较多的时间和代价测试这个过程模块。
D项正确。
14.下面有关测试原则的说法中正确的是______。
∙ A.测试用例应由测试的输入数据和预期的输出结果两部分组成∙ B.测试用例只需选取合理的输入数据∙ C.程序最好由编写该程序的程序员自己来测试∙ D.使用测试用例进行测试是为了检查程序是否做了它该做的事(分数:2.50)A. √B.C.D.解析:[解析] 由测试用例的原则第3条(程序员应避免测试自己的程序)和第4条(在设计测试用例时,应该包括合理的和不合理的输入条件)可知,B和C显然不符。
又由测试的目的是找错而不是证明程序正确,故D不正确,所以由排除法得选项A正确。
15.以下关于软件测试原则的说法中,错误的是______。
∙ A.在设计测试用例时,不但要包括合理的输入条件,还要包括不合理的输入条件∙ B.测试过程中某模块中查出的错误越多,该模块残留的错误就越少∙ C.坚持在软件开发各个阶段进行技术评审,才能在开发过程中尽早发现和预防错误∙ D.在测试过程中要严格按照测试计划执行,以避免发生疏漏或重复无效的工作(分数:2.50)A.C.D.解析:[解析] 软件测试原则包括A、C、D三项,没有B项。
16.对程序的测试最好由______来做,对程序的调试最好由来做。
∙ A.程序员第三方测试机构∙ B.第三方测试机构程序员∙ C.程序开发组程序员∙ D.程序开发组程序开发组(分数:2.50)A.B. √C.D.解析:[解析] 测试用例的原则中指明,程序员应尽可能避免测试自己编写的程序,程序开发组也应尽可能避免测试本组开发的程序,若条件允许,最好由独立于开发组和客户的第三方测试组或测试机构进行。
因为这样可能会更客观、更有效,并更容易取得成功。
但是对程序的调试由程序员自己来做可能更加有效。
17.在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是______。
∙ A.程序结构∙ B.软件外部功能∙ C.程序正确性∙ D.程序内部逻辑(分数:2.50)A.B. √C.D.解析:[解析] 白盒测试又称为逻辑驱动测试,它对程序的逻辑结构进行检查,从中获取测试数据,它不需要测试软件产品的功能。
黑盒测试是另一种测试策略,它将程序视为一个黑盒子,测试目标与程序内部机制和结构完全无关,而是将重点集中放在发现程序不按其规格说明正确运行的环境条件,黑盒测试注重于测试软件的功能性需求。
18.程序独立测试的人员应该是______。
∙ A.程序员自己∙ B.同一开发组的测试人员∙ C.第三方测试人员∙ D.同一开发组的其他成员(分数:2.50)A.B.D.解析:[解析] 独立测试是指软件测试工作由在经济上和管理上独立于开发机构的组织进行。
采用独立测试方式,无论在技术上还是管理上,都对提高软件测试的有效性具有重要意义,对软件测试的客观性、专业性、权威性、资源的保证等方面都有较大的影响。
程序设计组织不应只测试自己的程序。
19.以下哪一种选项不属于软件缺陷______。
∙ A.软件没有实现产品规格说明所要求的功能∙ B.软件中出现了产品规格说明不应该出现的功能∙ C.软件实现了产品规格说明没有提到的功能∙ D.软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题(分数:2.50)A.B.C.D. √解析:[解析] 所谓“缺陷”(bug),即为计算机软件或程序中存在的某些破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。