《软件测试技术》 刘文乐 天秋成 编著 课后答案 第1章 软件测试概述课后答案
《软件测试技术基础教程》习题解答
![《软件测试技术基础教程》习题解答](https://img.taocdn.com/s3/m/e8f68a5d48d7c1c708a145c8.png)
第一章软件测试理论一、选择题1. 软件测试的目的是 C 。
A.表明软件的正确性B.评价软件质量C.尽可能发现软件中的错误D.判定软件是否合格2. 下面关于软件测试的说法, A 是错误的。
A.软件测试是程序测试B.软件测试贯穿于软件定义和开发的整个期间C.需求规格说明、设计规格说明都是软件测试的对象D.程序是软件测试的对象3. 某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:①经过自己测试的软件今后不会再出现问题;②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;③承诺不需要其他人员,自己就可以独立进行测试工作;④发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休;你认为应聘者甲的保证 B 。
A.①、④是正确的B.②是正确的C.都是正确的D.都不正确4. 软件测试的对象包括 B 。
A.目标程序和相关文档B.源程序、目标程序、数据及相关文档C.目标程序、操作系统和平台软件D.源程序和目标程序5. 导致软件缺陷的原因有很多,①-④是可能的原因,其中最主要的原因包括 D 。
①软件需求说明书编写的不全面,不完整,不准确,而且经常更改②软件设计说明书③软件操作人员的水平④开发人员不能很好的理解需求说明书和沟通不足A.①、②、③B.①、③C.②、③D.①、④二、简答题1.简述软件测试发展的历史及软件测试的现状。
参考答案:软件测试是伴随着软件的产生而产生的。
在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。
到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。
在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA或者SQA部门。
后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。
软件测试技术课后答案
![软件测试技术课后答案](https://img.taocdn.com/s3/m/e99614a471fe910ef02df820.png)
软件测试技术课后答案【篇一:软件测试习题答案】测试的目的是( ).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)证明程序正确性 d)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是( ).a)语句覆盖 b)判定覆盖 c)条件覆盖 d)条件组合覆盖10.在黑盒测试中,着重检查输入条件组合的方法是( ).a)等价类划分法 b)边界值分析法 c)错误推测法 d)因果图法11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( ).a)系统功能 b)局部数据结构 c)重要的执行路径 d)错误处理12.软件测试过程中的集成测试主要是为了发现( )阶段的错误.a)需求分析 b)概要设计 c)详细设计 d)编码13.不属于白盒测试的技术是( ).a)路径覆盖 b)判定覆盖 c)循环覆盖 d)边界值分析14.集成测试时,能较早发现高层模块接口错误的测试方法为( ).a)自顶向下渐增式测试 b)自底向上渐增式测试 c)非渐增式测试 d)系统测试15.确认测试以( )文档作为测试的基础.a)需求规格说明书 b)设计说明书 c)源程序 d)开发计划16.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准.a)程序内部逻辑 b)程序的复杂度 c)使用说明书 d)程序的功能17.程序的三种基本结构是( ).a)过程子,程序,分程序 b)顺序,选择,循环c)递归,堆栈,队列 d)调用,返回,转移18.结构化程序设计的一种基本方法是( )a)筛选法 b)递归法 c)归纳法 d)逐步求精法19.软件调试的目的是( )a)找出错误所在并改正之 b)排除存在错误的可能性c)对错误性质进行分类 d)统计出错的次数20.程序三种基本结构的共同特点是( )a)不能嵌套使用 b)只能用来写简单程序c)已经用硬件实现 d)只有一个入口和一个出口21.下面说法正确的是( ).a)经过测试没有发现错误说明程序正确 b)测试的目标是为了证明程序没有错误c)成功的测试是发现了迄今尚未发现的错误的测试 d)成功的测试是没有发现错误的测试22.覆盖准则最强的是( ).a)语句覆盖 b)判定覆盖c)条件覆盖 d)路径覆盖23.发现错误能力最弱的是( ).a)语句覆盖 b)判定覆盖c)条件覆盖 d)路径覆盖24.实际的逻辑覆盖测试中,一般以( )为主设计测试用例.a)条件覆盖 b)判定覆盖c)条件组合覆盖 d)路径覆盖25.下面( )方法能够有效地检测输入条件的各种组合可能引起的错误.a)等价类划分 b)边界值分析c)错误推测 d)因果图26.与确认测试阶段有关的文档是( ).a)需求规格说明书 b)概要设计说明书c)详细设计说明书 d)源程序27.超出软件工程范围的测试是( ).a)单元测试 b)集成测试c)确认测试 d)系统测试28.软件测试不需要了解软件设计的( ).a)功能 b)内部结构c)处理过程 d)条件29.( )方法需要考察模块间的接口和各模块之间的联系.a)单元测试 b)集成测试c)确认测试 d)系统测试30.调试应该由( )完成.a)与源程序无关的程序员 b)编制该源程序的程序员c)不了解软件设计的机构 d)设计该软件的机构31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的( )上.a)配置项 b)程序 c)基线 d)过程32.版本管理是对系统不同版本进行的( )过程a)标识与跟踪 b)标识变更 c)发布变更 d)控制变更33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( ).a)异步控制 b)同步控制c)存取控制 d)基线控制34. 在配置管理中,登入和检出处理实现了两个重要的变更控制要素,即同步控制和( ).a)异步控制 b)同步控制c)基线控制 d)存取控制35. 按照软件配置管理的原始指导思想,受控制的对象应是( ).a)软件元素 b)软件配置项c)软件项目 d)软件过程36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( ).a)接口 b)软件环境 c)信息项 d)版本37.在变更控制中,可用来确保由不同用户所执行的并发控制是( ).a)异步控制 b)同步控制 c)存取控制 d)基线控制38.以下说法错误的是( ).a)软件配置管理简称scib)软件配置项是配置管理的基本单位c)软件配置实际上是一动态的概念d)软件工程过程中某一阶段的变更均要引起软件配置的变更39.在设计人机界面时,应主要考虑的因素有( ).系统响应时间 b)错误处理 c)用户求助机制 d)以上都是40.人机界面的风格大致经过了( )代的演变a)一 b)二 c)三 d) 四二、填空题1.软件测试的目的是尽可能多地发现软件中存在的(),将()作为纠错的依据.2.测试阶段的基本任务是根据软件开发各阶段的()和程序的(),精心设计一组(),利用这些实例执行(),找出种()和().3.测试用例由()和预期的()两部分组成.4.软件测试方法一般分为两大类:()方法和()方法.5.动态测试通过()发现错误.根据()的设计方法不同,动态测试又分为()与()两类.6.静态测试采用()和()的手段对程序进行检测.7.人工审查程序偏重于()的检验,而软件审查除了审查()还要对各阶段()进行检验.8.计算机辅助静态分析利用()工具对测试程序进行()分析.9.黑盒法只在软件的()处进行测试,依据()说明书,检查程序是否满足()要求.10.白盒法必须考虑程序的()和(),以检查()的细节为基础,对程序中尽可能多的逻辑路径进行().11.白盒测试是()测试,被测对象是(),以程序的()为基础设计测试用例.12.逻辑覆盖是对程序内部有()存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为(),(),()()6种覆盖技术.13.实际的逻辑覆盖测试中,一般以()覆盖为主设计测试用例,然后再补充部分用例,以达到()覆盖测试标准.14.循环覆盖是对程序内部有()存在的逻辑结构设计测试用例,它通过限制()来测试.15.基本路径测试是在程序()基础上,通过分析控制构造的()复杂性,导出()集合,从而设计测试用例.16.黑盒测试是()测试,用黑盒技术设计测试用例有4种方法:(),(),()和() .17.等价类划分从程序的()说明,找出一个输入条件通常是()或(),然后将每个输入条件划分成两个或多个()18.边界值分析是将测试()情况作为重点目标,选取正好等于,刚刚大于或刚刚小于()的测试数据.如果输入或输出域是则应选取集合的()元素和()元素作为测试用例.19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为().20.因果图的基本原理是通过画()图,把用自然语言描述的()转换为(),最后为()每一列设计一个测试用例.21.测试的综合策略是在测试中,联合使用各种()方法.通常先用()法设计基本的测试用例,再用()法补充一些必要22.软件测试过程中需要3类信息:(),()和().23.软件测试一般经过4个测试: () , () , ()和() .24. 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错和()的文档. 25.单元测试主要测试的5个基本特征: () , () , () , ()和() .26.在单元测试中,需要为被测模块设计()模块和()模块. ()用来模拟被测模块的上级调用模块, ()用来代替的模块.27.集成测试指在()测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试.也称()测试或()测28.集成测试的方法有两种: ()和() .29.渐增式测试有两种不同的组装模块的方法: ()和().30.自顶向下渐增式测试不需要编写()模块,只需要编写()模块,其步骤是从()模块开始,沿着被测程序的()步向下测试,它有两种组合策略: ()和().31.自底向上渐增式测试不需要编写()模块,只需要编写()模块.32.确认测试指检查软件的()与()是否与()说明书中确定的指标相符合,又称()测试.33.确认测试在模拟环境下运用()测试方法,由()和()参加的测试.34.确认测试开始前需要制定()计划,结束后要写出()报告.其测试用例要选用()的数据.35.软件配置审查的任务是检查软件的所有文档资料的()和() .36.调试也称() ,是在成功的测试之后才开始进行,其目的是确定错误的()和() ,并改正错误.37.调试技术包括() , () , ()和().39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为()测试.40.用等价类划分法设计一个测试用例时,使其覆盖()尚未被覆盖的合理等价类.41.用等价类划分法设计一个测试用例时,使其覆盖()不合理等价类.42.在单元测试时,需要为被测模块设计() .43.在集成测试时有两种测试方法,它们是().44.软件测试是为了()而执行程序的过程.45.运行被测程序的方法称为()测试.46.动态测试中,主要测试软件功能的方法称为()法.47.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为() .48.要覆盖含循环结构的所有路径是不可能的,一般通过限制()来测试.49.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和().50.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是() .51.集成测试中的具体方法是() .52.确认测试阶段的两项工作是() .53.在单元测试中,测试一个模块时,需要设计() .54.软件配置管理,简称scm,它用于整个软件工程过程.其主要目标是: (), () , (), () .55.scm是一组管理整个软件生存期各阶段中()的活动.56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果.因此,基线可以作为项目的一个() .三、名词解释1.软件测试2.静态测试3.动态测试4.黑盒测试5.白盒测试6.语句覆盖7.判定覆盖8.条件覆盖9.判定/条件覆盖10.条件组合覆盖【篇二:软件测试习题答案】>一.简答题和应用题:1测试人员面试题01.为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件的质量,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
软件测试技术课后答案
![软件测试技术课后答案](https://img.taocdn.com/s3/m/e99614a471fe910ef02df820.png)
软件测试技术课后答案【篇一:软件测试习题答案】测试的目的是( ).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)证明程序正确性 d)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是( ).a)语句覆盖 b)判定覆盖 c)条件覆盖 d)条件组合覆盖10.在黑盒测试中,着重检查输入条件组合的方法是( ).a)等价类划分法 b)边界值分析法 c)错误推测法 d)因果图法11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( ).a)系统功能 b)局部数据结构 c)重要的执行路径 d)错误处理12.软件测试过程中的集成测试主要是为了发现( )阶段的错误.a)需求分析 b)概要设计 c)详细设计 d)编码13.不属于白盒测试的技术是( ).a)路径覆盖 b)判定覆盖 c)循环覆盖 d)边界值分析14.集成测试时,能较早发现高层模块接口错误的测试方法为( ).a)自顶向下渐增式测试 b)自底向上渐增式测试 c)非渐增式测试 d)系统测试15.确认测试以( )文档作为测试的基础.a)需求规格说明书 b)设计说明书 c)源程序 d)开发计划16.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准.a)程序内部逻辑 b)程序的复杂度 c)使用说明书 d)程序的功能17.程序的三种基本结构是( ).a)过程子,程序,分程序 b)顺序,选择,循环c)递归,堆栈,队列 d)调用,返回,转移18.结构化程序设计的一种基本方法是( )a)筛选法 b)递归法 c)归纳法 d)逐步求精法19.软件调试的目的是( )a)找出错误所在并改正之 b)排除存在错误的可能性c)对错误性质进行分类 d)统计出错的次数20.程序三种基本结构的共同特点是( )a)不能嵌套使用 b)只能用来写简单程序c)已经用硬件实现 d)只有一个入口和一个出口21.下面说法正确的是( ).a)经过测试没有发现错误说明程序正确 b)测试的目标是为了证明程序没有错误c)成功的测试是发现了迄今尚未发现的错误的测试 d)成功的测试是没有发现错误的测试22.覆盖准则最强的是( ).a)语句覆盖 b)判定覆盖c)条件覆盖 d)路径覆盖23.发现错误能力最弱的是( ).a)语句覆盖 b)判定覆盖c)条件覆盖 d)路径覆盖24.实际的逻辑覆盖测试中,一般以( )为主设计测试用例.a)条件覆盖 b)判定覆盖c)条件组合覆盖 d)路径覆盖25.下面( )方法能够有效地检测输入条件的各种组合可能引起的错误.a)等价类划分 b)边界值分析c)错误推测 d)因果图26.与确认测试阶段有关的文档是( ).a)需求规格说明书 b)概要设计说明书c)详细设计说明书 d)源程序27.超出软件工程范围的测试是( ).a)单元测试 b)集成测试c)确认测试 d)系统测试28.软件测试不需要了解软件设计的( ).a)功能 b)内部结构c)处理过程 d)条件29.( )方法需要考察模块间的接口和各模块之间的联系.a)单元测试 b)集成测试c)确认测试 d)系统测试30.调试应该由( )完成.a)与源程序无关的程序员 b)编制该源程序的程序员c)不了解软件设计的机构 d)设计该软件的机构31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的( )上.a)配置项 b)程序 c)基线 d)过程32.版本管理是对系统不同版本进行的( )过程a)标识与跟踪 b)标识变更 c)发布变更 d)控制变更33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( ).a)异步控制 b)同步控制c)存取控制 d)基线控制34. 在配置管理中,登入和检出处理实现了两个重要的变更控制要素,即同步控制和( ).a)异步控制 b)同步控制c)基线控制 d)存取控制35. 按照软件配置管理的原始指导思想,受控制的对象应是( ).a)软件元素 b)软件配置项c)软件项目 d)软件过程36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( ).a)接口 b)软件环境 c)信息项 d)版本37.在变更控制中,可用来确保由不同用户所执行的并发控制是( ).a)异步控制 b)同步控制 c)存取控制 d)基线控制38.以下说法错误的是( ).a)软件配置管理简称scib)软件配置项是配置管理的基本单位c)软件配置实际上是一动态的概念d)软件工程过程中某一阶段的变更均要引起软件配置的变更39.在设计人机界面时,应主要考虑的因素有( ).系统响应时间 b)错误处理 c)用户求助机制 d)以上都是40.人机界面的风格大致经过了( )代的演变a)一 b)二 c)三 d) 四二、填空题1.软件测试的目的是尽可能多地发现软件中存在的(),将()作为纠错的依据.2.测试阶段的基本任务是根据软件开发各阶段的()和程序的(),精心设计一组(),利用这些实例执行(),找出种()和().3.测试用例由()和预期的()两部分组成.4.软件测试方法一般分为两大类:()方法和()方法.5.动态测试通过()发现错误.根据()的设计方法不同,动态测试又分为()与()两类.6.静态测试采用()和()的手段对程序进行检测.7.人工审查程序偏重于()的检验,而软件审查除了审查()还要对各阶段()进行检验.8.计算机辅助静态分析利用()工具对测试程序进行()分析.9.黑盒法只在软件的()处进行测试,依据()说明书,检查程序是否满足()要求.10.白盒法必须考虑程序的()和(),以检查()的细节为基础,对程序中尽可能多的逻辑路径进行().11.白盒测试是()测试,被测对象是(),以程序的()为基础设计测试用例.12.逻辑覆盖是对程序内部有()存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为(),(),()()6种覆盖技术.13.实际的逻辑覆盖测试中,一般以()覆盖为主设计测试用例,然后再补充部分用例,以达到()覆盖测试标准.14.循环覆盖是对程序内部有()存在的逻辑结构设计测试用例,它通过限制()来测试.15.基本路径测试是在程序()基础上,通过分析控制构造的()复杂性,导出()集合,从而设计测试用例.16.黑盒测试是()测试,用黑盒技术设计测试用例有4种方法:(),(),()和() .17.等价类划分从程序的()说明,找出一个输入条件通常是()或(),然后将每个输入条件划分成两个或多个()18.边界值分析是将测试()情况作为重点目标,选取正好等于,刚刚大于或刚刚小于()的测试数据.如果输入或输出域是则应选取集合的()元素和()元素作为测试用例.19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为().20.因果图的基本原理是通过画()图,把用自然语言描述的()转换为(),最后为()每一列设计一个测试用例.21.测试的综合策略是在测试中,联合使用各种()方法.通常先用()法设计基本的测试用例,再用()法补充一些必要22.软件测试过程中需要3类信息:(),()和().23.软件测试一般经过4个测试: () , () , ()和() .24. 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错和()的文档. 25.单元测试主要测试的5个基本特征: () , () , () , ()和() .26.在单元测试中,需要为被测模块设计()模块和()模块. ()用来模拟被测模块的上级调用模块, ()用来代替的模块.27.集成测试指在()测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试.也称()测试或()测28.集成测试的方法有两种: ()和() .29.渐增式测试有两种不同的组装模块的方法: ()和().30.自顶向下渐增式测试不需要编写()模块,只需要编写()模块,其步骤是从()模块开始,沿着被测程序的()步向下测试,它有两种组合策略: ()和().31.自底向上渐增式测试不需要编写()模块,只需要编写()模块.32.确认测试指检查软件的()与()是否与()说明书中确定的指标相符合,又称()测试.33.确认测试在模拟环境下运用()测试方法,由()和()参加的测试.34.确认测试开始前需要制定()计划,结束后要写出()报告.其测试用例要选用()的数据.35.软件配置审查的任务是检查软件的所有文档资料的()和() .36.调试也称() ,是在成功的测试之后才开始进行,其目的是确定错误的()和() ,并改正错误.37.调试技术包括() , () , ()和().39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为()测试.40.用等价类划分法设计一个测试用例时,使其覆盖()尚未被覆盖的合理等价类.41.用等价类划分法设计一个测试用例时,使其覆盖()不合理等价类.42.在单元测试时,需要为被测模块设计() .43.在集成测试时有两种测试方法,它们是().44.软件测试是为了()而执行程序的过程.45.运行被测程序的方法称为()测试.46.动态测试中,主要测试软件功能的方法称为()法.47.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为() .48.要覆盖含循环结构的所有路径是不可能的,一般通过限制()来测试.49.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和().50.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是() .51.集成测试中的具体方法是() .52.确认测试阶段的两项工作是() .53.在单元测试中,测试一个模块时,需要设计() .54.软件配置管理,简称scm,它用于整个软件工程过程.其主要目标是: (), () , (), () .55.scm是一组管理整个软件生存期各阶段中()的活动.56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果.因此,基线可以作为项目的一个() .三、名词解释1.软件测试2.静态测试3.动态测试4.黑盒测试5.白盒测试6.语句覆盖7.判定覆盖8.条件覆盖9.判定/条件覆盖10.条件组合覆盖【篇二:软件测试习题答案】>一.简答题和应用题:1测试人员面试题01.为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件的质量,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
习题参考答案
![习题参考答案](https://img.taocdn.com/s3/m/272c90bb4693daef5ef73dcb.png)
本书习题参考答案第1章软件测试概述1. 软件具有几个特点,请详细说明。
软件具有8个特点:(1) 软件是一种逻辑实体,而不是具体的物理实体。
因而它具有抽象性。
(2) 软件的生产与硬件不同,它没有明显的制造过程。
对软件的质量控制,必须着重在软件开发方面下功夫。
(3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
然而它存在退化问题,必须要对其进行多次的修改与维护。
(4) 软件的开发和运行常常受到计算机系统的制约,对计算机系统有着不同程度的依赖性。
为了解除这种依赖性,在软件开发中提出了软件移植的问题。
(5) 软件的开发至今尚未完全摆脱人工艺的开发方式。
(6) 软件本身是复杂的。
软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。
(7) 软件成本相当昂贵。
软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本是比较高的。
(8) 相当多的软件工作涉及到社会因素。
许多软件的开发和运行涉及机构、体制及管理方式等问题,它直接影响到项目的成败。
2.软件的分类方法都有哪些软件的分类方法有如下 4种:(1)按软件的功能分类(系统软件,支撑软件,应用软件)(2)按软件服务对象的范围分类(项目软件,市场软件)(3)按开发软件所需要的人力、时间以及完成的源程序行数分类。
(大型,小型,中型,微型)(4)按软件工作方式分类按软件的工作方式分为:实时处理软件、分时软件、交互式软件、批处理软件。
3. 软件测试的概念软件测试是软件工程中的一个环节,是开发项目整体的一部分。
软件测试是有计划有组织的,是保证软件质量的一种手段,它是软件工程中一个非常重要的环节。
因此,可以认为它是伴随软件工程的诞生而诞生的,伴随着软件复杂程度的增加、规模的增大,软件测试作为一种能够保证软件质量的有效手段,越来越受到人们的重视,软件测试最终目的是使产品达到完美。
4. 软件测试的方法有哪些软件的测试方法有3种,即用试题测试、用新旧两个系统作平行处理测试和软件测试自动化工具测试。
Chapter 01_软件测试概述
![Chapter 01_软件测试概述](https://img.taocdn.com/s3/m/a10033190b4e767f5acfce59.png)
如何学好这门课
向有经验的测试人员学习 阅读相关的软件测试书籍 走读缺陷管理库中的问题报告单 走读相关产品的历史测试用例 学习产品相பைடு நூலகம்的业务知识 利用已有的软件修改记录 自己尝试编写用例
软件测试职业发展
初级测试 工程师
中级测试
工程师
高级测试 工程师
测试管理者
开发工程师
独立的软件测试 软件测试 概念 第一次定义
80年代软件行业飞速发展,软件规模、复杂度都 增大,人们开始关注质量。 83年IEEE定义: 使用人工或自动的手段来运行或测量软件系统的 过程,目的是检验软件系统是否满足规定的需求, 并找出与预期结果之间的差异。 90年代,出现了各种开发模式, TDD(Test Driven Development) ,)出现
软件测试工程师的素质
责任心
沟通能力 团队合作精神 耐心、细心和信心 保持怀疑的态度,有缺陷预防的意识 不断学习的能力
合格的测试工程师
软件测试已经形成了一个独立的技术学科,软件测试技术不断 更新和完善,新工具、新流程、新的测试设计方法都在不断更新。 合格的测试工程师应具有的能力: 一般能力:包括表达、交流、协调、管理、质量意识、软件开 发过程方法、软件工程等 测试技能及方法:包括测试基本概念及方法、对测试工具的掌 握、对专业测试标准的熟悉程度等 测试规划能力:包括风险分析及防范能力、测试目标及计划的 制定能力等 测试执行能力:包括测试数据/脚本/用例的制定能力、测试比 较及分析能力、缺陷记录及处理能力 测试分析、报告和改进能力:包括测试度量、统计技术、测试
口将超过20万,在未来5到10年中这一数字还将继续增大。
在软件产业中,目前有两年工作经验的软件测试人员的月薪一般都能 够达到4000~5000。(软件测试人员的薪水主要还要看其工作经验及能力) 在企业内部,软件测试工程师基本处于“双高”地位,即地位高、待 遇高,有的人月薪可高达七八千元。可以说职业前景非常广阔,从近期的 企业人才需求和薪金水平来看,软件测试工程师的年工资有逐年上升的明 显迹象。
(整理)《软件测试技术》 刘文乐 天秋成 编著 课后答案 第1章 软件测试概述课后答案
![(整理)《软件测试技术》 刘文乐 天秋成 编著 课后答案 第1章 软件测试概述课后答案](https://img.taocdn.com/s3/m/3f6610f583d049649b6658ed.png)
第1章软件测试概述1.5 习题一、名词解释软件缺陷:又被叫做Bug。
所谓软件缺陷,即为计算机软件或程序中存在的某种破坏软件正常运行的问题、错误,或者隐藏的功能缺陷。
软件测试:利用人工或者自动手段按照测试方案和流程对产品进行功能和性能测试的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
它是识别开发的(中间或最终)软件(整体或部分)的正确度、完全度和质量的过程。
V模型:描述基本的开发过程和测试行为,其价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。
W模型:W模型由两个V字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系。
X模型:X模型的左边,描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终合成为可执行的程序。
右上半部分,这些可执行程序还需要进行测试。
已通过集成测试的成品可以封版,并提交给用户,也可以作为更大规模和范围内集成的一部分。
多根并行的曲线表示变更可以在各个部分发生。
H模型:在H模型中,软件测试过程的活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进入到测试执行阶段。
软件测试可以尽早的进行,并且可以根据被测对象的不同而分层次进行。
二、填空题1、软件的测试不仅仅是对程序的测试,而且软件的测试应贯穿于整个软件生命周期。
在软件定义阶段产生的可行性报告、项目实施计划、软件需求说明书或系统功能说明书,在软件开发阶段产生的概要设计说明书、详细设计说明书,以及源程序等都是软件测试的对象。
2、软件测试的目的,就是检验软件是否满足任务书或合同等规定的软件质量要求。
简言之,测试的目的应该是满足用户。
3、软件测试模型,主要包括V模型、W模型、X模型、H模型和前置模型。
4、按软件生存周期划分,软件测试可分为:软件测试可分为:定义阶段测试、开发阶段测试、运行阶段测试、维护阶段测试。
《软件测试》课后习题答案
![《软件测试》课后习题答案](https://img.taocdn.com/s3/m/432bd22326fff705cc170afe.png)
课后习题答案第1章一、单选题1、B2、C3、A4、B5、A二、填空题1、规格说明书检查清单2、①引言②测试概要③测试内容及执行情况④缺陷统计与分析⑤测试结论与建议3、测试是以评价一个程序或者系统属性为目标的任何一种活动。
测试是对软件质量的度量。
4、与整个开发流程融合成一体5、①软件测试过程是为了发现程序中的错误。
②设计出好的测试方案和测试用例才能发现迄今为止尚未发现的错误。
③软件测试中通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。
④软件测试中对错误的分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性。
⑤测试中即使没有发现错误的也是有价值的,完整的测试是评定软件质量的一种方法。
三、简答题1、①评测测试需求②制定测试计划③设计测试用例④执行测试⑤编写测试报告2、测试计划包括:①确定测试内容②制定测试规则③设定测试环境④安排测试任务⑤计划实施⑥风险管理。
主要作用是:测试工作是软件开发过程中不可缺少的组成部分,在软件开发工作的开始阶段就要制定好软件测试计划,作为软件开发保障性的工作。
第2章一、填空题1、包括等价类划分法、边界值分析法、因果图与决策法、正交试验设计法。
2、等价类。
3、区分有效等价类与无效等价类两种情况。
4、边界值分析法。
5、恒等、非、与。
二、单选题1、D2、C3、B三、简答题1、等价类要区分有效等价类与无效等价类两种情况。
在划分等价类时需要遵守以下原则:(1)按区间划分(2)按限制条件或规则划分(3)按数值划分(4)细分等价类。
2、它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交实验设计是一种高效率、快速、经济的实验设计方法。
3、分析出原因和结果原因:1、年薪制2、非年薪制3、严重违规4、一般过失结果:11、扣当月5%12、扣年终2%13、扣当月8%14、扣年终5%画出决策图:阴影部分表示因违反约束条件(2~3、5、14~15违反年薪制约束,4、8、9、12违反惩罚约束,1、16同时违反前面两种约束)而不可能出现的情况因此删去。
软件测试技术课后答案
![软件测试技术课后答案](https://img.taocdn.com/s3/m/e99614a471fe910ef02df820.png)
软件测试技术课后答案【篇一:软件测试习题答案】测试的目的是( ).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)证明程序正确性 d)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是( ).a)语句覆盖 b)判定覆盖 c)条件覆盖 d)条件组合覆盖10.在黑盒测试中,着重检查输入条件组合的方法是( ).a)等价类划分法 b)边界值分析法 c)错误推测法 d)因果图法11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( ).a)系统功能 b)局部数据结构 c)重要的执行路径 d)错误处理12.软件测试过程中的集成测试主要是为了发现( )阶段的错误.a)需求分析 b)概要设计 c)详细设计 d)编码13.不属于白盒测试的技术是( ).a)路径覆盖 b)判定覆盖 c)循环覆盖 d)边界值分析14.集成测试时,能较早发现高层模块接口错误的测试方法为( ).a)自顶向下渐增式测试 b)自底向上渐增式测试 c)非渐增式测试 d)系统测试15.确认测试以( )文档作为测试的基础.a)需求规格说明书 b)设计说明书 c)源程序 d)开发计划16.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准.a)程序内部逻辑 b)程序的复杂度 c)使用说明书 d)程序的功能17.程序的三种基本结构是( ).a)过程子,程序,分程序 b)顺序,选择,循环c)递归,堆栈,队列 d)调用,返回,转移18.结构化程序设计的一种基本方法是( )a)筛选法 b)递归法 c)归纳法 d)逐步求精法19.软件调试的目的是( )a)找出错误所在并改正之 b)排除存在错误的可能性c)对错误性质进行分类 d)统计出错的次数20.程序三种基本结构的共同特点是( )a)不能嵌套使用 b)只能用来写简单程序c)已经用硬件实现 d)只有一个入口和一个出口21.下面说法正确的是( ).a)经过测试没有发现错误说明程序正确 b)测试的目标是为了证明程序没有错误c)成功的测试是发现了迄今尚未发现的错误的测试 d)成功的测试是没有发现错误的测试22.覆盖准则最强的是( ).a)语句覆盖 b)判定覆盖c)条件覆盖 d)路径覆盖23.发现错误能力最弱的是( ).a)语句覆盖 b)判定覆盖c)条件覆盖 d)路径覆盖24.实际的逻辑覆盖测试中,一般以( )为主设计测试用例.a)条件覆盖 b)判定覆盖c)条件组合覆盖 d)路径覆盖25.下面( )方法能够有效地检测输入条件的各种组合可能引起的错误.a)等价类划分 b)边界值分析c)错误推测 d)因果图26.与确认测试阶段有关的文档是( ).a)需求规格说明书 b)概要设计说明书c)详细设计说明书 d)源程序27.超出软件工程范围的测试是( ).a)单元测试 b)集成测试c)确认测试 d)系统测试28.软件测试不需要了解软件设计的( ).a)功能 b)内部结构c)处理过程 d)条件29.( )方法需要考察模块间的接口和各模块之间的联系.a)单元测试 b)集成测试c)确认测试 d)系统测试30.调试应该由( )完成.a)与源程序无关的程序员 b)编制该源程序的程序员c)不了解软件设计的机构 d)设计该软件的机构31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的( )上.a)配置项 b)程序 c)基线 d)过程32.版本管理是对系统不同版本进行的( )过程a)标识与跟踪 b)标识变更 c)发布变更 d)控制变更33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( ).a)异步控制 b)同步控制c)存取控制 d)基线控制34. 在配置管理中,登入和检出处理实现了两个重要的变更控制要素,即同步控制和( ).a)异步控制 b)同步控制c)基线控制 d)存取控制35. 按照软件配置管理的原始指导思想,受控制的对象应是( ).a)软件元素 b)软件配置项c)软件项目 d)软件过程36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( ).a)接口 b)软件环境 c)信息项 d)版本37.在变更控制中,可用来确保由不同用户所执行的并发控制是( ).a)异步控制 b)同步控制 c)存取控制 d)基线控制38.以下说法错误的是( ).a)软件配置管理简称scib)软件配置项是配置管理的基本单位c)软件配置实际上是一动态的概念d)软件工程过程中某一阶段的变更均要引起软件配置的变更39.在设计人机界面时,应主要考虑的因素有( ).系统响应时间 b)错误处理 c)用户求助机制 d)以上都是40.人机界面的风格大致经过了( )代的演变a)一 b)二 c)三 d) 四二、填空题1.软件测试的目的是尽可能多地发现软件中存在的(),将()作为纠错的依据.2.测试阶段的基本任务是根据软件开发各阶段的()和程序的(),精心设计一组(),利用这些实例执行(),找出种()和().3.测试用例由()和预期的()两部分组成.4.软件测试方法一般分为两大类:()方法和()方法.5.动态测试通过()发现错误.根据()的设计方法不同,动态测试又分为()与()两类.6.静态测试采用()和()的手段对程序进行检测.7.人工审查程序偏重于()的检验,而软件审查除了审查()还要对各阶段()进行检验.8.计算机辅助静态分析利用()工具对测试程序进行()分析.9.黑盒法只在软件的()处进行测试,依据()说明书,检查程序是否满足()要求.10.白盒法必须考虑程序的()和(),以检查()的细节为基础,对程序中尽可能多的逻辑路径进行().11.白盒测试是()测试,被测对象是(),以程序的()为基础设计测试用例.12.逻辑覆盖是对程序内部有()存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为(),(),()()6种覆盖技术.13.实际的逻辑覆盖测试中,一般以()覆盖为主设计测试用例,然后再补充部分用例,以达到()覆盖测试标准.14.循环覆盖是对程序内部有()存在的逻辑结构设计测试用例,它通过限制()来测试.15.基本路径测试是在程序()基础上,通过分析控制构造的()复杂性,导出()集合,从而设计测试用例.16.黑盒测试是()测试,用黑盒技术设计测试用例有4种方法:(),(),()和() .17.等价类划分从程序的()说明,找出一个输入条件通常是()或(),然后将每个输入条件划分成两个或多个()18.边界值分析是将测试()情况作为重点目标,选取正好等于,刚刚大于或刚刚小于()的测试数据.如果输入或输出域是则应选取集合的()元素和()元素作为测试用例.19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为().20.因果图的基本原理是通过画()图,把用自然语言描述的()转换为(),最后为()每一列设计一个测试用例.21.测试的综合策略是在测试中,联合使用各种()方法.通常先用()法设计基本的测试用例,再用()法补充一些必要22.软件测试过程中需要3类信息:(),()和().23.软件测试一般经过4个测试: () , () , ()和() .24. 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错和()的文档. 25.单元测试主要测试的5个基本特征: () , () , () , ()和() .26.在单元测试中,需要为被测模块设计()模块和()模块. ()用来模拟被测模块的上级调用模块, ()用来代替的模块.27.集成测试指在()测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试.也称()测试或()测28.集成测试的方法有两种: ()和() .29.渐增式测试有两种不同的组装模块的方法: ()和().30.自顶向下渐增式测试不需要编写()模块,只需要编写()模块,其步骤是从()模块开始,沿着被测程序的()步向下测试,它有两种组合策略: ()和().31.自底向上渐增式测试不需要编写()模块,只需要编写()模块.32.确认测试指检查软件的()与()是否与()说明书中确定的指标相符合,又称()测试.33.确认测试在模拟环境下运用()测试方法,由()和()参加的测试.34.确认测试开始前需要制定()计划,结束后要写出()报告.其测试用例要选用()的数据.35.软件配置审查的任务是检查软件的所有文档资料的()和() .36.调试也称() ,是在成功的测试之后才开始进行,其目的是确定错误的()和() ,并改正错误.37.调试技术包括() , () , ()和().39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为()测试.40.用等价类划分法设计一个测试用例时,使其覆盖()尚未被覆盖的合理等价类.41.用等价类划分法设计一个测试用例时,使其覆盖()不合理等价类.42.在单元测试时,需要为被测模块设计() .43.在集成测试时有两种测试方法,它们是().44.软件测试是为了()而执行程序的过程.45.运行被测程序的方法称为()测试.46.动态测试中,主要测试软件功能的方法称为()法.47.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为() .48.要覆盖含循环结构的所有路径是不可能的,一般通过限制()来测试.49.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和().50.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是() .51.集成测试中的具体方法是() .52.确认测试阶段的两项工作是() .53.在单元测试中,测试一个模块时,需要设计() .54.软件配置管理,简称scm,它用于整个软件工程过程.其主要目标是: (), () , (), () .55.scm是一组管理整个软件生存期各阶段中()的活动.56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果.因此,基线可以作为项目的一个() .三、名词解释1.软件测试2.静态测试3.动态测试4.黑盒测试5.白盒测试6.语句覆盖7.判定覆盖8.条件覆盖9.判定/条件覆盖10.条件组合覆盖【篇二:软件测试习题答案】>一.简答题和应用题:1测试人员面试题01.为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件的质量,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
软件测试技术 课后习题答案
![软件测试技术 课后习题答案](https://img.taocdn.com/s3/m/c758197b590216fc700abb68a98271fe900eaf4a.png)
软件测试技术课后习题答案1. 什么是软件测试?软件测试是指在软件开发过程中,通过执行软件系统或组件,来评估其是否满足特定的需求和预期的质量标准的过程。
其目的是发现软件中的错误、缺陷和风险,从而提高软件的可靠性和质量。
2. 为什么需要进行软件测试?软件测试的目的是为了确保软件的可靠性和质量。
软件开发过程中难免会出现错误和缺陷,而这些错误和缺陷如果没有被及时发现和纠正,可能会导致软件运行时出现错误,甚至导致系统崩溃。
软件测试的目的是发现这些错误和缺陷,从而在软件发布之前将其修复,确保软件能够按照预期功能和质量要求运行。
3. 软件测试的基本原则有哪些?软件测试的基本原则包括:•完整性:测试应该尽可能覆盖软件的所有功能和执行路径。
•相互独立性:各个测试用例之间应该相互独立,一个测试用例的执行不应该影响到其他测试用例。
•可追踪性:每个测试用例都应该能够追溯到一个需求或一个特定的功能点,以确保测试的覆盖程度。
•可重复性:测试用例应该能够重复执行,以确保测试结果的一致性。
•及时性:测试应该在合适的时间进行,例如在开发过程中及时进行单元测试,而不是等到软件开发完成再进行集成测试或系统测试。
•客观性:测试应该客观地评估软件的质量,不受个人主观因素的影响。
4. 软件测试的基本步骤是什么?软件测试的基本步骤包括:1.需求分析:分析软件的需求,明确软件的功能和质量要求。
2.测试计划:制定测试计划,明确测试的目标、范围、方法和进度。
3.测试设计:设计测试用例,覆盖软件的各个功能和执行路径。
4.测试执行:执行测试用例,记录测试结果和错误信息。
5.错误修复:开发团队根据测试结果修复错误和缺陷。
6.重复测试:重新执行经过修复的测试用例,确认错误是否被修复。
7.测试报告:根据测试结果生成测试报告,评估软件的质量。
8.测试完成:经过多轮测试和修复后,确认软件达到预期的质量要求。
5. 什么是黑盒测试和白盒测试?黑盒测试是一种测试方法,测试人员只关注软件的输入和输出,而不考虑软件的内部结构和实现细节。
软件测试技术基础课后习题答案
![软件测试技术基础课后习题答案](https://img.taocdn.com/s3/m/2c8126c6fe4733687f21aa2d.png)
第1章软件测试概述1.简述软件测试得意义。
解:随着计算机技术得迅速发展与广泛深入得应用,软件质量问题已成为开发与使用软件人员关注得焦点。
而由于软件本身得特性,软件中得错误就是不开避免得。
不断改进得开发技术与工具只能减少错误得发生,但就是却不可能完全避免错误。
因此为了保证软件质量,必须对软件进行测试。
软件测试就是软件开发中必不可少得环节,就是最有效得排除与防治软件缺陷得手段,就是保证软件质量、提高软件可靠性得最重要手段。
2.什么就是软件缺陷?它得表现形式有哪些?解:从产品内部瞧,软件缺陷就是软件产品开发或维护过程中所存在得错误、毛病等各种问题;从外部瞧,软件缺陷就是系统所需实现得某种功能得失效或违背。
它得表现形式主要有以下几种:(1)软件未达到产品说明书中已经标明得功能;(2)软件出现了产品说明书中指明不会出现得错误;(3)软件未达到产品说明书中虽未指出但应当达到得目标;(4)软件功能超出了产品说明书中指出得范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。
3.简单分析软件缺陷产生得原因,其中那个阶段引入得缺陷最多,修复成本又最低?解:软件缺陷产生得主要原因有:需求规格说明错误;设计错误;程序代码有误;其她。
其中在需求分析阶段引入得缺陷最多,修复得成本又最低。
当用户登录某网站购物完毕并退出后,忽然想查查购物时付账得总金额,于就是按了浏览器左上角得“退回”按钮,就又回到了退出前得网页,您认为该购物软件有缺陷吗?如果有,属于哪一类?解:有缺陷。
其所属类别与软件产品说明书得要求有关。
5.什么就是软件测试?简述其目得与原则。
解:软件测试就是为了尽快尽早地发现在软件产品中所存在得各种软件缺陷而展开得贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行验证与确认得活动过程。
测试目得:(1)证明:获取系统在可接受风险范围内可用得信心;尝试在非正常情况与条件下得功能与特性;保证一个工作产品就是完整得并且可用或可被集成。
习题参考答案-软件测试技术(第2版)-谭凤-清华大学出版社
![习题参考答案-软件测试技术(第2版)-谭凤-清华大学出版社](https://img.taocdn.com/s3/m/ca99a918da38376bae1faecb.png)
《软件测试技术》习题参考答案第1章软件测试基础一、判断题1、验证意味着确保软件正确无误地实现软件的需求,开发过程是沿着正确的方向进行。
(T )2、调试的目的是发现bug。
(F )3、软件缺陷主要来自产品说明书的编写和产品方案设计。
(T )4、在实际的软件测试工作中,不论采用什么方法,由于软件测试情况数量极其巨大,都不可能进行完全彻底的测试。
(T )5、测试人员可以不懂编程。
( F )二、选择题1、软件是程序和(B )的集合。
A、代码B、文档C、测试用例D、测试2、严重的软件缺陷的产生主要源自(A)。
A、需求B、设计C、编码D、测试3、Fixed的意思是指:( C )A、该BUG没有被修复,并且得到了测试人员的确认B、该BUG被拒绝了,并且得到了测试人员的确认C、该BUG被修复了,并且得到了测试人员的确认D、该BUG被关闭了,并且得到了测试人员的确认4、降低缺陷费用最有效的方法是(B )。
A、测试尽可能全面B、尽可能早的开始测试C、测试尽可能深入D、让用户进行测试5、以下不属于应用系统中的缺陷类型的是:( B )。
A、不恰当的需求解释B、用户指定的错误需求C、设计人员的习惯不好D、不正确的程序规格说明三、简答题1、请简述一条软件缺陷(或者叫Bug)记录都包含了哪些内容?2、请简述软件测试的定义?第2章软件测试类型一、判断题1、软件测试的目的是尽可能多的找出软件的缺陷。
( T )2、好的测试方案是极可能发现迄今为止尚未发现的错误。
(T )3、测试人员要坚持原则,缺陷未修复完坚决不予通过。
( F )4、负载测试是验证要检验的系统的能力最高能达到什么程度。
( F )5、V模型不能适应较大的需求变化。
( T )二、选择题1、测试环境中不包括的内容是( A )A、测试所需文档资料B、测试所需硬件环境C、测试所需软件环境D、测试所需网络环境2、某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证:(1)经过自己测试的软件今后不会再出现问题(2)在工作中对所有程序员一视同仁,不会因为某个程序编写的程序发现的问题多,就重点审查该程序,以免不利于团结(3)承诺不需要其他人员,自己就可以独立进行测试工作(4)发扬咬定青山不放松的精神,不把所有问题都找出来,绝不罢休根据自己所学的软件测试知识,应聘者甲的保证( D )A、(1)(4)是正确的B、(2)是正确的C、都是正确的D、都是错误的3、用不同的方法可将软件测试分为白盒法和黑盒法,或者(C)和静态测试。
软件测试课后答案
![软件测试课后答案](https://img.taocdn.com/s3/m/1cb66364fab069dc51220173.png)
第一章引论3、软件测试与开发的关系是怎样的为什么这么说答:软件测试和软件开发构成一个全过程的交互、协作之关系,两者自始至终一起工作,共同致力于同一个目标:按时、高质量的完成项目。
【补充题】补1、软件测试要在编程完成后才能开始,这种观点对吗说明原因。
答:P11补2、V模型,测试阶段与开发阶段的对应关系。
答:P11第二章软件测试的基本概念2、如何理解软件质量和软件缺陷的对立统一关系答:P14缺陷是质量的对立面,要了解什么是缺陷(defect),就必须清楚“质量(Quality)”概念,因为缺陷是相对质量而存在的,违背了质量、违背了客户的意愿,不能满足客户的要求,就会引起缺陷或产生缺陷。
5、需求分析、系统设计所存在的问题在软件缺陷中占有较大比例,对软件开发和测试工作有何启发答:P21要尽早发现需求工程、软件设计等各个方面的问题,减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期的缺陷发现。
【补充题】补1、根据统计数据,缺陷发现越早,修复缺陷的代价越小,这种现象对于软件测试有什么启示(P20)第三章软件测试方法3、针对国内18位身份证号验证,通过等价类划分法设计测试用例。
解:(1)等价类划分表(1)输入40088,覆盖(1)(7)(9)(12);2)输入4009X,覆盖(2)(7)(9)(12);3)输入4009,覆盖(3);4)输入400999,覆盖(4);5)输入AB0203C,覆盖(5)(6);6)输入000000,覆盖(8);7)输入40099,覆盖(10);8)输入40099,覆盖(11);9)输入40099,覆盖(13)。
6、针对程序流程图(图略),用最少的测试用例完成各种逻辑覆盖和路径覆盖的测试设计。
解题要点:分别回答语句覆盖、判定覆盖、条件覆盖、路径覆盖。
其中:前三种逻辑覆盖可以用同样的两个测试用例覆盖(假设图中向右分支为True分支;如果标注向右分支为False分支,语句覆盖可以用一个用例);路径覆盖需要三个用例(两个判定均为True的路径不可能覆盖)。
软件测试技术课后答案
![软件测试技术课后答案](https://img.taocdn.com/s3/m/11926e568f9951e79b89680203d8ce2f01666550.png)
软件测试技术课后答案软件测试技术课后答案【篇一:软件测试习题答案】测试的目的是( ).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)证明程序正确性 d)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是( ).a)语句覆盖 b)判定覆盖 c)条件覆盖 d)条件组合覆盖10.在黑盒测试中,着重检查输入条件组合的方法是( ).a)等价类划分法 b)边界值分析法 c)错误推测法 d)因果图法11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( ).a)系统功能 b)局部数据结构 c)重要的执行路径 d)错误处理12.软件测试过程中的集成测试主要是为了发现( )阶段的错误.a)需求分析 b)概要设计 c)详细设计 d)编码13.不属于白盒测试的技术是( ).a)路径覆盖 b)判定覆盖 c)循环覆盖 d)边界值分析14.集成测试时,能较早发现高层模块接口错误的测试方法为( ).a)自顶向下渐增式测试 b)自底向上渐增式测试 c)非渐增式测试 d)系统测试15.确认测试以( )文档作为测试的基础.a)需求规格说明书 b)设计说明书 c)源程序 d)开发计划16.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准.a)程序内部逻辑 b)程序的复杂度 c)使用说明书 d)程序的功能17.程序的三种基本结构是( ).a)过程子,程序,分程序 b)顺序,选择,循环c)递归,堆栈,队列 d)调用,返回,转移18.结构化程序设计的一种基本方法是( )a)筛选法 b)递归法 c)归纳法 d)逐步求精法19.软件调试的目的是( )a)找出错误所在并改正之 b)排除存在错误的可能性c)对错误性质进行分类 d)统计出错的次数20.程序三种基本结构的共同特点是( )a)不能嵌套使用 b)只能用来写简单程序c)已经用硬件实现 d)只有一个入口和一个出口21.下面说法正确的是( ).a)经过测试没有发现错误说明程序正确b)测试的目标是为了证明程序没有错误c)成功的测试是发现了迄今尚未发现的错误的测试d)成功的测试是没有发现错误的测试22.覆盖准则最强的是( ).a)语句覆盖 b)判定覆盖c)条件覆盖 d)路径覆盖23.发现错误能力最弱的是( ).a)语句覆盖 b)判定覆盖c)条件覆盖 d)路径覆盖24.实际的逻辑覆盖测试中,一般以( )为主设计测试用例.a)条件覆盖 b)判定覆盖c)条件组合覆盖 d)路径覆盖25.下面( )方法能够有效地检测输入条件的各种组合可能引起的错误.a)等价类划分 b)边界值分析c)错误推测 d)因果图26.与确认测试阶段有关的文档是( ).a)需求规格说明书 b)概要设计说明书c)详细设计说明书 d)源程序27.超出软件工程范围的测试是( ).a)单元测试 b)集成测试c)确认测试 d)系统测试28.软件测试不需要了解软件设计的( ).a)功能 b)内部结构c)处理过程 d)条件29.( )方法需要考察模块间的接口和各模块之间的联系.a)单元测试 b)集成测试c)确认测试 d)系统测试30.调试应该由( )完成.a)与源程序无关的程序员 b)编制该源程序的程序员c)不了解软件设计的机构 d)设计该软件的机构31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的( )上.a)配置项 b)程序 c)基线 d)过程32.版本管理是对系统不同版本进行的( )过程a)标识与跟踪 b)标识变更 c)发布变更 d)控制变更33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( ).a)异步控制 b)同步控制c)存取控制 d)基线控制34. 在配置管理中,登入和检出处理实现了两个重要的变更控制要素,即同步控制和( ).a)异步控制 b)同步控制c)基线控制 d)存取控制35. 按照软件配置管理的原始指导思想,受控制的对象应是( ).a)软件元素 b)软件配置项c)软件项目 d)软件过程36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( ).a)接口 b)软件环境 c)信息项 d)版本37.在变更控制中,可用来确保由不同用户所执行的并发控制是( ).a)异步控制 b)同步控制 c)存取控制 d)基线控制38.以下说法错误的是( ).a)软件配置管理简称scib)软件配置项是配置管理的基本单位c)软件配置实际上是一动态的概念d)软件工程过程中某一阶段的变更均要引起软件配置的变更39.在设计人机界面时,应主要考虑的因素有( ).系统响应时间 b)错误处理 c)用户求助机制 d)以上都是40.人机界面的风格大致经过了( )代的演变a)一 b)二 c)三 d) 四二、填空题1.软件测试的目的是尽可能多地发现软件中存在的(),将()作为纠错的依据.2.测试阶段的基本任务是根据软件开发各阶段的()和程序的(),精心设计一组(),利用这些实例执行(),找出种()和().3.测试用例由()和预期的()两部分组成.4.软件测试方法一般分为两大类:()方法和()方法.5.动态测试通过()发现错误.根据()的设计方法不同,动态测试又分为()与()两类.6.静态测试采用()和()的手段对程序进行检测.7.人工审查程序偏重于()的检验,而软件审查除了审查()还要对各阶段()进行检验.8.计算机辅助静态分析利用()工具对测试程序进行()分析.9.黑盒法只在软件的()处进行测试,依据()说明书,检查程序是否满足()要求.10.白盒法必须考虑程序的()和(),以检查()的细节为基础,对程序中尽可能多的逻辑路径进行().11.白盒测试是()测试,被测对象是(),以程序的()为基础设计测试用例.12.逻辑覆盖是对程序内部有()存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为(),(),()()6种覆盖技术.13.实际的逻辑覆盖测试中,一般以()覆盖为主设计测试用例,然后再补充部分用例,以达到()覆盖测试标准.14.循环覆盖是对程序内部有()存在的逻辑结构设计测试用例,它通过限制()来测试.15.基本路径测试是在程序()基础上,通过分析控制构造的()复杂性,导出()集合,从而设计测试用例.16.黑盒测试是()测试,用黑盒技术设计测试用例有4种方法:(),(),()和() .17.等价类划分从程序的()说明,找出一个输入条件通常是()或(),然后将每个输入条件划分成两个或多个()18.边界值分析是将测试()情况作为重点目标,选取正好等于,刚刚大于或刚刚小于()的测试数据.如果输入或输出域是则应选取集合的()元素和()元素作为测试用例.19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为().20.因果图的基本原理是通过画()图,把用自然语言描述的()转换为(),最后为()每一列设计一个测试用例.21.测试的综合策略是在测试中,联合使用各种()方法.通常先用()法设计基本的测试用例,再用()法补充一些必要22.软件测试过程中需要3类信息:(),()和().23.软件测试一般经过4个测试: () , () , ()和() .24. 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错和()的文档. 25.单元测试主要测试的5个基本特征: () , () , () , ()和() .26.在单元测试中,需要为被测模块设计()模块和()模块. ()用来模拟被测模块的上级调用模块, ()用来代替的模块.27.集成测试指在()测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试.也称()测试或()测28.集成测试的方法有两种: ()和() .29.渐增式测试有两种不同的组装模块的方法: ()和().30.自顶向下渐增式测试不需要编写()模块,只需要编写()模块,其步骤是从()模块开始,沿着被测程序的()步向下测试,它有两种组合策略: ()和().31.自底向上渐增式测试不需要编写()模块,只需要编写()模块.32.确认测试指检查软件的()与()是否与()说明书中确定的指标相符合,又称()测试.33.确认测试在模拟环境下运用()测试方法,由()和()参加的测试.34.确认测试开始前需要制定()计划,结束后要写出()报告.其测试用例要选用()的数据.35.软件配置审查的任务是检查软件的所有文档资料的()和() .36.调试也称(),是在成功的测试之后才开始进行,其目的是确定错误的()和() ,并改正错误.37.调试技术包括() , () , ()和().39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为()测试.40.用等价类划分法设计一个测试用例时,使其覆盖()尚未被覆盖的合理等价类.41.用等价类划分法设计一个测试用例时,使其覆盖()不合理等价类.42.在单元测试时,需要为被测模块设计() .43.在集成测试时有两种测试方法,它们是().44.软件测试是为了()而执行程序的过程.45.运行被测程序的方法称为()测试.46.动态测试中,主要测试软件功能的方法称为()法.47.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为() .48.要覆盖含循环结构的所有路径是不可能的,一般通过限制()来测试.49.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和().50.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是() .51.集成测试中的具体方法是() .52.确认测试阶段的两项工作是() .53.在单元测试中,测试一个模块时,需要设计() .54.软件配置管理,简称scm,它用于整个软件工程过程.其主要目标是: (), () , (), () .55.scm是一组管理整个软件生存期各阶段中()的活动.56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果.因此,基线可以作为项目的一个() .三、名词解释1.软件测试2.静态测试3.动态测试4.黑盒测试5.白盒测试6.语句覆盖7.判定覆盖8.条件覆盖9.判定/条件覆盖10.条件组合覆盖【篇二:软件测试习题答案】>一.简答题和应用题:1测试人员面试题01.为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件的质量,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
软件测试技术 课后习题答案
![软件测试技术 课后习题答案](https://img.taocdn.com/s3/m/1989bd04326c1eb91a37f111f18583d048640f11.png)
软件测试技术课后习题答案1. 什么是软件测试?软件测试是指用于评估软件质量、发现缺陷并提供有关软件产品的信息的过程。
它涉及检查和验证软件系统的各个方面,以确保其符合预期的功能需求、性能要求和可靠性要求。
2. 为什么软件测试至关重要?软件测试是确保软件质量的重要环节,它可以帮助我们:•发现和纠正软件中的缺陷和错误。
•提高软件的可靠性、效率和稳定性。
•减少软件开发过程中的成本和风险。
•增强用户对软件的信任和满意度。
3. 软件测试的主要原则有哪些?软件测试的主要原则包括:•早期测试:测试应尽早开始,并与开发过程的各个阶段相结合。
•全面测试:测试应涵盖软件的所有功能、性能和边界条件。
•自动化测试:利用合适的测试工具和脚本自动执行测试过程。
•追溯性:测试案例应与需求文档相对应,并追踪测试的进展和覆盖范围。
•重复性:测试应能够重复执行,并提供一致的结果。
4. 软件测试的主要类型有哪些?软件测试的主要类型包括:•功能测试:验证软件的各项功能是否符合需求。
•性能测试:评估软件在不同负载条件下的性能表现。
•安全测试:检查软件的安全漏洞和弱点,以保护数据和用户隐私。
•兼容性测试:测试软件在不同平台、操作系统和浏览器上的兼容性。
•用户界面测试:验证软件的用户界面是否易用和符合设计规范。
5. 软件测试的基本步骤是什么?软件测试的基本步骤包括:1.测试计划:制定测试目标、范围、资源和时间计划。
2.测试设计:根据需求文档制定测试策略和测试案例。
3.测试实施:执行测试案例,记录测试结果和发现的缺陷。
4.缺陷跟踪:跟踪和管理发现的缺陷,确保及时修复。
5.测试评估:评估软件的测试覆盖率和质量,制定测试报告。
6.测试闭环:根据评估结果进行改进,并重复以上步骤。
6. 什么是黑盒测试和白盒测试?•黑盒测试:基于需求规格说明书,通过输入和输出来测试软件的功能是否符合预期。
测试人员不需要了解系统的内部工作原理。
•白盒测试:测试人员需要了解系统的内部结构和代码来设计测试用例,以确保软件在各个代码路径上的正确性。
软件测试课后答案
![软件测试课后答案](https://img.taocdn.com/s3/m/afe52571b8f67c1cfad6b8a2.png)
第一章引论3、软件测试与开发的关系就是怎样的?为什么这么说?答:软件测试与软件开发构成一个全过程的交互、协作之关系,两者自始至终一起工作,共同致力于同一个目标:按时、高质量的完成项目。
【补充题】补1、软件测试要在编程完成后才能开始,这种观点对不?说明原因。
答:P11补2、V模型,测试阶段与开发阶段的对应关系。
答:P11第二章软件测试的基本概念2、如何理解软件质量与软件缺陷的对立统一关系?答:P14缺陷就是质量的对立面,要了解什么就是缺陷(defect),就必须清楚“质量(Quality)”概念,因为缺陷就是相对质量而存在的,违背了质量、违背了客户的意愿,不能满足客户的要求,就会引起缺陷或产生缺陷。
5、需求分析、系统设计所存在的问题在软件缺陷中占有较大比例,对软件开发与测试工作有何启发?答:P21要尽早发现需求工程、软件设计等各个方面的问题,减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期的缺陷发现。
【补充题】补1、根据统计数据,缺陷发现越早,修复缺陷的代价越小,这种现象对于软件测试有什么启示?(P20)第三章软件测试方法3、针对国内18位身份证号验证,通过等价类划分法设计测试用例。
解:1)输入4180088,覆盖(1)(7)(9)(12);2)输入418009X,覆盖(2)(7)(9)(12);3)输入418009,覆盖(3);4)输入41800999,覆盖(4);5)输入AB8009C,覆盖(5)(6);6)输入8080099,覆盖(8);7)输入4180099,覆盖(10);8)输入4180099,覆盖(11);9)输入4180099,覆盖(13)。
6、针对程序流程图(图略),用最少的测试用例完成各种逻辑覆盖与路径覆盖的测试设计。
解题要点:分别回答语句覆盖、判定覆盖、条件覆盖、路径覆盖。
其中:前三种逻辑覆盖可以用同样的两个测试用例覆盖(假设图中向右分支为True 分支;如果标注向右分支为False分支,语句覆盖可以用一个用例);路径覆盖需要三个用例(两个判定均为True的路径不可能覆盖)。
软件测试教程课后答案
![软件测试教程课后答案](https://img.taocdn.com/s3/m/86f912ff3086bceb19e8b8f67c1cfad6195fe937.png)
软件测试教程课后答案软件测试教程课后答案【篇一:软件测试习题答案】>一.简答题和应用题:1测试人员面试题01.为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件的质量,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
02.您认为做好测试用例设计工作的关键是什么?白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。
不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。
2.什么是软件测试?答:软件测试是为了发现错误而执行程序的过程。
或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
3.比较软件测试过程和软件开发过程?逐逐步步细集化成4.比较白盒测试和黑盒测试?使用白盒测试方法时,确定测试数据应根据程序的内部逻辑和指定的覆盖标准;黑盒测试法是通过分析程序的接口功能来设计测试用例的。
5.简述软件测试的步骤?软件测试的复杂性分析;软件测试方法与策略;单元测试;集成测试;确认测试;验收测试;测试后的调试;面向对象的软件测试!6.什么是测试用例答:测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。
测试用例是执行的最小实体。
7.软件测试的步骤答:单元测试、集成测试、系统测试、确认测试(产品发布)定义时期:问题定义,可行性研究;开发时期:需求分析,软件设计,编码,测试;维护时期:维护;8.qtp工具使用流程答:录制测试脚本,编辑测试(结构化)脚本(专家视图),调试测试脚本,运行测试脚本,分析测试结果(qtp自动产生测试报告)9.了解4-5中软件测试类型二.填空题:1.单元测试是以详细设计说明书为指导,测试源程序代码;集成测试以概要设计说明书为指导,测试软件结构;确认测试以需求分析说明书为指导。
软件测试课后答案
![软件测试课后答案](https://img.taocdn.com/s3/m/e7668efefad6195f302ba676.png)
软件测试课后答案(总10页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第一章引论3、软件测试与开发的关系是怎样的为什么这么说答:软件测试和软件开发构成一个全过程的交互、协作之关系,两者自始至终一起工作,共同致力于同一个目标:按时、高质量的完成项目。
【补充题】补1、软件测试要在编程完成后才能开始,这种观点对吗说明原因。
答:P11补2、V模型,测试阶段与开发阶段的对应关系。
答:P11第二章软件测试的基本概念2、如何理解软件质量和软件缺陷的对立统一关系答:P14缺陷是质量的对立面,要了解什么是缺陷(defect),就必须清楚“质量(Quality)”概念,因为缺陷是相对质量而存在的,违背了质量、违背了客户的意愿,不能满足客户的要求,就会引起缺陷或产生缺陷。
5、需求分析、系统设计所存在的问题在软件缺陷中占有较大比例,对软件开发和测试工作有何启发答:P21要尽早发现需求工程、软件设计等各个方面的问题,减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期的缺陷发现。
【补充题】补1、根据统计数据,缺陷发现越早,修复缺陷的代价越小,这种现象对于软件测试有什么启示(P20)第三章软件测试方法3、针对国内18位身份证号验证,通过等价类划分法设计测试用例。
解:((1)输入40088,覆盖(1)(7)(9)(12);2)输入4009X,覆盖(2)(7)(9)(12);3)输入4009,覆盖(3);4)输入400999,覆盖(4);5)输入AB0203C,覆盖(5)(6);6)输入000000,覆盖(8);7)输入40099,覆盖(10);8)输入40099,覆盖(11);9)输入40099,覆盖(13)。
6、针对程序流程图(图略),用最少的测试用例完成各种逻辑覆盖和路径覆盖的测试设计。
解题要点:分别回答语句覆盖、判定覆盖、条件覆盖、路径覆盖。
其中:前三种逻辑覆盖可以用同样的两个测试用例覆盖(假设图中向右分支为True分支;如果标注向右分支为False分支,语句覆盖可以用一个用例);路径覆盖需要三个用例(两个判定均为True的路径不可能覆盖)。
软件测试技术习题参考答案
![软件测试技术习题参考答案](https://img.taocdn.com/s3/m/2843feed0740be1e640e9a37.png)
第1章软件测试概述1、简述软件缺点含义。
答: 软件缺点是软件开发过程中潜在缺点, 这些缺点可能在软件运行后出现, 所以使软件性能和可靠性等方面与系统设计需求不符。
2、说明软件缺点、软件错误和软件失败关系。
答: 缺点、缺点、偏差统称为缺点, 是软件故障根源; 错误、谬误、问题、异常、矛盾等统称为错误, 软件错误出现原因是软件缺点所致; 失败、事故、灾难统称失败, 失败直接原因是软件系统存在软件错误。
14、“软件测试是有风险工作”, 试解释这种说法含义。
答: 软件不测试, 就会有风险; 软件测试, 一样也会有风险。
因为, 软件是个复杂系统, 其复杂性表现在软件实现内容复杂性、开发过程复杂性和组织工作复杂性等方面。
而软件测试目是为了发觉故障, 并加以排除。
对一个复杂软件系统来说, 故障排除往往可能又带来新软件缺点。
所以, 软件测试又会带来一定风险。
第2章软件测试基础2、条件覆盖是否高于判定覆盖逻辑覆盖程度?假如不是, 请给出反例加以说明。
答: 条件覆盖是高于判定覆盖逻辑覆盖程度。
a、用条件覆盖所设计测试用例可使得程序中每一个判定每一个条件可能取值最少实施一次。
b、用判定覆盖所设计测试用例可使被测程序中每个判定真分支和假分支最少经历一次。
每个判定语句可能包含多个条件(比如, if(A>3 && B<7)……)。
条件覆盖针对判定语句每一个条件全部可能取值编写测试用例; 判定覆盖只针对每一个判定语句整体全部可能取值编写测试用例。
所以, 条件覆盖逻辑覆盖程度高于判定覆盖。
4、已知某种计算机程序设计语言标识符语法规则要求“标示符是由非数字开头, 有效字符数为32个, 最大字符数为128个任意符号串”。
试用等价类划分法设计测试用例。
答: (1)等价类划分(2)测试用例① VAR abc7*ef: REAL;BEGIN abc7*ef:=10.11; // 覆盖等价类(1)(5)(7) ② VAR : REAL; // 覆盖等价类(2) ③ VAR a56789012: REAL; // 覆盖等价类(3) ④ VAR T12345……: REAL; // 覆盖等价类(4) ⑤ VAR GOTO: REAL; // 覆盖等价类(6) ⑥ VAR 2A: REAL; // 覆盖等价类(8)5、 已知一个变量类型为double, 它取值范围为“-0.2-2.2”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章软件测试概述
1.5 习题
一、名词解释
软件缺陷:又被叫做Bug。
所谓软件缺陷,即为计算机软件或程序中存在的某种破坏软件正常运行的问题、错误,或者隐藏的功能缺陷。
软件测试:利用人工或者自动手段按照测试方案和流程对产品进行功能和性能测试的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
它是识别开发的(中间或最终)软件(整体或部分)的正确度、完全度和质量的过程。
V模型:描述基本的开发过程和测试行为,其价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。
W模型:W模型由两个V字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系。
X模型:X模型的左边,描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终合成为可执行的程序。
右上半部分,这些可执行程序还需要进行测试。
已通过集成测试的成品可以封版,并提交给用户,也可以作为更大规模和范围内集成的一部分。
多根并行的曲线表示变更可以在各个部分发生。
H模型:在H模型中,软件测试过程的活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进入到测试执行阶段。
软件测试可以尽早的进行,并且可以根据被测对象的不同而分层次进行。
二、填空题
1、软件的测试不仅仅是对程序的测试,而且软件的测试应贯穿于整个软件生命周期。
在软件定义阶段产生的可行性报告、项目实施计划、软件需求说明书或系统功能说明书,在软件开发阶段产生的概要设计说明书、详细设计说明书,以及源程序等都是软件测试的对象。
2、软件测试的目的,就是检验软件是否满足任务书或合同等规定的软件质量要求。
简言之,测试的目的应该是满足用户。
3、软件测试模型,主要包括V模型、W模型、X模型、H模型和前置模型。
4、按软件生存周期划分,软件测试可分为:软件测试可分为:定义阶段测试、开发阶段测试、运行阶段测试、维护阶段测试。
5、按实施测试部门划分,软件测试可分为:开发方测试、用户方测试、第三方测试、联合测试。
6、按是否检查软件内部结构和实现算法划分,软件测试可分为:黑盒测试、白盒测试、灰盒测试。
7、软件测试的步骤:测试需求分析、测试计划制定、软件测试设计、测试环境搭建、测试工作执行、测试工作记录、测试缺陷管理、软件测试评估、测试工作总结。
三、判断题
1、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
(╳)
2、白盒测试是基于对程序控制结构了解的基础上设计测试用例的。
(√)
3、测试是为了验证软件正确地实现了用户的需求。
(√)
4、软件测试的目的是尽可能多的找出软件的缺陷。
(√)
5、 测试是验收测试的一种。
(√)
6、验收测试是由最终用户来实施的。
(╳)
7、软件测试按照测试过程分类为黑盒测试、白盒测试。
(╳)
8、软件项目在进入需求分析阶段,测试人员应该开始介入其中。
(√)
9、软件生存周期是从软件开始开发到开发结束的整个时期。
(╳)
四、单项选择题
1、软件测试是按照特定的规程,A的过程。
A. 发现软件错误
B. 说明程序正确
C. 证明程序没有错误
D. 设计并运行测试用例
2、测试用例是专门为了发现软件错误而设计的一组或多组数据,它由C组成。
A. 测试输入数据
B. 预期的测试输出数据
C. 测试输入和预期的输出数据
D. 按照测试用例设计方法设计出的数据
3、一个成功的测试是B。
A. 发现错误
B. 发现了至今尚未发现的错误
C. 没有发现错误
D. 证明发现不了错误
4、软件测试的目的是B。
A. 避免软件开发中出现的错误
B. 发现软件开发中出现的错误
C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
D. 修改软件中出现的错误
5、软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列 C是软件测试的任务?
A. 只有预防软件发生错误
B. 只有发现改正程序错误
C. 只有提供诊断错误信息
D. 都是
6、软件测试是软件质量保证的重要手段,下述A测试是软件测试的最基础环节?
A. 功能测试
B. 单元测试
C. 结构测试
D. 确认测试
7、编码阶段产生的错误由A检查出来。
A. 单元测试
B. 集成测试
C. 有效性测试
D. 系统测试
四、简答题
1、软件测试的目的与原则是什么?
软件测试的目的:(1)验证软件是否满足任务书或合同或项目开发计划、系统/子系统设计文档、软件需求分析说明书、软件设计说明书和软件产品说明书等规定的软件质量要求;(2)通过测试,发现软件缺陷;(3)为软件产品的质量测量和评价提供依据。
软件测试的原则:(1)应当把“尽早和不断地测试”作为开发者的座右铭;(2)程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成;(3)设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如:网络异常中断、电源断电等情况;(4)一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系;(5)对测试错误结果一定要有一个确认的过程。
一般由A测试出来的错误,一定要由B来确认,严重的错误可以召开评审会进行讨论和分析;(6)制定严格的测试计划,排除测试的随意性,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个复杂的、高水平的测试;(7)回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见;(8)妥善保存一切测试过程文档,包括测试计划,测试用例,出错统计和最终分析报告,为测试的重现及维护提供方便。
2、什么是软件测试。
利用人工或者自动手段按照测试方案和流程对产品进行功能和性能测试的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
它是识别开发的(中间或最终)软件(整体或部分)的正确度、完全度和质量的过程。
3、简述软件测试的步骤。
严格的说,软件测试从软件开始立项时就开始了,前后要经过以下一些主要环节:测试需求分析→测试计划制定→软件测试设计→测试环境搭建→测试工作执行→测试工作记录→测试缺陷管理→软件测试评估→测试工作总结。
软件测试的步骤,见图1-9。
4、α测试与β测试的区别是什么?
α测试:由潜在用户或者独立的测试团队在开发环境下或者模拟实际操作环境下进行的测试,通常在开发组织之外进行。
通常是对现货软件进行内部验收测试的一种方式。
β测试:用户在开发组织外,没有开发人员参与的情况下进行的测试,检验软件是否满足客户及业务需求。
这种测试是软件产品获得市场反馈进行验收测试的一种形式。
α测试成功后,才能进行β测试。
5、简述软件测试模型及其特点。
软件测试模型,主要包括V模型、W模型、X模型、H模型和前置模型。
V模型指出,单元测试和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户的需要。
但V模型存在一定的局限性,它仅仅把测试作为在编码之后的一个阶段,是针对程序进行的寻找错误的活动,而忽视了测试活动对需求分析、系统设计等活动的验证和确认的功能。
W模型强调,测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等也同样要测试。
也就是说,测试与开发是同步进行的。
W模型有利于尽早地全面的发现问题。
例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。
同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。
但W模型也存在局限性。
在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。
这样就无法支持迭代的开发模型。
对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临的困惑。
X模型定位了探索性测试(右下方)。
这是不进行事先计划的特殊类型的测试,诸如“我要这样测一下,结果会怎样?”这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。
由于X模型从没有被文档化,其内容一开始需要从V模型的相关内容中进行推断,因为它还没有完全从文档上成为V模型的全面扩展。
H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生存周期,与其他流程并发地进行。
H模型指出软件测试要尽早准备,尽早执行。
不同的测试活动可以按照某个次序先后进行,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。
前置模型,将开发和测试的生存周期整合在一起,随项目开发开始到结束,关系到每个阶段,每个关键行为,要求对每一个交付的内容都进行测试。