首页 软件测试题库

软件测试题库

举报
开通vip

软件测试题库软件测试题库第一章:软件测试的基本概念一、选择题: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...

软件测试题库
软件测试题库第一章:软件测试的基本概念一、选择题: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、软件验证和确认理论是测试过程的理论依据,其中验证是检查我们是否正在正确地建造一个产品,强调的是(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.25B.30C.50D.6022、GB/T16260-2003《软件工程产品质量》规定的软件产品使用质量特性包括(B)。…(B)A.适应性、生产率、可靠性、满意度B.有效性、生产率、安全性、满意度C.有效性、可靠性、适应性、满意度D.适应性、适用性、效率、满意度二、论述题:1、简述软件测试的八个基本原则。答案解析1、[答案]:B[解析]:详见Myers提出的3个重要观点。2、[答案]:B[解析]:根据软件测试的概念,软件的开发与测试应该分离开来。所以测试最好由第三方测试机构来做,而调试工作需要对源代码的熟悉程度比较高,最好由程序员来执行。3、[答案]:C[解析]:在ISO质量模型中,使用质量包括有效性、生产性、安全性、满意度,稳定性不在其中。4、[答案]:A[解析]:CMUSEI的WattsHumphrey指出:“软件产品必须提供用户所需的功能,如果做不到这一点,什么产品都没有意义。”5、[答案]:B[解析]:外部度量是在测试和使用软件产品过程中进行的。6、[答案]:D[解析]:内部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求能力的产品属性的全体,内部质量是从内部的观点看软件产品的全部特性,内部质量需求包括静态模型、动态模型和其他文档、源代码等。7、[答案]:D[解析]:D选项并不在软件缺陷定义的5种情况之中。8、[答案]:D[解析]:修复错误所花费的代价是随着时间轴而递增的。9、[答案]:B[解析]:软件缺陷严重性有四种级别,分别是:(1)严重级:致命的错误,造成系统崩溃、死机,或造成数据丢失、主要功能完全丧失等。当这种情况发生时,应设为最高优先级,需要立即修复错误,并停止进一步的测试行为。(2)较严重级:严重错误,指功能模块或特性没有实现,主要功能部分丧失,次要功能全部丧失,或致命的错误声明。(3)一般级:不太严重的错误,如次要功能模块丧失、提示信息不够准确、用户界面差和操作时间长等。设修复级别为次高优先级,在时间条件允许的情况下应修复。(4)建议级:一些小问题如有个别错别字、文字排版不整齐等,对功能几乎没有影响,软件产品仍可使用。设修复级别为最低优先级,可以修复也可以先发布产品。10、[答案]:D[解析]:软件缺陷有3种基本状态:激活状态(Active或Open)、已修正状态(Fixed或Resolves)、关闭或非激活状态(Close或Inactive)。11、[答案]:D[解析]:在软件开发的过程中,软件缺陷的产生是不可避免的。造成软件缺陷的主要因素有:技术问题、团队工作和软件本身。12、[答案]:B[解析]:根据软件测试原则:应充分注意测试中的群集现象,可知错误也有群集现象,由此可知本题模块中发现的错误数较多。13、[答案]:A[解析]:由测试原则:充分注意测试中的群集现象,可知在测试中应当对错误群集的程序段进行重点测试来提高测试的效率。再根据2-8原则,如果发现某一程序模块似乎比其他程序模块有更多的错误倾向时,则应当花费较多的时间和代价测试这个程序模块。14、[答案]:A[解析]:黑盒测试是一种重要的测试策略,又称为数据驱动的测试或输入/输出驱动的测试。使用这种测试方法时,将程序视为一个黑盒子,测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规格说明书正确运行的环境条件中。测试数据完全来源于软件规格说明。15、[答案]:D[解析]:白盒测试是对程序的逻辑结构进行检查,从中获得测试数据,所以说白盒测试是一种以程序内部的逻辑结构为基础的测试用例设计技术。16、[答案]:A[解析]:验证是检查软件开发的各个阶段过程活动的结果是否满足规格说明的描述,证实各阶段和阶段之间的逻辑协调性、完备性和正确性。确认是证实在一个给定的外部环境中软件的逻辑正确性,是否满足用户的要求。验证强调的是过程的正确性,确认强调的是产品的正确性。17、[答案]:B[解析]:测试需求在测试过程中起到指导性作用,所以测试需求必须是明确的,不能是模糊的、非完整的。18、[答案]:D[解析]:最新版国家标准《软件工程术语》(GB/T11457-2006)中将软件质量定义:软件产品中能满足给定需要的性质和特性的总体。19、[答案]:C[解析]:参见图1-1“Boehm质量模型”。20、[答案]:D[解析]:按照ISO/IEC9126-1:2001,软件质量特性可以分为内部质量、外部质量和使用质量特性。21、[答案]:C[解析]:两组发现的有效缺陷总数为40个,按照软件测试的2-8原则,可计算出总计缺陷约50个。22、[答案]: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)A.软件提供的功能是否丰富B.当执行耗时较长的任务时,软件是否能定时向用户提示当前任务完成的进度C.软件是否能够在多种操作系统环境下运行D.软件是否能在不同的硬件配置下运行5、以下说法中错误的是()。(D)A.软件配置项测试的目的是检验软件配置项与软件需求规格说明的一致性B.软件配置项测试一般由软件供方组织,由独立于软件开发的人员实施,软件开发人员配合C.软件配置项测试要求被测软件配置项已通过单元测试和集成测试D.软件配置项测试不得委托第三方实施6、软件测试按实施组织分,应该包括()。(A)①开发方测试②用户方测试③第三方测试④验收测试⑤确认测试A.①②③B.③④⑤C.①②④D.①②③④⑤7、把经过评审通过的各项需求转换为一个相应的体系结构,包括数据的体系结构、系统和软件的体系结构,这是软件生命周期()阶段的工作。(C)A.系统和需求定义B.编程和单元测试C.软件设计D.运行和维护8、对已经交付使用的软件产品进行维护,其目的是为了()。(D)A.增加软件的功能或功能上的变更B.增加软件的功能或功能上的变更,软件产品的工作环境发生变化,引起相应变化C.在软件使用过程中发现错误需要更正,软件产品的工作环境发生变化,引起相应变化D.增加软件的功能,或功能上的变更,在软件使用过程中发现错误需要更正,软件产品的工作环境发生变化,引起相应变化9、下列可以作为软件测试对象的是()。(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.集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试C.集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统D.系统测试是在真实或模拟系统运行环境下,检查完整的程序系统能否和相关硬件、外设、网络、系统软件和支持平台等进行正确配置与连接,并满足用户需求15、验收测试的定义是()。(C)A.由用户按照用户手册对软件进行测试以决定是否接收B.由某个测试机构代表用户按照需求说明书和用户手册对软件进行测试以决定是否接收C.按照软件任务书或 合同 劳动合同范本免费下载装修合同范本免费下载租赁合同免费下载房屋买卖合同下载劳务合同范本下载 、供需双方约定的验收依据进行测试,决定是否接收D.由开发方和用户按照用户手册执行软件验收16、在软件设计和编码过程中,下列将使软件更加容易理解和维护的做法为()。(C)A.良好的程序结构,有无文档均可B.使用标准或规定之外的语句C.编写详细正确的文档,采用良好的程序结构D.尽量减少程序中的注释二、论述题:1、简单说明传统的软件生命周期过程包括的几个阶段。答案解析1、[答案]:C[解析]:在设计阶段,测试的对象来自设计文档,主要采用的是评审的方式。2、[答案]:C[解析]:内部设计包括功能设计、系统结构设计和逻辑设计,界面设计属于外部设计。3、[答案]:B[解析]:逻辑设计规格说明属于内部设计规格说明,设计阶段的测试对象包括外部设计文档、内部设计文档、逻辑设计文档。4、[答案]:B[解析]:A选项中提到的软件功能是否丰富是根据软件需求决定的,C、D选项都是兼容性测试关注的范围。5、[答案]:D[解析]:软件配置项可以委托第三方实施。6、[答案]:A[解析]:验收测试与确认测试都是按照软件开发方式划分的测试类型。7、[答案]:C[解析]:开发人员在设计阶段把通过评审的各项需求转换为相应的体系结构,贯标中的每个组成部分都和某需求相对应。8、[答案]:D[解析]:增加软件功能或应对变更,修复在使用过程中发现的错误,应对工作环境变化产生的变更都属于维护阶段的工作:将软件投入使用,若发现问题,应适当进行更正。9、[答案]:D[解析]:需求规格说明和软件设计规格说明是设计阶段的测试对象,源程序是编码阶段单元的内容。10、[答案]:C[解析]:根据规划阶段的目的,可知为需求获取和定义阶段。11、[答案]:C[解析]:驱动模块相当于所测模块的主程序。它接收测试数据,把这些数据传送给所测模块,最后再输出实测结果。所以在单元测试时,由驱动模块来调用被测模块。12、[答案]:A[解析]:测试策划、测试设计均为测试执行前的准备阶段,而测试总结是测试完成后的阶段,所以测试执行是整个测试过程中必需的阶段。13、[答案]:B[解析]:传统的软件生命周期过程包括制定计划、系统与软件需求定义、软件设计、编程与单元测试、集成测试与系统测试、运行和维护等几个阶段。所以根据开发阶段划分测试分类为单元测试、集成测试、确认测试,产品交付之前和之后,分别需要系统测试和验收测试。14、[答案]:B[解析]:集成测试,通常在单元测试完成之后,将程序模块进行有序的、递增的测试,而不是所有的程序模块。15、[答案]:C[解析]:验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统。其目的是在真实的用户(或称系统)工作环境下检验完整的软件系统是否满足软件开发技术合同(或软件需求规格说明)规定的要求。其结论是软件的需方确定是否接收该软件的主要依据。验收测试以需方为主,但是不一定需要第三方测试机构代表用户来测试;验收测试强调的是根据需求来验证软件是否符合用户要求,所以选C。16、[答案]:C[解析]:代码的可读性是非常重要的,每个开发人员的编码风格都有所不同。程序良好的风格表现在源程序文档化、数据说明、语句结构和输入/输出4个方面。二、论述题参考答案:传统的软件生命周期过程包括制定计划、系统与软件需求定义、软件设计、编程与单元测试、集成测试与系统测试、运行和维护等几个阶段。第三章:桌面检查、代码检查、走查与评审一、选择题:1、桌面检查通常由()来实施。(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.越少越好C.1~2人D.4~7人13、下列关于代码检查小组组建过程的描述错误的是()。(C)A.协调人是整个代码检查工作的负责人B.小组成员可以由相关部门推荐C.检查小组必须全部来自开发部门D.检查人员的工作量不能超过25%以上14、下列选项中不属于代码检查过程中协调人的职责的是()。(A)A.在会议上对检查内容进行讲解B.组建检查小组C.确定检查是否可以结束D.改进检查过程15、下列选项中,不属于代码检查小组成员的是()。(C)A.开发人员B.协调人C.项目经理D.检查人员16、代码检查的两个阶段按照顺序分为()。(C)A.分发资料,执行检查B.执行检查, 评价 LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载 检查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.桌面检查小组在会议上检查程序员的代码27、在代码检查中,负责提供关于检查项目的资料并回答检查人员问题的角色是()。…………(B)A.协调人B.开发人员C.检查人员D.讲解员28、下列关于走查的说法不正确的是()。(A)A.走查的主要工作是由程序编写者本人来完成的B.走查与代码检查一样,都是以小组为单位进行的C.走查是一种走查小组集体扮演计算机角色检查源程序的方法D.走查是借助程序流程图来进行数据流和控制流的分析二、论述题:1、请简单描述一下桌面检查、代码走查和代码检查。答案解析1、[答案]:C[解析]:桌面检查是程序员对自己编写的代码进行的检查。2、[答案]:B[解析]:缓冲区溢出不是桌面检查的内容,一般需要在软件测试阶段才能发现。3、[答案]:C[解析]:常量的引用率不属于桌面检查中的常量检查内容。4、[答案]:A[解析]:桌面检查的文档是一种过渡性的文档,不是公开的正式文档。5、[答案]:B[解析]:能直接从表中查出说明/使用错误的引用表有:循环层次表、变量交叉引用表、标号交叉引用表等。常数表用于为用户提供辅助信息。6、[答案]:A[解析]:程序语句中的小括号配对属于表达式层次的括号配对错误,因此属于表达式错误。7、[答案]:C[解析]:引用异常的检测流程是:当扫描抵达一个出度大于1的节点V时,深度优先探测算法要求先检查最左分支的那一部分程序流程,然后再检查其他分支。在遍历最左分支之前,应把定义表与未引用表的当前内容用一个栈中恢复该节点定义表和未引用表的老的副本,然后再去遍历该节点的下一个分支。这个过程要继续到全部分支被检查完为止。8、[答案]:B[解析]:代码走查和代码检查以及评审都是采用会议的形式进行的,只有桌面检查是由程序员自己进行的。9、[答案]:D[解析]:协调人负责主持代码走查会议,是整个小组的组长。10、[答案]:B[解析]:设计测试用例是走查产品阶段的工作内容。11、[答案]:C[解析]:兼容性问题需要在系统测试阶段才能发现。12、[答案]:D[解析]:一般来说,代码检查小组的人员4~7人为最好。人太少则工作量大,质量难以把握;人太多则交流起来有困难,工作效率不高。13、[答案]:C[解析]:检查小组应该来自不同的部门,具有不同的技术领域经验,这样才能够发现更多的问题。14、[答案]:A[解析]:对检查内容的讲解是检查员的职责。15、[答案]:C[解析]:项目经理属于管理人员,一般不参与技术方面的检查工作。16、[答案]:C[解析]:代码检查分为个人准备和召开会议两个阶段,个人准备阶段由小组成员对资料进行熟悉,召开会议的过程则是执行检查过程。17、[答案]:B[解析]:辅助工具可以进行会议支持,项目管理人员可以使用计算机监控的个人准备时间信息来剔除那些没有做好个人准备的成员,或者督促他们投入更多的努力。18、[答案]:D[解析]:输入/输出错误检查内容包括:(1)文件属性是否正确。(2)OPEN语句是否正确。(3)I/O语句是否符合格式规范。(4)缓冲大小与记录大小是否匹配。(5)文件在使用前是否打开。(6)文件在使用后是否关闭。(7)文件结束条件是否被正确处理。(8)是否处理了I/O错误。19、[答案]:B[解析]:需求评审的人数一般比较多,代码评审一般只需要2个评审员。20、[答案]:C[解析]:抽查不是同行评审的内容,它属于质量检查过程中的一种技术。21、[答案]:B[解析]:可行性研究报告是项目立项前的文档,不属于同行评审的内容。22、[答案]:D[解析]:是否存在死循环属于控制流程错误。23、[答案]:A[解析]:预备会议可以起到提高评审质量的作用:评审会议一般以2小时为宜;评审报告还包括问题的严重程度和其他一些信息;作者负责缺陷的修复。24、[答案]:C[解析]:技术审查过程并不包括测试的内容,评审本身就是一种特殊的测试技术。25、[答案]:A[解析]:参见3.1.1节桌面检查的内容。26、[答案]:B[解析]:桌面检查就是程序员对自己的代码进行一次自我检查,“桌面检查”技术在众多行业中都存在,是人们对工作成果自我完善的一种技巧。27、[答案]:B[解析]:参见3.3.2节代码检查小组成员角色和职责开发人员职责。28、[答案]:A[解析]:代码走查由专门的走查小组完成,只有桌面检查由开发人员自己完成。二、论述题参考答案:桌面检查就是程序员对自己的代码进行一次自我检查。代码走查是成立一个代码走查小组,以会议的方式来检查代码,一般代码走查是项目内部展开的代码检查工作。代码检查是组成一个小组来对代码进行阅读,应用预先定义好的标准和检查技术,来检查已经编写好的程序和文档,发现错误和缺陷的过程。第四章:覆盖率(白盒)测试一、选择题:1、使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。(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.1B.2C.3D.44、以下程序的路径数为()条。(B)A.3B.6C.8D.12if(a>0){If(b>0)Result=a+b;}if(c>0)result+=1;5、数据流覆盖关注的是程序中某个变量从其声明、赋值到引用的变化情况,它是()的变种。(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;}A.2B.3C.4D.59、路径覆盖必定也满足()。(C)A.判定覆盖B.条件覆盖C.语句覆盖D.多条件覆盖10、在用逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等。其中()是最强的覆盖准则。(D)A.语句覆盖B.条件覆盖C.判定/条件覆盖D.路径覆盖11、白盒测试方法的优点是()。(C)A.可测试软件的特定部位B.能站在用户立场测试C.可按程序内部结构测试D.可发现实现功能需求中的错误12、白盒测试方法的缺点是()和()。(B)①不可测试软件的特定部位②不能发现功能需求中的错误/③无法检验软件的外部特性④无法测试未实现功能需求的软件的内部缺陷A.①②B.②③C.③④D.①④13、多条件覆盖是一种逻辑覆盖,它的含义是设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次,满足多条件覆盖级别的测试用例也是满足()级别的。…………(A)A.语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖B.判定覆盖、条件覆盖、条件判定组合覆盖、修正条件判定覆盖C.语句覆盖、判定覆盖、条件判定组合覆盖、修正条件判定覆盖D.路径覆盖、判定覆盖、条件覆盖、条件判定组合覆盖14、对于一个嵌套型分支结构的程序,若有4个判定语句,则要覆盖它的每一条路径至少需要的测试用例数为()个。(C)A.4B.3C.5D.615、关于数据流测试,说法正确的是()。(A)A.数据流测试是一种路径测试B.执行定义节点不会改变变量在存储单元中的内容C.执行使用节点会改变变量在存储单元中的内容D.定义/使用路径往往不是存在潜在的错误的地方16、如果一个判定句中的复合条件表达式为(A>1)or(B<=3),则为了达到100%的判定覆盖率,至少需要设计()个测试用例。(B)A.1B.2C.3D.417、下列几种逻辑覆盖标准中,设计足够的测试用例,运行被测程序,使得程序中所有可能的路径至少执行一次,称为()。(D)A.判定覆盖B.条件覆盖C.语句覆盖D.路径覆盖18、在程序控制流图中,有8条边、6个节点,则控制流图的环路复杂性V(G)等于()。…………(B)A.2B.4C.6D.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作为输入结束标志),计算其中有效的学生分数的个数、总分数和平均值。请针对该程序流程图进行基本路径覆盖测试用例设计。图4-6程序流程图答案解析1、[答案]:A[解析]:白盒测试是根据程序的内部逻辑来进行测试用例设计的。2、[答案]:D[解析]:覆盖率是反映代码被测试程度的一种指标,不是一种测试技术,因此无法协助找出代码中的语法错误。代码中的语法错误一般在程序编译阶段就已经由编译器检查出来,并需要得到修正后代码才能正确编译。3、[答案]:B[解析]:判定覆盖就是让程序中的每一个判定都取到真和假值一次。取测试用例(a=5,b=5,c=1)和(a=2,b=1,c=5)可以实现判定覆盖,测试用例如附表A-1所示。附表A-1满足判定覆盖测试用例 用例编号 a b c (a>=3)and(b<=6) (a>0)or(c<2) 1 5 5 1 T T 2 -2 1 5 F F4、[答案]:B[解析]:可以将所列出的程序看做一个嵌套的判定与一个普通判定串接,嵌套型的路径数为n+1,所以整个代码可以看做一个3路径判定和一个2路径判定的串接,所以总路径数为3×2=6条。5、[答案]:C[解析]:数据流覆盖关注路径中变量的变化,它是路径覆盖的一种变种。6、[答案]:D[解析]:节点n∈G(p)是变量v∈V的定义节点,当且仅当变量v的值在节点n对应的语句片段处定义,记做DEF(v,n)。输入语句、赋值语句、循环控制语句和过程调用都是定义语句的例子。7、[答案]:C[解析]:节点n∈G(p)是变量v∈V定义的节点,当且仅当变量v的值在节点n对应的语句片段处使用,记做USE(v,n)。输出语句、赋值语句、循环控制语句和过程调用都是使用语句的例子。8、[答案]:C[解析]:此程序属于嵌套型的条件语句,因此路径数=条件个数+1,得出程序的路径数为4.因此最少需要4个测试用例才能达到路径覆盖的标准。9、[答案]:C[解析]:路径覆盖的目标就是让程序的所有可能执行的路径都执行一遍,所以一定会将程序的所有语句都覆盖执行到。10、[答案]:D[解析]:路径覆盖的目标就是让程序的所有可能执行的路径都执行一遍,所以可以覆盖到所有场景,是最强的覆盖准则。11、[答案]:C[解析]:覆盖率(白盒)测试也称做结构或逻辑驱动测试,它需要知道程序的内部工作过程,可根据程序内部结构检验程序中每条通路是否都按预定要求正确工作,而不考虑整个程序功能。12、[答案]:B[解析]:白盒测试是根据程序内部结构检验程序中每条通路是否都按预定要求正确工作,而不考虑整个程序功能,所以白盒测试无法验证软件的外部特性和软件需求。13、[答案]:A[解析]:条件组合覆盖关注的是条件的取值,至于判定如何不在考虑范围。实际的情况是,满足多条件覆盖的测试用例同样也满足条件覆盖、判定覆盖和条件/判定覆盖,同时能保证所有的语句均被覆盖到。14、[答案]:C[解析]:圈复杂度等于判定节点的数量再加上1,所以V(G)==判定节点数+1=5+1=6。15、[答案]:A[解析]:数据流测试与路径测试的区别在于,路径测试基本上是从纯数学的角度来分析的;而数据流测试则是利用了变量之间的关系,通过定义使用路径和程序片得到一系列的测试指标用于衡量功能性测试的覆盖率,所以数据流测试不是一种路径测试。16、[答案]:B[解析]:判定覆盖需设计若干个测试用例,运行所测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。所以判断覆盖是保证所有的判断的真假各取一次,针对单个复合判断,只需要真假各取一次,所以只需要2个用例即可。17、[答案]:D[解析]:路径覆盖的目标就是让程序的所有可能执行的路径都执行一遍。18、[答案]:B[解析]:圈复杂度的计算公式为:v(G)=e-n+2=4.19、[答案]:D[解析]:判断覆盖是保证所有的判断的真假各取一次,针对单个复合判断,只需要真假各取一次,所以测试用例设计为真:x>10和y<20;假:x<10和y>20,所以可以选择D作为测试用例。20、[答案]: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满足多条件覆盖的测试用例 用例编号 a b c d a>2 B<3 c>4 d>5 1 0 5 0 5 F F F F 2 0 5 0 0 F F F T 3 0 5 5 5 F F T F 4 0 5 5 0 F F T T 5 0 0 0 5 F T F F 6 0 0 0 0 F T F T 7 0 0 5 5 F T T F 8 0 0 5 0 F T T T 9 5 5 0 5 T F F F 10 5 5 0 0 T F F T 11 5 5 5 5 T F T F 12 5 5 5 0 T F T T 13 5 0 0 5 T T F F 14 5 0 0 0 T T F T 15 5 0 5 5 T T T F 16 5 0 5 0 T T T T2、先将if(score>100||score<0)转换为if(score>100)level=-1 ;elseif(score<0)leve1=-1;else……再画出程序控制流图,圈复杂度v(G)=控制流图中独立区域的个数。[答案]:控制流图如附图A-1所示。附图A-1控制流图根据控制流图中的独立区域数可以得知圈复杂度v(G)=7.3、首先根据程序绘制程序流程图并标记路径编号,如附图A-2所示。附图A-2程序流程图按照简单循环的测试要求设计的测试用例如附表A-3所示。附表A-3测试用例表 循环次数 输入数据 对应的输出 i n A[i] A[i+1] A[i+2] k 执行路径 0 1 2 / / / i a,c 1 1 2 1 2 / i abefc 2 1 / i+1 abdfc 2 1 3 1 2 3 i abefbefc 2 3 1 i+2 abefbdfc 2 1 3 i+1 abdfbefc 3 2 1 i+2 abdfbdfc4、整个解题步骤如下:(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条独立的路径;路径1:1-2-9-10-12路径2:1-2-9-11-12路径3: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,2≤i≤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。注意:一些独立的路径往往不是完全孤立的,有时它是程序正常的控制流的一部分,这时,这些路径的测试可以是另一条路径测试的一部分。第五章:功能(黑盒)测试一、选择题:1、因果图中主要的原因和结果之间的关系不包括()。(D)A.恒等B.非C.或D.小于2、因果图中的约束关系不包括()。(B)A.互斥B.继承C.包含D.唯一3、等价划分测试 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 属于()。(A)A.黑盒测试B.玻璃箱测试C.单元测试D.错误推测4、黑盒测试方法的优点是()。(D)A.可测试软件的特定部位B.能站在用户立场测试C.可按软件内部结构测试D.可发现实现功能需求中的错误5、()方法根据输出对输入的依赖关系设计测试用例。(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,101B.1,2,99,100C.1,100D.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≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050。3、设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月有~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。请对日期检查功能进行等价类划分。4、输入三个整数a,b,c分别作为三边的连长构成三角形。通过程序判定是否构成三角形以及所构成的三角形的类型,分别输出“非三角形”、“一般三角形”、“等腰三角形”或“等边三角形”。用等价类划分方法为该程序设计测试用例。5、以下是学生选课系统中“学生查询成绩”交互行为的描述,请按要求回答问题。交互开始时终端上显示首页,用户选择“查询”请求后,显示“请输入学号”。在用户输入学号后,系统核对学生学号;若输入的学号不正确,则显示“输入的学号不正确”,此次查询取消,回到首页;若输入学号正确,则出现“请输入课程名”。一旦输入课程名,就开始核对课程名称;若输入的课程名不正确,则显示“输入的课程名不正确”此次查询取消,回到首页;若输入的课程名正确,则根据“学号”和“课程名”查询学生成绩。若查询学生成绩成功,则显示查询到的成绩,系统询问是否继续查询;当用户选择“继续查询”后回到“请输入学号”;当用户选择“结束查询”后回到首页。若查询成绩失败,则显示“查询失败”后回到首页。(1)请画出该系统以上交互行为的状态图(应满足功能图的要求,不可画成流程图)。(2)用基本路径测试方法确定该状态图的测试路径。6、请列出图5-4中的所有场景。图5-4用例的场景答案解析1、[答案]:D[解析]:原因和结果之间的关系主要包括恒等、与、或和非。2、[答案]:B[解析]:因果图中的约束有互斥、包含、唯一、要求和屏蔽。继承是面向对象程序设计中了类与父类之间的关系。3、[答案]:A[解析]:等价类划分是黑盒测试的一种技术。4、[答案]:D[解析]:黑盒测试的参考依据是软件需求规格说明,所以执行黑盒测试可以发现功能中与需求不一致的地方。5、[答案]:C[解析]:因果图是用来表示输入(原因)与结果之间的关系,可以被用来设计测试用例。6、[答案]:C[解析]:如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从各种不同角度违反规则)。7、[答案]:B[解析]:边界值分析假定错误更多地存在于划分的边界上,所以测试数据等价类的典型值不适合作为边界值的测试值。8、[答案]:A[解析]:如果输入条件规定了值的个数,则用最小个数、最大个数、比最小个数少一、比最大个数多一的数作为测试数据。所以选择A。9、[答案]:B[解析]:在因果图方法中用到的是决策表。10、[答案]:A[解析]:灰盒测试=白盒测试+黑盒测试。11、[答案]:B[解析]:条件桩(ConditionStuB.:列出了问题的所有条件,通常认为列出的条件的次序无关紧要)。12、[答案]:B[解析]:参见5.2.1节等价类划分概念与步骤。13、[答案]:B[解析]:参见5.2.2节等价类划分原则。二、论述题参考答案:1、边界值测试用例的设计如附表A-4所示。附表A-4边界值测试用例的设计 测试用例 a b c 预期输出 Test1Test2Test3Test4Test5 6060605050 6060605050 126099100 等腰三角形等腰三角形等腰三角形等腰三角形非三角形 Test6Test7Test8Test9 60605050 1299100 60605050 等腰三角形等腰三角形等腰三角形非三角形 Test10Test11Test12Test13 1299100 60605050 60605050 等腰三角形等腰三角形等腰三角形非三角形
本文档为【软件测试题库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
DNSJDS
暂无简介~
格式:doc
大小:774KB
软件:Word
页数:0
分类:
上传时间:2020-03-11
浏览量:6