《软件测试技术》 刘文乐 天秋成 编著 课后答案 第1章 软件测试概述课后答案
《软件测试技术基础教程》习题解答

第一章软件测试理论一、选择题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中分离出来成为独立的组织职能。
软件测试技术课后答案

软件测试技术课后答案【篇一:软件测试习题答案】测试的目的是( ).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.为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件的质量,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
软件测试技术课后答案

软件测试技术课后答案【篇一:软件测试习题答案】测试的目的是( ).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.为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件的质量,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
习题参考答案

本书习题参考答案第1章软件测试概述1. 软件具有几个特点,请详细说明。
软件具有8个特点:(1) 软件是一种逻辑实体,而不是具体的物理实体。
因而它具有抽象性。
(2) 软件的生产与硬件不同,它没有明显的制造过程。
对软件的质量控制,必须着重在软件开发方面下功夫。
(3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
然而它存在退化问题,必须要对其进行多次的修改与维护。
(4) 软件的开发和运行常常受到计算机系统的制约,对计算机系统有着不同程度的依赖性。
为了解除这种依赖性,在软件开发中提出了软件移植的问题。
(5) 软件的开发至今尚未完全摆脱人工艺的开发方式。
(6) 软件本身是复杂的。
软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。
(7) 软件成本相当昂贵。
软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本是比较高的。
(8) 相当多的软件工作涉及到社会因素。
许多软件的开发和运行涉及机构、体制及管理方式等问题,它直接影响到项目的成败。
2.软件的分类方法都有哪些软件的分类方法有如下 4种:(1)按软件的功能分类(系统软件,支撑软件,应用软件)(2)按软件服务对象的范围分类(项目软件,市场软件)(3)按开发软件所需要的人力、时间以及完成的源程序行数分类。
(大型,小型,中型,微型)(4)按软件工作方式分类按软件的工作方式分为:实时处理软件、分时软件、交互式软件、批处理软件。
3. 软件测试的概念软件测试是软件工程中的一个环节,是开发项目整体的一部分。
软件测试是有计划有组织的,是保证软件质量的一种手段,它是软件工程中一个非常重要的环节。
因此,可以认为它是伴随软件工程的诞生而诞生的,伴随着软件复杂程度的增加、规模的增大,软件测试作为一种能够保证软件质量的有效手段,越来越受到人们的重视,软件测试最终目的是使产品达到完美。
4. 软件测试的方法有哪些软件的测试方法有3种,即用试题测试、用新旧两个系统作平行处理测试和软件测试自动化工具测试。
Chapter 01_软件测试概述

如何学好这门课
向有经验的测试人员学习 阅读相关的软件测试书籍 走读缺陷管理库中的问题报告单 走读相关产品的历史测试用例 学习产品相பைடு நூலகம்的业务知识 利用已有的软件修改记录 自己尝试编写用例
软件测试职业发展
初级测试 工程师
中级测试
工程师
高级测试 工程师
测试管理者
开发工程师
独立的软件测试 软件测试 概念 第一次定义
80年代软件行业飞速发展,软件规模、复杂度都 增大,人们开始关注质量。 83年IEEE定义: 使用人工或自动的手段来运行或测量软件系统的 过程,目的是检验软件系统是否满足规定的需求, 并找出与预期结果之间的差异。 90年代,出现了各种开发模式, TDD(Test Driven Development) ,)出现
软件测试工程师的素质
责任心
沟通能力 团队合作精神 耐心、细心和信心 保持怀疑的态度,有缺陷预防的意识 不断学习的能力
合格的测试工程师
软件测试已经形成了一个独立的技术学科,软件测试技术不断 更新和完善,新工具、新流程、新的测试设计方法都在不断更新。 合格的测试工程师应具有的能力: 一般能力:包括表达、交流、协调、管理、质量意识、软件开 发过程方法、软件工程等 测试技能及方法:包括测试基本概念及方法、对测试工具的掌 握、对专业测试标准的熟悉程度等 测试规划能力:包括风险分析及防范能力、测试目标及计划的 制定能力等 测试执行能力:包括测试数据/脚本/用例的制定能力、测试比 较及分析能力、缺陷记录及处理能力 测试分析、报告和改进能力:包括测试度量、统计技术、测试
口将超过20万,在未来5到10年中这一数字还将继续增大。
在软件产业中,目前有两年工作经验的软件测试人员的月薪一般都能 够达到4000~5000。(软件测试人员的薪水主要还要看其工作经验及能力) 在企业内部,软件测试工程师基本处于“双高”地位,即地位高、待 遇高,有的人月薪可高达七八千元。可以说职业前景非常广阔,从近期的 企业人才需求和薪金水平来看,软件测试工程师的年工资有逐年上升的明 显迹象。
(整理)《软件测试技术》 刘文乐 天秋成 编著 课后答案 第1章 软件测试概述课后答案

第1章软件测试概述1.5 习题一、名词解释软件缺陷:又被叫做Bug。
所谓软件缺陷,即为计算机软件或程序中存在的某种破坏软件正常运行的问题、错误,或者隐藏的功能缺陷。
软件测试:利用人工或者自动手段按照测试方案和流程对产品进行功能和性能测试的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
它是识别开发的(中间或最终)软件(整体或部分)的正确度、完全度和质量的过程。
V模型:描述基本的开发过程和测试行为,其价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。
W模型:W模型由两个V字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系。
X模型:X模型的左边,描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终合成为可执行的程序。
右上半部分,这些可执行程序还需要进行测试。
已通过集成测试的成品可以封版,并提交给用户,也可以作为更大规模和范围内集成的一部分。
多根并行的曲线表示变更可以在各个部分发生。
H模型:在H模型中,软件测试过程的活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进入到测试执行阶段。
软件测试可以尽早的进行,并且可以根据被测对象的不同而分层次进行。
二、填空题1、软件的测试不仅仅是对程序的测试,而且软件的测试应贯穿于整个软件生命周期。
在软件定义阶段产生的可行性报告、项目实施计划、软件需求说明书或系统功能说明书,在软件开发阶段产生的概要设计说明书、详细设计说明书,以及源程序等都是软件测试的对象。
2、软件测试的目的,就是检验软件是否满足任务书或合同等规定的软件质量要求。
简言之,测试的目的应该是满足用户。
3、软件测试模型,主要包括V模型、W模型、X模型、H模型和前置模型。
4、按软件生存周期划分,软件测试可分为:软件测试可分为:定义阶段测试、开发阶段测试、运行阶段测试、维护阶段测试。
《软件测试》课后习题答案

课后习题答案第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同时违反前面两种约束)而不可能出现的情况因此删去。
软件测试技术课后答案

软件测试技术课后答案【篇一:软件测试习题答案】测试的目的是( ).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.为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件的质量,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
- 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模型指出软件测试要尽早准备,尽早执行。
不同的测试活动可以按照某个次序先后进行,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。
前置模型,将开发和测试的生存周期整合在一起,随项目开发开始到结束,关系到每个阶段,每个关键行为,要求对每一个交付的内容都进行测试。