软件测试习题55085

  • 格式:doc
  • 大小:640.00 KB
  • 文档页数:47

软件测试第一章软件测试综述选择题(每题1分)1.Myers在1979年提出了一个重要观点,即软件测试的目的是为了()。

A)证明程序正确B)查找程序错误C)改正程序错误D)验证程序无错误答案:B2.坚持在软件开发的各个阶段实施下列哪种质量保证措施,才能在开发工程中尽早发现和预防错误,把出现的错误克服在早期()A)技术评审B)程序测试C)文档审查D)管理评审答案:A3.经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模块中残存的错误数目与其他模块相比,通常应该()A)较少B)较多C)相似D)不确定答案:B4.下面有关测试原则的说法中正确的是()。

A)测试用例应由测试的输入数据和预期的输出结果两部分组成B)测试用例只需选取合理的输入数据C)程序最好由编写该程序的程序员自己来测试D)使用测试用例进行测试是为了检查程序是否做了它该做的事答案:A5.为了提高测试的效率,正确的做法是()。

A)选择发现错误可能性大的数据作为测试用例B)在完成程序的编码之后再制定软件的测试计划C)随机选取测试用例D)取一切可能的输入数据作为测试用例答案:A6.对程序的测试最好由()来做,对程序的调试最好由()来做。

A)程序员第三方测试机构B)第三方测试机构程序员C)程序开发组程序员D)程序开发组程序开发组答案:B填空题(每空1分)1.20世纪50年代以前,开发人员往往将测试与调试等同。

_________,人们开始试图区分测试与调试。

答案:1957年。

2.语义错误是一种偏离错误,如需求定义偏离了用户需求,设计偏离了需求定义等。

偏离既包括____________也包括___________。

答案:正偏离;负偏离。

1.一个好的测试用例在于它能发现以前未发现的错误。

答案:正确2.一个成功的测试是发现了以前未发现的错误的测试。

答案:正确3.测试是为了证明程序正确,而不是证明程序有错。

答案:错误1.软件缺陷答案:软件产品中违背了软件产品需求的实现,则称为软件缺陷。

2.语法错误答案:软件产品是通过某种描述语言表达的结果,如通过UML描述的设计,通过Java描述的程序等。

错误地使用了这些语言或违背了这些语言的标准,则称为语法错误。

3.语义错误答案:软件是需求驱动的一系列变换过程的输出。

如果在变换过程中,对输入理解错误,则会产生错误的输出,这类错误称之为语义错误。

1.1990年,IEEE610.12标准中给出测试的正式定义是?答案:(1)在规定条件下运行系统或构件的过程;(2)分析软件项目的过程。

2.软件测试的目的是什么?答案:用最少的时间和人力,找出软件中潜在的各种错误和缺陷。

软件测试的这一目的贯穿于整个测试的过程中。

测试的另一收获是,它能够证明软件的功能和性能与需求说明相符合。

1.Glenford J.Myers于1979年给出测试的定义为?答案:软件测试是为发现错误而执行的一个程序或者系统的过程。

同时他给出了三个关于测试的重要观点:一个好的测试用例在于它能发现以前未发现的错误。

一个成功的测试是发现了以前未发现的错误的测试。

测试是为了证明程序有错,而不是证明程序正确。

案例分析题(每题12分)1.1994年12月,Virginia州Lynchburg University的Dr. Thomas R.Nicely在Pentium PC上做除法实验时发现了异常,他把发现的这个问题放到了Internet,引发了一场风暴。

万幸的是,这种情况很少出现,仅在进行精度很高的数学、科学和工程计算时才导致错误。

大多数的财务、商务应用用户根本不会遇到此类问题。

据估计,世界各地检查2000年兼容问题、解决2000年计算错误花费了数百亿美元。

20世纪70年代,当时的计算机存储空间很小,为了节省存储空间,很多系统采用了一个方法,把4位数日期缩减为2位数,例如,197373。

也有人知道,采用这种方案,到2000年时程序的日期计算会出问题,但大家都认为那是遥远的未来。

然而,这一天毕竟是要到来的。

软件缺陷是什么?什么是“软件缺陷”,或“软件错误”?答案:(1).软件产品中违背了软件产品需求的实现,则称为软件缺陷。

(2).“软件错误”这一术语,在没有特别加以说明的情况下,这是一个泛用的、模糊的概念。

它指的可能是bug、 fault、error、failure、crash(重大事故)、problem(疑问)等。

对于测试人员来说,任何和所期望的偏差都应该上报。

错误(error):指在软件开发过程中出现的不希望或不能接受的人为差错。

缺陷(defect):软件缺陷是指存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。

故障(fault):故障指软件的计算或判决与规定的不符合,使软件或其组成部分丧失了在规定的限度内执行所要求的功能的能力。

失效(failure):失效指软件故障使软件不能完成规定功能。

(3).软件缺陷符合下列5个规则之一:软件未达到产品规格说明书定义的功能。

软件出现了产品规格说明书指明不会出现的错误。

软件功能超出了产品规格说明书指明的范围。

