软件测试期末考试题.doc_第1页
软件测试期末考试题.doc_第2页
软件测试期末考试题.doc_第3页
软件测试期末考试题.doc_第4页
全文预览已结束

下载本文档

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

文档简介

1软件测试的目的:(c ) A. 避免软件开发中出现的错误 B. 发现软件开发中出现的错误 C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D. 修改软件中出现的错误 2、软件测试是采用( a )执行软件的活动。A测试用例 B输入数据 C测试环境 D输入条件3、导致软件缺陷的最大原因是:(a )A软件需求说明书 B设计方案 C编码 D维护4、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是(d)A、打开修复关闭 B、打开关闭C、打开保留 D、激活修复重新打开5、在下列描述中,关于测试与调试的说法错误的是(d)A、测试是显示错误的行为;而调试是推理的过程;B、测试显示开发人员的错误。调试是开发人员为自己辩护;C、测试能预期和可控。调试需要想象、经验和思考;D、测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。6、某次程序调试没有出现预计的结果,下列(b)不可能是导致出错的原因。 A变量没有初始化 B编写的语句书写格式不规范 C循环控制出错 D代码输入有误 7、软件缺陷修复的代价最高的阶段为(a )A、发布阶段 B、需求阶段 C、设计阶段 D、编码阶段8、不属于逻辑覆盖方法的是(d)。A组合覆盖 B判定覆盖 C条件覆盖 D接口覆盖9、( d)是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。A、条件覆盖 B、组合覆盖 C、判定覆盖 D、语句覆盖10、( a)是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。A、判定条件覆盖 B、组合覆盖 C、判定覆盖 D、条件覆盖11软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( b )A功能测试 B单元测试 C结构测试 D验收测试12、单元测试的主要任务不包括( b )。A出错处理 B全局数据结构 C独立路径 D模块接口13、如下图所示的N-S图,至少需要( b )个测试用例完成逻辑覆盖。A12 B48 C27 D1814、单元测试中用来模拟实现被测模块需调用的其他功能模块的是( b)。A驱动模块 B桩模块 C主控模块 D真实的被调用模块15、集成测试计划应该在(b )阶段末提交。A、需求分析 B、概要设计 C、详细设计 D、单元测试完成后面应该是老师说的没给出的5个题(森哥特别提示)16、下列关于程序效率的描述错误的是( C )。A提高程序的执行速度可以提高程序的效率B降低程序占用的存储空间可以提高程序的效率C源程序的效率与详细设计阶段确定的算法的效率无关D好的程序设计可以提高效率17、下列( B )是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。ADD-路径图 B 控制流图 CMM-路径图 D 模块调用图18、自底向上增量式集成测试中,下面( C )描述是正确的。 A测试由桩模块控制 B最上面的模块最先测试C父单元用测试过的子单元测试 D包含树的深度优先或广度优先遍历过程19、测试后程序中残存的错误数目与该程序中已发现的错误数目成( D )。A未知 B反比 C相等 D正比20、针对是否对无效数据进行测试,可以将等价类测试分为( B )1)标准(一般)等价类测试 2)健壮等价类测试 3)弱等价类测试 4)强等价类测试A3)4) B1)2) C1)3) D2)4)一、优秀的软件测试工程师应具备哪些素质? 人是测试工作中最有价值也是最重要的资源,没有一个合格的、积极的测试小组,测试就不可能实现。然而,在软件开发产业中有一种非常普遍习惯,那就是让那些经验最少的新手、没有效率的开发者或不适合干其他工作的人去做测试工作。这绝对是一种目光短浅的行为,对一个系统进行有效的测试所需要的技能绝对不比进行软件开发需要的少,事实上,测试者将获得极其广泛的经验,他们将遇到许多开发者不可能遇到的问题。 (1)沟通能力 一名理想的测试者必须能够同测试涉及到的所有人进行沟通,具有与技术(开发者)和非技术人员(客户,管理人员)的交流能力。既要可以和用户谈得来,又能同开发人员说得上话,不幸的是这两类人没有共同语言。和用户谈话的重点必须放在系统可以正确地处理什么和不可以处理什么上。而和开发者谈相同的信息时,就必须将这些活重新组织以另一种方式表达出来,测试小组的成员必须能够同等地同用户和开发者沟通。 (2)团队合作能力 (3)技术能力 就总体言,开发人员对那些不懂技术的人持一种轻视的态度。一旦测试小组的某个成员作出了一个错误的断定,那么他们的可信度就会立刻被传扬了出去。一个测试者必须既明白被测软件系统的概念又要会使用工程中的那些工具。要做到这一点需要有几年以上的编程经验,前期的开发经验可以帮助对软件开发过程有较深入的理解,从开发人员的角度正确的评价测试者,简化自动测试工具编程的学习曲线。 (4)自信心 开发者指责测试者出了错是常有的事,测试者必须对自己的观点有足够的自信心。如果容许别人对自己指东指西,就不能完成什么更多的事情了。 (5)外交能力 当你告诉某人他出了错时,就必须使用一些外交方法。机智老练和外交手法有助于维护与开发人员的协作关系,测试者在告诉开发者他的软件有错误时,也同样需要一定的外交手腕。如果采取的方法过于强硬,对测试者来说,在以后和开发部门的合作方面就相当于“赢了战争却输了战役”。 (6)耐心 一些质量保证工作需要难以置信的耐心。有时你需要花费惊人的时间去分离、识别和分派一个错误。这个工作是那些坐不住的人无法完成的。 (7)怀疑精神 可以预料,开发者会尽他们最大的努力将所有的错误解释过去。测式者必须听每个人的说明,但他必须保持怀疑直到他自己看过以后。 (8)自我督促 干测试工作很容易使你变得懒散。只有那些具有自我督促能力的人才能够使自己每天正常地工作。 (9)洞察力 一个好的测试工程师具有“测试是为了破坏”的观点,捕获用户观点的能力,强烈的质量追求,对细节的关注能力。应用的高风险区的判断能力以便将有限的测试针对重点环节。二、自动化测试优点:1、对程序的回归测试更方便。这可能是自动化测试最主要的任务,特别是在程序修改比较频繁时,效果是非常明显的。由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。2、可以运行更多更繁琐的测试。自动化的一个明显的好处是可以在较少的时间内运行更多的测试。3、可以执行一些手工测试困难或不可能进行的测试。比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。4、更好地利用资源。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。5、测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。6、测试的复用性。由于自动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。7、增加软件信任度。由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量。一旦软件通过了强有力的自动测试后,软件的信任度自然会增加。当然,自动化测试不是万能的,他不能完全替代手工测试。在软件版本还没有稳定的情况下,千万不要开展自动化测试,否则是自讨苦吃。自动化测试的缺点:1、不能取代手工测试2、手工测试比自动测试发现的缺陷更多3、对测试质量的依赖性极大4、测试自动化不能提高有效性5、测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。6、工具本身并无想像力三、简单分析软件缺陷产生的原因,其中那个阶段引入的缺陷最多,修复成本又最低解:软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序代码有误;其他。其中在需求分析阶

温馨提示

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

评论

0/150

提交评论