软件测试题库汇编_第1页
软件测试题库汇编_第2页
软件测试题库汇编_第3页
软件测试题库汇编_第4页
软件测试题库汇编_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习 好资料学习 好资料更多精品文档更多精品文档学习 好资料学习 好资料更多精品文档更多精品文档软件测试题库第一章:软件测试的基本概念TOC\o"1-5"\h\z一、选择题:1、Myers1979年提出了一个重要的观点,软件测试的目的是为了(B)。 (B)A.证明程序正确 B.查找程序错误 C.改正程序错误 D.验证程序无错2、对程序的测试最好由(B)来做,对程序的调试最好由(B)来做。 (B)A.程序员/第三方测试机构 B.第三方测试机构/程序员C.程序开发组/程序员 D.程序开发组/程序开发组3、下列选项中,不属于软件产品使用质量的属性是( C)。 (C)A.有效性 B.安全性 C.稳定性 D.满意度4、下列软件属性中,软件产品首先满足客户的是(A)。 (A)A.功能需求 B.性能需求 C.可扩展性和灵活性 D.容错、纠错能力5、在测试和使用软件产品过程中进行的度量是(B)。 (B)A.内部度量 B.外部度量 C.使用度量 D.性能度量6、内部质量需求包括(D)。 (D)A.静态模型 B.动态模型 C.文档和源代码 D.以上都是7、以下不属于软件缺陷的一项是(D)。 (D)A.软件没有实现产品规格说明所要求的功能B.软件中出现了产品规格说明指明不应该出现的错误C.软件实现了产品规格说明没有提到的功能D.软件实现了产品规格说明所要求的功能,但因受性能限制而未考虑可移植性问题8、在软件生存周期过程中,修改错误代价最大的阶段是(D)。 (D)A.需求阶段 B.设计阶段 C.编程阶段 D.发布运行阶段9、功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明,这属于软件缺陷级别中的(B)。 (B)A.致命的缺陷 B.严重的缺陷 C.一般的缺陷 D.微小的缺陷10、软件缺陷的基本状态有(D)。 (D)A.激活状态 B.已修正状态 C.关闭或非激活状态 D.以上都是11、软件缺陷产生的原因有(D)。 (D)A.技术问题 B.团队工作 C.软件本身 D.以上都是12、经验表明: 在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模块中残存的错误数目与其他模块相比,通常应该是(B)。 (B)A.较少 B.较多 C.相似 D.不确定13、为了提高测试的效率,正确的做法是(A)。 (A)A.选择发现错误可能性大的数据作为测试用例B.在完成程序的编码之后再制定软件的测试计划C.随机选取测试用例D.取一切可能的输入数据作为测试用例14、黑盒测试是一种重要的测试策略,又称为数据驱动测试,其测试数据来源于(A)。 (A)A.软件规格说明 B.软件设计说明 C.概要设计说明 D.详细设计说明15、以程序内部的逻辑结构为基础的测试用例设计技术属于(D)。 (D)A.灰盒测试 B.数据测试 C.黑盒测试 D.白盒测试16、软件验证和确认理论是测试过程的理论依据,其中验证是检查我们是否正在正确地建造TOC\o"1-5"\h\z■个产品,强调的是(A)。 (A)A.过程的正确性 B.产品的正确性 C.测试的正确性 D.规格说明的正确性17、下列有关测试过程管理的基本原则,错误的一项是(B)。 (B)A.测试过程管理应该首先建立测试计划B.测试需求在测试过程中可以是模糊的、非完整的C.在测试任务较多的情况下,应该建立测试任务的优先级来优化处理D.整个测试过程应该具有良好的可测性和可跟踪性,强调以数据说话18、软件质量的定义是(D)。 (D)A.软件的功能性、可靠性、易用性、效率、可维护性、可移植性B.满足规定用户需求的能力C.最大限度达到用户满意D.软件特性的总和,以及满足规定和潜在用户需求的能力19、在软件内部/外部质量模型中,可移植性不包括的子特性是(C)。 (C)A.适应性 B.共存性 C.兼容性 D.易替换性20、GB/T16260-2003将软件质量特性分为内部质量特性、外部质量特性和( D)。 -(D)A.安全质量特性 B.适用质量特性 C.性能特性 D.使用质量特性21、两个小组独立地测试同一个程序,第一组发现 25个错误,第二组发现 30个错误,在两个小组发现的错误中有 15个是共同的,那么可以估计程序中的错误总数是(C)个。 (C)A.25 B.30 C.50 D.6022、GB/T16260-2003《软件工程产品质量》 规定的软件产品使用质量特性包括 (B)。…(B)A.适应性、生产率、可靠性、满意度B.有效性、生产率、安全性、满意度C.有效性、可靠性、适应性、满意度 D.适应性、适用性、效率、满意度二、论述题:1、简述软件测试的八个基本原则。答案解析TOC\o"1-5"\h\z[答案 ]:B[解析]:详见Myers提出的3个重要观点。[答案 ]:B[解析]:根据软件测试的概念,软件的开发与测试应该分离开来。所以测试最好由第三方测试机构来做,而调试工作需要对源代码的熟悉程度比较高,最好由程序员来执行。[答案 ]:C[解析]:在ISO质量模型中,使用质量包括有效性、生产性、安全性、满意度,稳定性不在其中。[答案 ]:A[解析]:CMUSEI的WattsHumphrey指出:“软件产品必须提供用户所需的功能,如果做不到这一点,什么产品都没有意义。”[答案 ]:B[解析]:外部度量是在测试和使用软件产品过程中进行的。[答案 ]:D[解析]:内部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求能力的产品属性的全体,内部质量是从内部的观点看软件产品的全部特性,内部质量需求包括静态模型、动态模型和其他文档、源代码等。TOC\o"1-5"\h\z[答案 ]:D[解析]:D选项并不在软件缺陷定义的5种情况之中。[答案 ]:D[解析]:修复错误所花费的代价是随着时间轴而递增的。[答案 ]:B[解析]:软件缺陷严重性有四种级别,分别是:(1)严重级:致命的错误,造成系统崩溃、死机,或造成数据丢失、主要功能完全丧失等。当这种情况发生时,应设为最高优先级,需要立即修复错误,并停止进一步的测试行为。(2)较严重级:严重错误,指功能模块或特性没有实现,主要功能部分丧失,次要功能全部丧失,或致命的错误声明。(3)一般级:不太严重的错误,如次要功能模块丧失、提示信息不够准确、用户界面差和操作时间长等。设修复级别为次高优先级,在时间条件允许的情况下应修复。(4)建议级:一些小问题如有个别错别字、文字排版不整齐等,对功能几乎没有影响,软件产品仍可使用。设修复级别为最低优先级,可以修复也可以先发布产品。TOC\o"1-5"\h\z[答案 ]:D[解析]:软件缺陷有 3种基本状态:激活状态(Active或Open)、已修正状态(Fixed或Resolves)、关闭或非激活状态( Close或Inactive)。[答案 ]:D[解析]:在软件开发的过程中,软件缺陷的产生是不可避免的。造成软件缺陷的主要因素有:技术问题、团队工作和软件本身。[答案 ]:B[解析]:根据软件测试原则:应充分注意测试中的群集现象,可知错误也有群集现象,由此可知本题模块中发现的错误数较多。[答案 ]:A[解析]:由测试原则:充分注意测试中的群集现象,可知在测试中应当对错误群集的程序段进行重点测试来提高测试的效率。再根据2-8原则,如果发现某一程序模块似乎比其他程序模块有更多的错误倾向时,则应当花费较多的时间和代价测试这个程序模块。[答案 ]:A[解析 ]:黑盒测试是一种重要的测试策略,又称为数据驱动的测试或输入/输出驱动的测试。使用这种测试方法时,将程序视为一个黑盒子,测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规格说明书正确运行的环境条件中。测试数据完全来源于软件规格说明。[答案 ]:D[解析]:白盒测试是对程序的逻辑结构进行检查,从中获得测试数据,所以说白盒测试是一种以程序内部的逻辑结构为基础的测试用例设计技术。[答案 ]:A[解析]:验证是检查软件开发的各个阶段过程活动的结果是否满足规格说明的描述,证实各阶段和阶段之间的逻辑协调性、完备性和正确性。确认是证实在一个给定的外部环境中软件的逻辑正确性,是否满足用户的要求。验证强调的是过程的正确性,确认强调的是产品的正确性。[答案 ]:B[解析]:测试需求在测试过程中起到指导性作用,所以测试需求必须是明确的,不能是模糊的、非完整的。[答案]:D[解析]:最新版国家标准《软件工程术语》(GB/T11457-2006)中将软件质量定义:软件产品中能满足给定需要的性质和特性的总体。[答案]:C[解析]:参见图1-1“Boehm质量模型”。[答案]:D[解析]:按照ISO/IEC9126-1:2001,软件质量特性可以分为内部质量、外部质量和使用质量特性。[答案]:C[解析]:两组发现的有效缺陷总数为40个,按照软件测试的2-8原则,可计算出总计缺陷约50个。[答案]:B[解析]:使用质量分成 4个特性,分别是有效性、生产率、安全性和满意度。二、论述题参考答案:软件测试的八个基本原则:1)所有的软件测试都应追溯到用户需求。2)尽早和不断地进行软件测试。3)在设计测试用例时,应该包括合理的输入与不合理的输入以及相应的预期的输出结果。4)充分注意测试中的群集现象。5)程序员应避免检查自己的程序。6)尽量避免测试的随意性。7)应当对每个测试结果做全面的检查。8)保留测试文档,包括测试计划、用例、出错统计和最终分析报告。第二章:软件开发阶段与测试类型一、选择题:1、软件设计阶段测试主要采取的方式是 ()。 (C)A.黑盒测试 B.白盒测试 C.评审 D.动态测试2、下列不属于内部设计的是( )。 (C)A.数据设计 B.逻辑设计 C.界面设计 D.结构设计3、设计阶段的测试对象来自设计文档,下列不属于这一阶段设计文档的是( )。-(B)A.逻辑设计规格说明 B.物理设计规格说明C.内部设计规格说明 D.外部设计规格说明4、以下属于功能易用性测试关注范畴的是( )。 (B)软件提供的功能是否丰富当执行耗时较长的任务时,软件是否能定时向用户提示当前任务完成的进度C.软件是否能够在多种操作系统环境下运行D.软件是否能在不同的硬件配置下运行5、以下说法中错误的是( )。 (D)A.软件配置项测试的目的是检验软件配置项与软件需求规格说明的一致性B.软件配置项测试一般由软件供方组织, 由独立于软件开发的人员实施, 软件开发人员配合C.软件配置项测试要求被测软件配置项已通过单元测试和集成测试D.软件配置项测试不得委托第三方实施TOC\o"1-5"\h\z6、软件测试按实施组织分,应该包括( )。 (A)①开发方测试②用户方测试③第三方测试④验收测试⑤确认测试A.①②③ B.③④⑤ C.①②④ D.①②③④⑤7、把经过评审通过的各项需求转换为一个相应的体系结构,包括数据的体系结构、系统和软件的体系结构,这是软件生命周期( )阶段的工作。 (C)A.系统和需求定义 B.编程和单元测试 C.软件设计 D.运行和维护8、对已经交付使用的软件产品进行维护,其目的是为了( )。 (D)A.增加软件的功能或功能上的变更B.增加软件的功能或功能上的变更,软件产品的工作环境发生变化,引起相应变化C.在软件使用过程中发现错误需要更正,软件产品的工作环境发生变化,引起相应变化D.增加软件的功能,或功能上的变更,在软件使用过程中发现错误需要更正, 软件产品的工作环境发生变化,引起相应变化TOC\o"1-5"\h\z9、下列可以作为软件测试对象的是( )。 (D)A.需求规格说明 B.软件设计规格说明 C.源程序D.以上都是10、规划阶段实际上指的是( )。 (C)A.数据获取和定义阶段 B.产品实施规划C.需求获取和定义阶段 D.测试用例设计阶段11、单元测试时,调用被测试模块的是( )。 (C)A.桩模块 B.通信模块 C.驱动模块 D.代理模块12、测试过程中的4项基本活动是测试策划、测试设计、测试总结和( )。 (A)A.测试执行 B.测试报告 C.测试度量 D.测试需求13、软件测试类型按开发阶段划分为( )。 (B)A.需求测试、单元测试、集成测试、验证测试B.单元测试、集成测试、确认测试、系统测试、验收测试C.单元测试、集成测试、验证测试、确认测试、验收测试14、下列说法错误的是( )。 (B)A.单元测试又称为模块测试,是针对软件测试的最小单位——程序模块进行正确性检验的测试工作B.集成测试也叫做组装测试, 通常在编码完成的基础上, 将所有的程序模块进行有序的、 递增的测试集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统系统测试是在真实或模拟系统运行环境下,检查完整的程序系统能否和相关硬件、外设、网络、系统软件和支持平台等进行正确配置与连接,并满足用户需求15、验收测试的定义是( )。 (C)由用户按照用户手册对软件进行测试以决定是否接收由某个测试机构代表用户按照需求说明书和用户手册对软件进行测试以决定是否接收C.按照软件任务书或合同、供需双方约定的验收依据进行测试,决定是否接收D.由开发方和用户按照用户手册执行软件验收16、在软件设计和编码过程中,下列将使软件更加容易理解和维护的做法为( )。 (C)A.良好的程序结构,有无文档均可 B.使用标准或规定之外的语句C.编写详细正确的文档,采用良好的程序结构 D.尽量减少程序中的注释二、论述题:1、简单说明传统的软件生命周期过程包括的几个阶段。答案解析TOC\o"1-5"\h\z[答案 ]:C[解析]:在设计阶段,测试的对象来自设计文档,主要采用的是评审的方式。[答案 ]:C[解析]:内部设计包括功能设计、系统结构设计和逻辑设计,界面设计属于外部设计。[答案 ]:B[解析]:逻辑设计规格说明属于内部设计规格说明,设计阶段的测试对象包括外部设计文档、内部设计文档、逻辑设计文档。[答案 ]:B[解析]:A选项中提到的软件功能是否丰富是根据软件需求决定的,C、D选项都是兼容性测试关注的范围。[答案 ]:D[解析]:软件配置项可以委托第三方实施。[答案 ]:A[解析]:验收测试与确认测试都是按照软件开发方式划分的测试类型。[答案 ]:C[解析]:开发人员在设计阶段把通过评审的各项需求转换为相应的体系结构,贯标中的每个组成部分都和某需求相对应。[答案 ]:D[解析]:增加软件功能或应对变更,修复在使用过程中发现的错误,应对工作环境变化产生的变更都属于维护阶段的工作:将软件投入使用,若发现问题,应适当进行更正。[答案 ]:D[解析]:需求规格说明和软件设计规格说明是设计阶段的测试对象,源程序是编码阶段单元的内容。[答案]:C[解析]:根据规划阶段的目的,可知为需求获取和定义阶段。[答案]:C[解析]:驱动模块相当于所测模块的主程序。它接收测试数据,把这些数据传送给所测模块,最后再输出实测结果。所以在单元测试时,由驱动模块来调用被测模块。[答案]:A[解析]:测试策划、测试设计均为测试执行前的准备阶段,而测试总结是测试完成后的阶段,所以测试执行是整个测试过程中必需的阶段。[答案]:B[解析]:传统的软件生命周期过程包括制定计划、系统与软件需求定义、软件设计、编程与单元测试、集成测试与系统测试、运行和维护等几个阶段。所以根据开发阶段划分测试分类为单元测试、集成测试、确认测试,产品交付之前和之后,分别需要系统测试和验收测试。[答案]:B[解析]:集成测试,通常在单元测试完成之后,将程序模块进行有序的、递增的测试,而不是所有的程序模块。[答案]:C[解析]:验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统。其目的是在真实的用户(或称系统)工作环境下检验完整的软件系统是否满足软件开发技术合同(或软件需求规格说明)规定的要求。其结论是软件的需方确定是否接收该软件的主要依据。验收测试以需方为主,但是不一定需要第三方测试机构代表用户来测试;验收测试强调的是根据需求来验证软件是否符合用户要求,所以选C。[答案]:C[解析 ]:代码的可读性是非常重要的,每个开发人员的编码风格都有所不同。程序良好的风格表现在源程序文档化、数据说明、语句结构和输入/输出4个方面。二、论述题参考答案:传统的软件生命周期过程包括制定计划、系统与软件需求定义、软件设计、编程与单元测试、集成测试与系统测试、运行和维护等几个阶段。第三章:桌面检查、代码检查、走查与评审一、选择题:TOC\o"1-5"\h\z1、桌面检查通常由( )来实施。 (C)A.项目经理 B.架构师 C.程序员 D.软件测试工程师2、下列不是桌面检查内容的一项是( )。 (B)A.常量检查 B.缓冲区溢出检查 C.等价性检查 D.控制流检查3、下列选项中不属于桌面检查中常量检查内容的是( )。 (C)A.常量的取值 B.常量的类型 C.常量的引用率 D.定义与引用的一致性4、桌面检查的文档是一种( )文档。 (A)A.过渡性、不公开的 B.过渡性、公开的C.非过渡性、不公开的 D.非过渡性、公开的5、下列选项中不能直接从表中查出说明 /使用错误的是( )。 (B)A.循环层次表 B.常数表 C.变量交叉引用表 D.标号交叉引用表6、程序语句中的小括号配对错误是一种( )。 (A)A.表达式错误 B.类型错误C.引用错误D.接口一致性错误7、为了检测引用异常,需要检查通过程序的每一条路径。通常采用类似( )的方法遍历程序流程图的每一条路径。 (C)A.广度优先 B.随机访问 C.深度优先 D.自底向上8、代码走查以( )方式进行。 (B)A.交互 B.会议 C.自由 D.电话9、()主持代码走查会议,对整个代码走查过程负责。 (D)A.记录员 B.测试员 C.程序员 D.协调人10、在代码走查的计划走查会议阶段,协调人完成的工作不包括( )。 (B)A.组建走查小组 B.设计测试用例 C.安排会议时间 D.分发所需要的材料11、下列选项中不属于代码走查优点的是( )。 (C)A.一旦发现错误,就能够对错误进行精确定位 B.降低了调试成本C.可以发现兼容性问题 D.可以发现成批的错误12、代码检查小组的人员( )。 (D)A.越多越好 B.越少越好 ^1~2人 D.4~7人13、下列关于代码检查小组组建过程的描述错误的是( )。 (C)A.协调人是整个代码检查工作的负责人 B.小组成员可以由相关部门推荐C.检查小组必须全部来自开发部门 D.检查人员的工作量不能超过 25%以上TOC\o"1-5"\h\z14、下列选项中不属于代码检查过程中协调人的职责的是( )。 (A)A.在会议上对检查内容进行讲解 B.组建检查小组C.确定检查是否可以结束 D.改进检查过程15、下列选项中,不属于代码检查小组成员的是( )。 (C)A.开发人员 B.协调人 C.项目经理 D.检查人员16、代码检查的两个阶段按照顺序分为( )。 (C)A.分发资料,执行检查 B.执行检查,评价检查C.个人准备,召开会议 D.召开会议,个人总结17、下列关于代码检查辅助工具的描述中,错误的是( )。 (B)A.辅助工具可以进行文档检查 B.辅助工具不可以进行会议支持C.辅助工具可以进行数据收集 D.辅助工具不可以进行自动编码18、下列选项不属于输入错误检查列表中的输入 /输出检查的是( )。 (D)A.文件属性是否正确 B.缓冲大小与记录大小是否匹配C.文件在使用前否打开 D.文件扩展名是否为.exe19、下列关于同行评审的描述中,错误的是( )。 (B)A.评审小组成员包括协调人、作者、评审员三种角色B.代码评审的评定员人数比需求评审人数一般要多C.作者可以是部门经理或文档撰写人D.应该控制评审会议的规模,避免人数过多20、下列过程不属于同行评审的是( )。 (C)A.正式评审 B.技术审查 C.抽查 D.走查21、下列选项中不属于同行评审内容的是( )。 (B)A.用例图 B.可行性研究报告 C.测试用例 D.软件架构设计22、不属于接口错误的是( )。 (D)A.类是否实现接口中的所有方法 B.方法调用的参数类型是否正确C.是否错误覆盖了父类中的方法 D.是否存在死循环23、下列关于正式评审流程的描述中,正确的是( )。 (A)A.为保证评审的质量,可以先进行一个预备会议B.评审会议不宜太久,一般以4个小时左右为宜C.评审报告的内容只包括问题清单D.评审人员负责解决确定的所有缺陷和问题24、技术审查流程不包括( )。 (C)A.准备 B.评审 C.测试 D.跟踪25、()不属于桌面检查的内容。 (A)A.性能检查 B.常量检查 C.风格检查 D.函数检查26、桌面检查是一种( )的检查方法。 (B)A.项目经理检查程序员代码 B.程序员自己检查自己的代码C.测试人员检查程序员的代码 D.桌面检查小组在会议上检查程序员的代码在代码检查中,负责提供关于检查项目的资料并回答检查人员问题的角色是()。 (B)A.协调人 B.开发人员 C.检查人员 D.讲解员28、下列关于走查的说法不正确的是( )。 (A)A.走查的主要工作是由程序编写者本人来完成的B.走查与代码检查一样,都是以小组为单位进行的C.走查是一种走查小组集体扮演计算机角色检查源程序的方法D.走查是借助程序流程图来进行数据流和控制流的分析二、论述题:1、请简单描述一下桌面检查、代码走查和代码检查。答案解析[答案]:C[解析]:桌面检查是程序员对自己编写的代码进行的检查。[答案]:B[解析]:缓冲区溢出不是桌面检查的内容,一般需要在软件测试阶段才能发现。[答案]:C[解析]:常量的引用率不属于桌面检查中的常量检查内容。[答案]:A[解析]:桌面检查的文档是一种过渡性的文档,不是公开的正式文档。[答案]:B[解析]:能直接从表中查出说明 /使用错误的引用表有:循环层次表、变量交叉引用表、标号交叉引用表等。常数表用于为用户提供辅助信息。[答案]:A[解析]:程序语句中的小括号配对属于表达式层次的括号配对错误,因此属于表达式错误。[答案]:C[解析]:引用异常的检测流程是:当扫描抵达一个出度大于1的节点V时,深度优先探测算法要求先检查最左分支的那一部分程序流程,然后再检查其他分支。在遍历最左分支之前,应把定义表与未引用表的当前内容用一个栈中恢复该节点定义表和未引用表的老的副本,然后再去遍历该节点的下一个分支。这个过程要继续到全部分支被检查完为止。[答案]:B[解析]:代码走查和代码检查以及评审都是采用会议的形式进行的,只有桌面检查是由程序员自己进行的。[答案]:D[解析]:协调人负责主持代码走查会议,是整个小组的组长。TOC\o"1-5"\h\z[答案 ]:B[解析]:设计测试用例是走查产品阶段的工作内容。[答案 ]:C[解析]:兼容性问题需要在系统测试阶段才能发现。[答案 ]:D[解析]:一般来说,代码检查小组的人员4~7人为最好。人太少则工作量大,质量难以把握;人太多则交流起来有困难,工作效率不高。[答案 ]:C[解析]:检查小组应该来自不同的部门,具有不同的技术领域经验,这样才能够发现更多的问题。[答案 ]:A[解析]:对检查内容的讲解是检查员的职责。[答案 ]:C般不参与技术方面的检查工作。[解析]:项目经理属于管理人员,一般不参与技术方面的检查工作。般不参与技术方面的检查工作。TOC\o"1-5"\h\z[答案 ]:C[解析]:代码检查分为个人准备和召开会议两个阶段,个人准备阶段由小组成员对资料进行熟悉,召开会议的过程则是执行检查过程。[答案 ]:B[解析]:辅助工具可以进行会议支持,项目管理人员可以使用计算机监控的个人准备时间信息来剔除那些没有做好个人准备的成员,或者督促他们投入更多的努力。[答案 ]:D[解析]:输入 /输出错误检查内容包括:(1)文件属性是否正确。(2)OPEN语句是否正确。I/O语句是否符合格式规范。4)缓冲大小与记录大小是否匹配。5)文件在使用前是否打开。6)文件在使用后是否关闭。7)文件结束条件是否被正确处理。8)是否处理了I/O错误。TOC\o"1-5"\h\z[答案 ]:B[解析]:需求评审的人数一般比较多,代码评审一般只需要2个评审员。[答案 ]:C[解析]:抽查不是同行评审的内容,它属于质量检查过程中的一种技术。[答案 ]:B[解析]:可行性研究报告是项目立项前的文档,不属于同行评审的内容。[答案 ]:D[解析]:是否存在死循环属于控制流程错误。[答案 ]:A[解析]:预备会议可以起到提高评审质量的作用:评审会议一般以2小时为宜;评审报告还包括问题的严重程度和其他一些信息;作者负责缺陷的修复。[答案 ]:C[解析]:技术审查过程并不包括测试的内容,评审本身就是一种特殊的测试技术。[答案 ]:A[解析]:参见3.1.1节桌面检查的内容。[答案 ]:B[解析]:桌面检查就是程序员对自己的代码进行一次自我检查,“桌面检查”技术在众多行业中都存在,是人们对工作成果自我完善的一种技巧。[答案 ]:B[解析]:参见3.3.2节代码检查小组成员角色和职责开发人员职责。[答案 ]:A[解析]:代码走查由专门的走查小组完成,只有桌面检查由开发人员自己完成。二、论述题参考答案:桌面检查就是程序员对自己的代码进行一次自我检查。代码走查是成立一个代码走查小组,以会议的方式来检查代码,一般代码走查是项目内部展开的代码检查工作。代码检查是组成一个小组来对代码进行阅读,应用预先定义好的标准和检查技术,来检查已经编写好的程序和文档,发现错误和缺陷的过程。第四章:覆盖率(白盒)测试一、选择题:TOC\o"1-5"\h\z1、使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。 (A)A.程序的内部逻辑 B.程序的复杂结构 C.使用说明书 D.程序的功能2、下列选项中不属于覆盖率对软件测试作用的是( )。 (D)A.得知测试是否充分 B.了解测试的弱点在哪些方面C.指导设计能够增加覆盖率的测试用例 D.协助找出代码中的语法错误3、如果程序中有两个判定条件,其复合条件表达式分别为( a=1)and(b<10)和(a>0)or(c<4),为了达到100%的判定覆盖率,至少需要设计的测试用例个数为( )个。 (B)A.1 B.2 C.3 D.44、以下程序的路径数为( )条。 (B)A.3 B.6 C.8 D.12if(a>0){If(b>0)Result=a+b;}if(c>0)result+=1;TOC\o"1-5"\h\z5、数据流覆盖关注的是程序中某个变量从其声明、赋值到引用的变化情况,它是( )的变种。 (C)A.语句覆盖 B.判定覆盖 C.路径覆盖 D.分支覆盖6、下列选项中不能作为定义节点的是( )。 (D)A.过程调用 B.循环控制语句 C.输入语句 D.输出语句7、下列选项中不能作为使用节点的是( )。 (C)A.过程调用 B.循环控制语句 C.输入语句 D.输出语句8、以下程序如果采用路径覆盖法进行测试,则至少需要( )个测试用例。 (C)if(result==null||result.getRowCount()==0){found=false;System.out.println(“没有结果!!!”);}else{if(type==1)found=true;elsefound=false;}TOC\o"1-5"\h\zA.2 B.3 C.4 D.59、路径覆盖必定也满足( )。 (C)A.判定覆盖 B.条件覆盖 C.语句覆盖 D.多条件覆盖10、在用逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定 /条件覆盖、条件组合覆盖和路径覆盖等。其中( )是最强的覆盖准则。 (D)A.语句覆盖 B.条件覆盖 C.判定/条件覆盖 D.路径覆盖TOC\o"1-5"\h\z11、白盒测试方法的优点是( )。 (C)A.可测试软件的特定部位 B.能站在用户立场测试C.可按程序内部结构测试 D.可发现实现功能需求中的错误12、白盒测试方法的缺点是( )和()。 (B)①不可测试软件的特定部位 ②不能发现功能需求中的错误 /③无法检验软件的外部特性 ④无法测试未实现功能需求的软件的内部缺陷A.①② B.②③ C.③④ D.①④多条件覆盖是一种逻辑覆盖,它的含义是设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次,满足多条件覆盖级别的测试用例也是满足()级别的。 (A)A.语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖B.判定覆盖、条件覆盖、条件判定组合覆盖、修正条件判定覆盖C.语句覆盖、判定覆盖、条件判定组合覆盖、修正条件判定覆盖D.路径覆盖、判定覆盖、条件覆盖、条件判定组合覆盖对于一个嵌套型分支结构的程序,若有4个判定语句,则要覆盖它的每一条路径至少需TOC\o"1-5"\h\z要的测试用例数为( )个。 (C)A.4 B.3 C.5 D.615、关于数据流测试,说法正确的是( )。 (A)A.数据流测试是一种路径测试B.执行定义节点不会改变变量在存储单元中的内容C.执行使用节点会改变变量在存储单元中的内容D.定义/使用路径往往不是存在潜在的错误的地方16、如果一个判定句中的复合条件表达式为( A>1)or(B<=3),则为了达到 100%的判定覆TOC\o"1-5"\h\z盖率,至少需要设计( )个测试用例。 (B)A.1 B.2 C.3 D.417、下列几种逻辑覆盖标准中, 设计足够的测试用例,运行被测程序,使得程序中所有可能的路径至少执行一次,称为( )。 (D)A.判定覆盖 B.条件覆盖 C.语句覆盖 D.路径覆盖18、在程序控制流图中,有8条边、6个节点,则控制流图的环路复杂性 V(G)等于()。 (B)A.2 B.4 C.6 D.819、针对程序段if(x>10)AND(y<20)thenw=w/a,对于(x,y)的取值,以下( )组测试用例能够满足判定覆盖的要求。 (D)A.(30,50)(40,10) B.(3,0)(30,30)C.(5,25)(10,20)D.(20,10)(1,100)20、下列选择测试覆盖率原则正确的是( )。 (C)A.保证100%的覆盖率B.路径覆盖率最强,因此任何测试都应该选择路径覆盖C.覆盖率不是目的,只是手段D.达到了100%的测试覆盖率,就可以保证所有的错误都被检测出来二、论述题:1、请将以下程序分别按照语句覆盖、判定覆盖、条件覆盖、判定 /条件覆盖、多条件覆盖设计测试用例。if((a>2&&b<3)&&(c>4||d<5)){statement1;}else{statement2;}2、以下使用 C语言编写,它根据输入的分数计算学生的成绩等级。intscore2leve1(intscore){intleve1;if(score>100||score<0)level=-1;elseif(score>=90)level=1;elseif(score>=80)leve1=2;elseif(score>=70)leve1=3;elseif(score>=60)leve1=4;elseleve1=5;returnleve1;}请画出上面程序的控制流图,计算上述控制流图的环路复杂度V(G)。3、以下程序的作用是从 i到n个元素的序列A[i…n]中选取具有最小值的元素,通过下标 k得到该元素的位置。现对程序执行简单循环,限定循环次数为0次、1次和2次,请设计该程序的简单循环测试用例。intminvalue(intA[],intn,inti){intk=I;for(intj=i+1;j<=n;j++)if(A[j]<A[k])k=j;returnk;}4、如图 4-6所示的程序流图描述了最多输入50个值(以-1作为输入结束标志),计算其中有效的学生分数的个数、总分数和平均值。请针对该程序流程图进行基本路径覆盖测试用例设计。学习 好资料学习 好资料更多精品文档更多精品文档学习学习--——好资料更多精品文档更多精品文档.#h.--------Score[i]>0andscore[i]<100 .1i=1,n1=n2=0,sum=0N1=n1+1,sum=sum+score[i].#h.--------Score[i]>0andscore[i]<100 .1i=1,n1=n2=0,sum=0N1=n1+1,sum=sum+score[i]图4-6程序流程图答案解析1、[答案]:A[解析]:白盒测试是根据程序的内部逻辑来进行测试用例设计的。2、[答案]:D[解析]:覆盖率是反映代码被测试程度的一种指标,不是一种测试技术,因此无法协助找出代码中的语法错误。代码中的语法错误一般在程序编译阶段就已经由编译器检查出来, 并需要得到修正后代码才能正确编译。3、[答案]:B[解析]:判定覆盖就是让程序中的每一个判定都取到真和假值一次。取测试用例( a=5,b=5,c=1)和(a=2,b=1,c=5)可以实现判定覆盖,测试用例如附表 A-1所示。附表A-1满足判定覆盖测试用例用例编号abc(a>=3)and(b<=6)(a>0)or(c<2)1551TT2-215FF4、[答案]:B[解析]:可以将所列出的程序看做一个嵌套的判定与一个普通判定串接,嵌套型的路径数为n+1,所以整个代码可以看做一个 3路径判定和一个2路径判定的串接,所以总路径数为 3X2=6条。5、[答案]:C[解析]:数据流覆盖关注路径中变量的变化,它是路径覆盖的一种变种。6、[答案]:D[解析]:节点nCG(p)是变量vCV的定义节点,当且仅当变量 v的值在节点n对应的语句片段处定义,记做DEF(v,n)。输入语句、赋值语句、循环控制语句和过程调用都是定义语句的例子。7、[答案]:C[解析]:节点nCG(p)是变量vCV定义的节点,当且仅当变量 v的值在节点n对应的语句片段处使用,记做USE(v,n)。输出语句、赋值语句、循环控制语句和过程调用都是使用语句的例子。8、[答案]:C[解析]:此程序属于嵌套型的条件语句,因此路径数=条件个数 +1,得出程序的路径数为 4.因此最少需要 4个测试用例才能达到路径覆盖的标准。[答案]:C[解析 ]:路径覆盖的目标就是让程序的所有可能执行的路径都执行一遍,所以一定会将程序的所有语句都覆盖执行到。[答案]:D[解析 ]:路径覆盖的目标就是让程序的所有可能执行的路径都执行一遍,所以可以覆盖到所有场景,是最强的覆盖准则。[答案]:C[解析]:覆盖率(白盒)测试也称做结构或逻辑驱动测试,它需要知道程序的内部工作过程,可根据程序内部结构检验程序中每条通路是否都按预定要求正确工作,而不考虑整个程序功能。[答案]:B[解析 ]:白盒测试是根据程序内部结构检验程序中每条通路是否都按预定要求正确工作,而不考虑整个程序功能,所以白盒测试无法验证软件的外部特性和软件需求。[答案]:A[解析 ]:条件组合覆盖关注的是条件的取值,至于判定如何不在考虑范围。实际的情况是,满足多条件覆盖的测试用例同样也满足条件覆盖、判定覆盖和条件 /判定覆盖,同时能保证所有的语句均被覆盖到。[答案]:C[解析]:圈复杂度等于判定节点的数量再加上 1,所以V(G)==判定节点数+1=5+1=6。[答案]:A[解析 ]:数据流测试与路径测试的区别在于,路径测试基本上是从纯数学的角度来分析的;而数据流测试则是利用了变量之间的关系,通过定义使用路径和程序片得到一系列的测试指标用于衡量功能性测试的覆盖率,所以数据流测试不是一种路径测试。[答案]:B[解析 ]:判定覆盖需设计若干个测试用例,运行所测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。所以判断覆盖是保证所有的判断的真假各取一次,针对单个复合判断,只需要真假各取一次,所以只需要 2个用例即可。[答案]:D[解析 ]:路径覆盖的目标就是让程序的所有可能执行的路径都执行一遍。[答案]:B[解析 ]:圈复杂度的计算公式为: v(G)=e-n+2=4.[答案]:D[解析 ]:判断覆盖是保证所有的判断的真假各取一次,针对单个复合判断,只需要真假各取一次,所以测试用例设计为真:x>10和y<20;假:x<10和y>20,所以可以选择D作为测试用例。[答案]:C[解析 ]:参见 4.6.1节选择测试覆盖率原则的内容。二、论述题参考答案:1、语句覆盖是基本的覆盖,只要能让 statement1和statement2都被执行一次就达到语句覆盖的标准。测试用例(a=0,b=0,c=0,d=0)和(a=3,b=1,c=5,d=0)即满足语句覆盖标准的要求。判定覆盖就是让程序的判定分别为真和假一次,因此上面满足语句覆盖的测试用例