软件未达到产品规格说明书虽未指出但应达到的目标。

软件测试员或用户认为软件不好或不便之处。

(全面客观、合情合理)第二章软件测试基础选择题(每题1分)1.下面不属于本公司提供的产品范围的是()A 电脑B 软件C 服务D 用户手册答案:A2.质量的特性不包括()A 时间性 B可靠性 C 实用性 D 可描述性答案:D3.质量的概念理解中你认为最准确的是()A 质量是一种产品满足要求的具体衡量指标,可以量化测量;B 质量反映的是客户的要求和产品的实际状态,即达到或是为达到;C 质量并非是一种抽象的概念,需要能够直接测量,并可以直接量化;D 质量反映的是一种产品满足客户要求的程度,不可以直接测量,是抽象概念.答案:D4.对软件的理解你认为正确的是()A 软件是一种产品的类型,质量控制的主要手段是代码测试、功能测试、系统和集成测试;B 软件的特殊性在于软件是无形的产品,软件的原始代码并不是产品本身,但是能够直接测量其功能特性C 软件并非是一种抽象的概念,而是能够量化并且直接进行质量特性测量的产品,所以测试为主要质量控制手段;D 软件是一种特殊的、无形的产品,看不到摸不着,属于大脑智力产物,应该以过程控制和预防为主.答案:D5.质量管理的最基本原理是()A. DMAICB.DMADVC. PDCA/PDSAD.a&c答案:C1.性能测试一般都是通过工具来完成的,常用的工具有___________________________.答案:Microsoft Application Center Test(ACT)。

2.单元测试是对最小的可测试软件元素(单元)实施的测试,它所测试的内容包括内部结构(如_________和____________)以及单元的功能和可观测的行为。

答案:逻辑;数据流。

3.根据测试计划设计测试方案。

测试设计过程输出的是各测试阶段使用的_____________。

测试设计也与软件开发活动同步进行,其结果可以作为各阶段测试计划的附件提交评审。

答案:测试用例1.单元测试是一种非常高效的测试方法,并且是软件测试周期中第一个进行的测试。

答案:正确1.负载测试:答案:在一定的工作负荷下,系统的负荷及响应时间。

2. 强度测试:答案:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。

3.容量测试:答案:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。

容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。

容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。

容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。

1.什么是Gamma测试?答案:Gamma测试是一个很少被提及的非正式测试阶段,该测试阶段对应的是对“存在缺陷”产品的测试。

考虑到任何产品都可以被称为“存在缺陷”的产品(测试只能发现产品中存在的问题,不能说明产品不存在问题),因此这个概念存在一定的不确定。

2.测试结束的标准是什么?答案:用例全部测试。

覆盖率达到标准。

缺陷率达到标准。

其他指标达到质量标准3.软件生命周期是什么?答案:项目规划;需求定义分析;软件设计;程序编码;软件测试;运行维护。

4.软件缺陷(bug)与软件错误(error)的区别与联系?答案:区别:软件缺陷是存在于软件之中的不希望或不可接受的偏差,而软件错误是由于人为的原因产生的错误。

软件缺陷是在软件中抽象存在的,而错误是人为的问题。

联系:由于人为的错误,在设计或编码过程中的失误,导致了软件内部的缺陷,人为的错误是引发软件缺陷的直接原因,一个软件错误必然引发多个软件缺陷。

1.描述一般进行回归测试的步骤?答案:(1).建立测试基线,这是回归测试的前提。

具体方式是将所有的测试用例放到配置库中,打上版本标记。

(2).从基线测试用例库中提取合适的测试用例组成回归测试包,必要时进行开发和重新设计整理。

(3).在后续开发过程中,每次测试之前先运行回归测试包。

保存在基线测试用例库中的测试用例可能是自动测试脚本,也有可能是测试用例的手工实现过程。

案例分析题(每题12分)1.经过α测试调整的软件产品称为β版本。

紧随其后的β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见。

然后软件发公司再对β版本进行改错和完善。

一般包括功能度、安全可靠性、易用性、可扩充性、兼容性、效率、资源占用率、用户文档八个方面。

β测试是由软件的多个用户在一个或多个实际使用环境下进行的测试,开发者通常不在现场,β测试不能由程序员和测试员完成因此,Beta测试是在开发者无法控制的环境下进行的软件现场应用。

在β测试中,由用户记下遇到的问题,包括真实的和主管确认的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。

β测试注重于产品的支持性,包括文档、客户培训和支持产品的生产能力,只有当α测试达到一定的可靠程序后才能进行β测试。

由于β测试的主要目标是测试产品的可支持性,所以β测试应尽可能由主持产品发行的人员来管理。

我们认为β测试就是由一部分受控制的客户进行的黑盒测试。

由于α测试和β测试的组织难度大,测试费用高,测试的随机性强,测试周期跨度较长,测试质量和效率难于保证,所以,很多专业软件可能不进行β测试,随着测试技术的提高,以及专业测试服务机构的大量涌现,很多软件的β测试外包给测试机构进行测试。