(a=0,b=0,c=0,d=0)、(a=3,b=1,c=5,d=0)也满足判定覆盖标准的要求。条件覆盖需要让判定中的所有条件取一次真和一次假,因此测试用例(a=5,b=0,c=5,d=0)、(a=0,b=5,c=0,d=5)让所有条件都取到了真和假,满足条件判定覆盖要求。判定/条件覆盖要求判定覆盖和覆盖要被同时满足, 而恰好测试用例(a=5,b=0,c=5,d=0)、(a=0,b=5,c=0,d=5)就满足判定/覆盖要求。多条件覆盖要取条件真和假的组合, 4个条件则有16种可能的组合,因此需要很多的测试用例才能满足。满足多条件覆盖的测试用例如附表 A-2所示。附表A-2满足多条件覆盖的测试用例用例编号abcda>2B<3c>4d>510505FFFF20500FFFT30555FFTF40550FFTT50005FTFF60000FTFT70055FTTF80050FTTT95505TFFF105500TFFT115555TFTF125550TFTT135005TTFF145000TTFT155055TTTF165050TTTT2、先将if(score>100||score<0)转换为if(score>100)level=-1;elseif(score<0)leve1=-1;else 再画出程序控制流图,圈复杂度 v(G尸控制流图中独立区域的个数。[答案]:控制流图如附图 A-1所示。T附图A-1 控制流图学习学习--——好资料更多精品文档更多精品文档学习学习--——好资料更多精品文档更多精品文档根据控制流图中的独立区域数可以得知圈复杂度 v(G)=7.3、首先根据程序绘制程序流程图并标记路径编号,如附图A-2所示。K=I;j=i+1K=j;J++附图A-2 程序流程图按照简单循环的测试要求设计的测试用例如附表 A-3所示。附表A-3 测试用例表循环次数输入数据对应的输出inA[i]A[i+1]A[i+2]k执行路径012///ia,c11212/iabefc21/i+1abdfc213123iabefbefc231i+2abefbdfc213i+1abdfbefc321i+2abdfbdfc4、整个解题步骤如下:(1)导出过程的控制流图,如附图A-3所示。(2)确定环形复杂性度量V(G):①V(G)=6(个区域)②V(G)=E-N+2=16-12+2+6其中,E为流图中的边数,N为节点数。③V(G)=P+1=5+1=6其中,P为谓词节点的个数。在流图中,节点2、3、5、6、9是谓词节点。(3)确定基本路径集合(即独立路径集合) ,于是确定6条独立的路径;路彳51:1-2-9-10-12路彳至2:1-2-9-11-12路彳53:1-2-3-9-10-12路彳至4:1-2-3-4-5-8-2……路彳至5:1-2-3-4-5-6-8-2……路彳至6:1-2-3-4-5-6-7-8-2……(4)为每一条独立路径各设计一组测试用例,以便强迫程序沿着该路径至少执行一次。①路径1(1-2-9-10-12)的测试用例:Score[k]=有效分数值,当k<i时;Score=-1,2wi<50;期望结果:根据输入的有效分数算出正确的分数个数 n1、总分sum和平均分average。②路径2(1-2-9-11-12)的测试用例:Score[1]=-1;期望结果:average=-1,其他量保持初值。③路径3(1-2-3-9-10-12)的测试用例:输入多于50个有效分数,即试图处理51个分数,要求前51个为有效分数;期望结果:n1=50,并且算出正确的总分和平均分。④路径4(1-2-3-4-5-8-2……)的测试用例:Score=有效分数值,当k<50时;Score[k]<0,k<i;附图A-3程序控制流图期望结果:根据输入的有效分数算出正确的分数个数 n1、总分sum和平均分average。⑤路径5的测试用例:Score=有效分数,当i<50时;Score[k]>100,k<i;期望结果:根据输入的有效分数算出正确的分数个数 n1、总分sum和平均分average。⑥路径6(1-2-3-4-5-6-7-8-2……)的测试用例:Score=有效分数,当i<50时;期望结果:根据输入的有效分数算出正确的分数个数 n1、总分sum和平均分average。注意:一些独立的路径往往不是完全孤立的,有时它是程序正常的控制流的一部分,这时,这些路径的测试可以是另一条路径测试的一部分。第五章:功能(黑盒)测试一、选择题:TOC\o"1-5"\h\z1、因果图中主要的原因和结果之间的关系不包括( )。 (D)A.恒等 B.非 C.或 D.小于2、因果图中的约束关系不包括( )。 (B)A.互斥 B.继承 C.包含 D.唯一3、等价划分测试方案属于( )。 (A)A.黑盒测试 B.玻璃箱测试 C.单元测试 D.错误推测4、黑盒测试方法的优点是( )。 (D)A.可测试软件的特定部位 B.能站在用户立场测试学习学习--——好资料更多精品文档更多精品文档学习学习--——好资料更多精品文档更多精品文档学习 好资料学习 好资料更多精品文档更多精品文档C.可按软件内部结构测试 D.可发现实现功能需求中的错误TOC\o"1-5"\h\z5、()方法根据输出对输入的依赖关系设计测试用例。 (C)A.路径测试 B.等价类C.因果图D.边界值6、根据等价类测试的原则,若规定了输入数据必须遵守的规则,则要确立的有效等价类个数为(),无效等价类个数为( )。 (C)A.1个,1个B.1个,0个C.1个,若干个 D.1个,2个7、在边界值分析中,下列数据通常不用来做测试数据的是( )。 (B)A.正好等于边界的值 B.等价类中的典型值C.刚刚大于边界的值 D.刚刚小于边界的值8、根据边界值测试原则,输入数据范围为 1~100之间的整数,则可以选择()作为测试数据。 (A)A.1,100,0,101 B.1,2,99,100C.1,100 D.0,1,2,99,100,1019、因果图方法最终生成的是( )。 (B)A.用例图 B.决策表 C.因果图 D.决策树10、()把黑盒测试和白盒测试的界限打乱了。 (A)A.灰盒测试 B.动态测试 C.静态测试 D.失败测试11、在决策表中,列出各种可能的单个条件的部分是( )。 (B)A.动作桩 B.条件桩 C.条件项 D.动作项12、等价类划分方法根据输入条件把数目极多的输入数据划分成若干个( )。……(B)A.初级等价类和高级等价类 B.有效等价类和无效等价类C.集中等价类和分散等价类 D.基本等价类和扩展等价类13、在测试一个政府办公信息系统时,需要输入邮政编码。请问相比之下,下面( )组测试数据是测试邮政编码的最佳选择。 (B)A.100080,10000,abc,410006,空白B.410006,空白,空值,41006,abcC.100080,100000,abe,空白,IOOOOOD.410006,abc,空值,100000,IOOOOO二、论述题:1、进行三角形问题的边界值分析测试用例设计。要求边长是整数,取值范围为[1,100]。2、为NextDate函数设计边界值分析测试用例。在NextDate函数隐含规定了变量month和变量day的取值范围为1<month得2和1<day<31,并设定变量 year的取值范围为1912可ear<2050。3、设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在 1990年1月有~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后 2位表示月。请对日期检查功能进行等价类划分。4、输入三个整数a,b,c分别作为三边的连长构成三角形。 通过程序判定是否构成三角形以及所构成的三角形的类型,分别输出“非三角形” 、“一般三角形” 、“等腰三角形”或“等边三角形”。用等价类划分方法为该程序设计测试用例。5、以下是学生选课系统中“学生查询成绩”交互行为的描述,请按要求回答问题。交互开始时终端上显示首页,用户选择“查询”请求后,显示“请输入学号”。在用户输入学号后,系统核对学生学号;若输入的学号不正确,则显示“输入的学号不正确”,此次查询取消,回到首页;若输入学号正确,则出现“请输入课程名”。一旦输入课程名,就开始核对课程名称;若输入的课程名不正确,则显示“输入的课程名不正确”此次查询取消,回到首页;若输入的课程名正确,则根据“学号”和“课程名”查询学生成绩。若查询学生成绩成功,则显示查询到的成绩, 系统询问是否继续查询; 当用户选择“继续查询”后回到“请输入学号”;当用户选择“结束查询”后回到首页。若查询成绩失败,则显示“查询失败”后回到首页。(1)请画出该系统以上交互行为的状态图(应满足功能图的要求,不可画成流程图) 。(2)用基本路径测试方法确定该状态图的测试路径。6、请列出图5-4中的所有场景。答案解析1、[答案]:D[解析]:原因和结果之间的关系主要包括恒等、与、或和非。2、[答案]:B[解析]:因果图中的约束有互斥、包含、唯一、要求和屏蔽。继承是面向对象程序设计中了类与父类之间的关系。3、[答案]:A[解析]:等价类划分是黑盒测试的一种技术。4、[答案]:D[解析]:黑盒测试的参考依据是软件需求规格说明,所以执行黑盒测试可以发现功能中与需求不一致的地方。5、[答案]:C[解析]:因果图是用来表示输入(原因)与结果之间的关系,可以被用来设计测试用例。6、[答案]:C[解析]:如果规定了输入数据必须遵循的规则, 则可以划分出一个有效的等价类 (符合规则)和若干个无效的等价类(从各种不同角度违反规则) 。7、[答案]:B[解析]:边界值分析假定错误更多地存在于划分的边界上,所以测试数据等价类的典型值不适合作为边界值的测试值。8、[答案]:A[解析]:如果输入条件规定了值的个数,则用最小个数、最大个数、比最小个数少一、比最大个数多一的数作为测试数据。所以选择 Ao9、[答案]:B[解析]:在因果图方法中用到的是决策表。10、[答案]:A[解析]:灰盒测试=白盒测试+黑盒测试。11、[答案]:B[解析]:条件桩(ConditionStuB.:列出了问题的所有条件,通常认为列出的条件的次序无关紧要)。12、[答案]:B[解析]:参见5.2.1节等价类划分概念与步骤。13、[答案]:B[解析]:参见5.2.2节等价类划分原则。二、论述题参考答案:1、边界值测试用例的设计如附表 A-4所示。附表A-4 边界值测试用例的设计测试用例abc预期输出Test160601等腰三角形Test260602等腰三角形Test3606060等腰三角形Test4505099等腰三角形Test55050100非三角形Test660160等腰三角形Test760260等腰三角形Test8509950等腰三角形Test95010050非三角形Test1016060等腰三角形Test1126060等腰三角形Test12995050等腰三角形Test131005050非三角形2、边界值分析测试用例的设计如附表 A-5所示。附表A-5边界值分析测试用例的设计测试用例mouthdayyear预期输出Test161519111911.6.16Test261519121912.6.16Test361519131913.6.16Test461519751975.6.16Test561520492049.6.16Test661520502050.6.16Test761520512051.6.16Test86-12001day超出[1…31]Test96120012001.6.2Test106220012001.6.3Test1163020012001.7.1

Test126312001输入日期超界Test136322001day超出[1…31]Test14-1152001mouth超出[1•••12]Test1511520012001.1.16Test1621520012001.2.16Test17111520012001.11.16Test18121520012001.12.16Test1913152001mouth超出[1•••12]3、附表A-6为等价类划分的结果。附表A-6等价类划分表输入等价类有效等价类无效等价类日期的类型及长度①6位数字字符②有非数字字符③少于6位数字字符④多于6位数字字符年份范围⑤在1990~2049之间⑥小于1990⑦大于2049月份范围⑧在01~12之间⑨Q00⑩K124、分析题目中给出和隐含的对输入条件的要求:①整数,②三个数,③非零数,④正数,⑤两边之和大于第三边,⑥等腰,⑦等边。如果a、b、c满足条件①~④,则输出下列4种情况之一:(1)如果不满足条件⑤,则程序输出为“非三角形”。TOC\o"1-5"\h\z(2)如果三条边相等即满足条件⑦,则程序输出为“等边三角形” 。(3)如果只有两条边相等,即满足条件⑥,则程序输出为“等腰三角形” 。(4)如果三条边都不相等,则程序输出为“一般三角形” 。列出等价类表关编号,结果如附表 A-7所示。附表A-7 等价类表输入条件有效等价类无效等价类是否是三角形的三条边A>0(1)A<0(7)B>0⑵B<0(8)C>0(3)C<0(9)A+B>C⑷A+B<C(10)A+C>B⑸A+C<B(11)B+C>A(6)B+C<A(12)是否是等腰三角形A=B(13)A,BANDA,BANDB,C(16)B=C(14)C=A(15)是否是等边三角形A=BANDA=CANDB=C(17)A,B(18)A,B(19)A,B(20)根据等价类设计等价类测试用例如附表 A-8所示。附表A-8等价类测试用例表s#[abc] 覆盖等价表 rwH

1[3、4、5](1)、(2)、(3)、(4)、(5)、(6)一般二角形2[0、1、2]⑺不能构成三角形3[1、0、2](8)4[1、2、0](9)5[1、2、3](10)6[1、3、2](11)7[3、1、2](12)8[3、3、4](1)、(2)、(3)、(4)、(5)、(6)、(13)等腰三角形9[3、4、4](1)、(2)、(3)、(4)、(5)、(6)、(14)10[3、4、3](1)、(2)、(3)、(4)、(5)、(6)、(15)11[3、4、5](1)、(2)、(3)、(4)、(5)、(6)、(16)非等腰三角形12[3、3、3](1)、(2)、(3)、(4)、(5)、(6)、(17)等边三角形13[3、4、4](1)、(2)、(3)、(4)、(5)、(6)、(18)非等边三角形14[3、4、3](1)、(2)、(3)、(4)、(5)、(6)、(19)15[3、3、4](1)、(2)、(3)、(4)、(5)、(6)、(20)附图A-4状态图5、(1)根据系统的规格说明,画出状态图,如附图A-4所示。附图A-4状态图其中:M1:选择"查询”请求M2:输入学号M3:输入了正确的学号M4:输入了错误的学号M5、M9、M13:回归首页M6:输入课程名M7:输入了正确的课程名M8:输入了错误的课程名M10:选择查询成绩M11:查询成绩成功M12:查询成绩失败M14:系统询问是否继续查询M15:用户选择“继续查询”M16:用户选择“结束查询”(2)根据系统的规格说明,画出控制流图,如附图A-5所示。附图A-5 控制流图由控制流图可以看出,程序中有 4个判定节点,因此该程序的环路复杂度 v(G)=5,所以可以确定5条独立的测试路径,即:Path1:1-2-4Path2:1-2-3-6Path3:1-2-3-5-8Path4:1-2-3-5-7-9Path5:1-2-3-5-7-106、在这个图中,有1个基本流和4个备选流。每个经过用例的可能路径可以确定不同的用例场景,从基本流开始,再交基本流和备选流结合起来,可以确定以下用例场景:场景1:基本流W2:基本流备选流1W3:基本流备选流1备选流2场景4:基本流备选流3场景5:基本流备选流3备选流1场景6:基本流备选流1备选流1备选流2W7:基本流备选流4W8:基本流备选流3备选流4第六章:单元测试和集成测试一、选择题:1、单元测试时,调用被测模块的是( )。 (C)A.桩模块 B.通信模块 C.驱动模块 D.代理模块2、以下关于软件单元测试的说法中,错误的是( )。 (B)A.单元测试通常可放在编程阶段B.单元测试的依据是软件结构设计说明C.单元测试主要发现编程和详细设计中产生的错误学习 好资料学习 好资料更多精品文档更多精品文档学习 好资料学习 好资料更多精品文档更多精品文档D.单元测试计划应该在详细设计阶段制定3、自底向上的单元测试策略是首先对模块调用图上的( )模块进行测试。 (A)A.最底层 B.下一层 C.最高层 D.上一层4、以下关于单元测试策略的说法中,正确的是( )。 (C)自顶向下的单元测试不必编写桩模块自底向上的单元测试不必编写驱动模块C.孤立的单元测试可以并行进行D.单元测试的几种策略不可混合使用TOC\o"1-5"\h\z5、软件单元测试分析的对象不包括( )。 (B)A.接口 B.全局数据结构 C.独立路径 D.边界条件6、静态测试分析的对象不包括( )。 (D)A.控制流 B.数据流 C.接口 D.独立路径7、以下关于单元测试的测试用例的说法中,错误的是( )。 (B)A.对软件设计文档规定的软件单元的功能、性能和接口等要求逐项设计测试用例B.每个软件特性应至少被一个正常测试用例覆盖但无须设计异常测试用例C.测试用例的输入应至少包括有效等价类值、无效等价类值和边界数据值D.语句覆盖率和分支覆盖率均应达到 100%8、集成测试对系统内部的交互以及集成后系统功能检验了( )质量特性。 (A)A.正确性 B.可靠性 C.可使用性 D.可维护性9、以下关于软件集成测试的说法中,错误的是( )。 (D)A.集成测试计划应该在概要设计阶段制定B.集成测试的技术依据阶段制定C.集成测试之前待集成的软件单元必须先通过单元测试D.集成测试必须委托第三方进行TOC\o"1-5"\h\z10、大突击测试把所有的模块一次性集成为一个完整的系统后进行测试,很容易( )。…… (B)A.通过测试 B.整体测试 C.快速查错 D.快速排错11、以下关于软件集成测试策略的说法中,错误的是( )。 (A)A.三明治集成先集成中间层,然后集成上下层B.基于功能的集成按照功能的关键程度组织模块的集成顺序C.基于调用图的集成使用实际代码代替驱动模块和桩模块DMM-路径集成是功能集成和结构性集成的混合 .12、软件集成测试分析不包括( )。 (B)A.接口分析B.局部数据结构分析 C.体系结构分析 D.模块分析13、软件系统内部接口不包括( )。 (D)A.函数或方法接口 B.消息接口 C.类接口 D.局部变量14、以下关于测试用例的设计原则,不属于集成测试的是( )。 (D)A.为软件设计文档规定的软件功能和性能等特性逐项设计测试用例B.为软件单元之间、软件和硬件之间的所有接口设计测试用例C.每个软件特性应至少被一个正常测试用例和一个被认可的异常测试用例覆盖D.语句覆盖率和分支覆盖率均应达到 100%15、软件单元测试时,应设计测试用例检查数据结构的( )差错。 (D)1)不正确或不一致的数据类型说明2)错误的变量名,如变量名拼写错或缩写错等3)使用尚未赋值或尚未初始化的变量4)错误的初始值或错误的默认值5)不一致的数据类型6)下溢、上溢或地址差错7)全局数据对软件单元的影响A.仅1)B.仅1)、3)和4) C.仅1)~6)D以上都是.16、软件集成测试分析包括( )。 (D)1)软件特性分析2)体系结构分析3)模块分析4)接口分析5)可测试性分析6)测试充分性分析7)测试终止条件分析8)测试技术分析9)测试资源分析10)风险分析A.仅1)~4) B.仅1)~7)C.仅1)~8)D.以上都是TOC\o"1-5"\h\z17、软件单元测试最主要的测试依据是( )。 (C)A.软件需求分析说明 B.软件概要设计说明C.软件详细设计说明 D.软件质量保证计划18、软件集成测试最主要的测试依据是( )。 (C)A.软件需求分析说明 B.软件概要设计说明C.软件详细设计说明 D.软件质量保证计划19、软件系统内部的接口主要包括( )。 (C)1)函数或方法接口2)消息接口3)类接口4)中断5)配置表6)注册信息7)全局变量8)局部变量A.仅1)~3) B.仅1)~4)C.仅1)~7)D.以上都是20、以下测试类别,()可放在编程阶段。 (B)1)单元测试2)集成测试3)系统测试4)验收测试A.仅1)B.仅1)和2)C.仅1)~3) D.以上都是21、单元测试时,被测模块调用的是( )。 (A)A.桩模块 B.通信模块 C.驱动模块 D代理*II块.22、侧重于软件单元之间的接口和通信测试的是( )。 (B)A.单元测试B.集成测试C.系统测试 D.验收测试二、论述题:1、简述软件单元测试策略。2、简述基于调用图的集成策略。3、一个合理的集成模块划分应满足哪几点?答案解析[答案 ]:C[解析]:测试一个模块时需要为该模块编写一个驱动模块和若干个桩模块。驱动模块用来调用被测模块,它接收测试者提供的测试数据,并把这些数据传送给被测模块,然后从被测模块接收测试结果,并以某种可见的方式(如显示或打印)将测试结果返回给测试者。桩模块用来模拟被测模块所调用的子模块,它接受被测模块的调用,检验调用参数,并以尽可能简单的操作模拟被调用的子程序模块功能,把结果送回被测模块。TOC\o"1-5"\h\z[答案 ]:B[解析]:单元测试,也称模块测试,通常可放在编程阶段,一般由程序员对自己编写的模块自行测试,检查模块是否实现了详细设计说明书中规定的功能和算法。单元测试主要发现编程和详细设计中产生的错误,单元测试计划应该在详细设计阶段制定。[答案 ]:A[解析]:自底向上的单元测试先测试最底层模块,然后逐级测试其上层模块,直到全部模块测试完毕。[答案 ]:C[解析]:自顶向下的单元测试先测试上层模块,再测试下层模块,由于测试下层模块时它的上层模块已测试过,所以不必另外编写驱动模块,选项 A错误。自底向上的单元测试先测试下层模块,再测试上 层模块。由于测试上层模块时它的下层模块已测试过。所以不必另外编写桩模块,选项 B错误。孤立的单元测试不需要考虑每个模块与其他模块之间的关系,逐一完成所有单元模块的测试,由于各模块之间不存在依赖性,单元测试可以并行进行,选项C正确。各种单元测试策略各有利弊,一种方法的优点恰好对应另一种方法的缺点,实际测试时可根据软件特点及进度安排将几种测试方法混合使用,选项 D错误。[答案 ]:B[解析]:软件单元测试分析一般应采用静态测试分析与动态测试分析相结合的方法。静态测试分析的对象与选择的测试方法有关。例如,采用代码审查方法,通常要对程序语言的使用、程序格式、入口和出口的连接、存储器的使用和寄存器的使用(仅限定在机器指令和汇编语言时考虑)等内容进行检查;采用静态测试分析方法,通常要对软件单元的控制流、数据流、接口和表达式等内容进行分析。动态测试分析的对象通常包括软件单元的功能、性能、接口、局部数据结构、独立路径、出错处理、边界条件和内存使用情况。全局数据结构不属于单元测试分析的对象。TOC\o"1-5"\h\z[答案 ]:D[解析]:静态测试分析的对象通常包括软件单元的控制流、数据流、接口和表达式等内容。独立路径属于动态测试分析的对象。[答案 ]:B[解析]:软件单元测试的设计用例设计一般应遵循以下原则:对软件设计文档规定的软件单元的功能、性能和接口等要求逐项设计测试用例(功能原则);每个软件特性应至少被一个正常测试用例和一个被认可的异常测试用例覆盖(正常 /异常测试原则);测试用例的输入应至少包括有效等价类值、无效等价类值和边界数据值(等价类原则);语句覆盖率达到100%(语句覆盖原则);分支覆盖率应达到100%(分支覆盖原则)。[答案]:A[解析]:软件集成测试的对象包括:任意一个软件单元集成到计算机软件系统的组装过程;任意一个组装得到的软件系统。软件集成测试的目的是检验单元之间、软件单元和已集成的软件系统之间的接口关系,并验证已集成软件系统是否符合设计要求。软件集成测试侧重于软件单元之间的接口和通信方面的问题。例如,数据穿过接口可能丢失;一个模块对另一个模块可能由于疏忽而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来可以接受的误差可能积累到不能接受的程度;全程数据结构可能有问题等。选项 B、C、D均错误,选项 A正确。[答案]:D[解析]:集成测试主要发现设计阶段产生的错误,集成测试计划应该在概要设计阶段制定。软件集成测试的技术依据是软件(结构)设计文档。开始软件集成测试除了应满足一般测试的准入条件外,还应确认待测试的软件单元已通过单元测试。软件集成测试一般由软件供方组织并实施,也可委托第三方进行软件集成测试。选项 A、B、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论