软件测试的基本概念

软件测试的基本概念
软件测试的基本概念

[模拟] 软件测试的基本概念

选择题

第1题:

在指定条件下使用时,软件产品维持规定的性能水平的能力。这是指软件外部质量的______。

A.效率

B.易用性

C.功能性

D.可靠性

参考答案:D

软件的效率是指:在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力。软件的易用性是指:在指定条件下使用,软件产品被理解、学习、使用和吸引用户的能力。软件的功能性是指:当软件在指定条件下使用,软件产品提供明确的和隐含的要求的功能的能力。软件的可靠性是指:在指定的条件下使用时,软件产品维持规定的性能水平的能力。

第2题:

CMU SEI的watts Humphrey指出:软件产品必须首先提供用户所需要的

______。

A.性能

B.人机界面

C.可靠性

D.功能

参考答案:D

软件质量是产品、组织和体系或过程的一组固有特性,反映它们满足顾客和其他相关方面要求的程度。如CMU SEI的watts Humphrey指出:“软件产品必须首先提供用户所需的功能,如果做不到这一点,什么产品都没有意义。其次,这个产品能够正常工作。如果产品中有很多缺陷,不能正常工作,那么不管这种产品性能如何,用户也不会使用它。”

第3题:

以下选项中不属于ISO软件质量模型的是______。

A.外部质量模型

B.使用质量模型

C.维护质量模型

D.内部质量模型

参考答案:C

按照ISO/IEC 9126—1:2001,软件质量模型可以分为内部质量模型、外部质量模型和使用质量模型3种,故该题不属于ISO软件质量模型的是C。

第4题:

下列关于软件质量模型的说法中正确的是______。

A.外部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力

B.容错性、通用性、结构性和通信性不全属于软件的质量特性

C.内部质量是表征软件产品在规定条件下使用时,满足规定的和隐含的要求的程度

D.使用质量是软件产品在规定的使用环境中规定的用户能实现规定目标的要求

参考答案:D

外部质量是针对要求的满足程度而言的,是表征软件产品在规定条件下使用时,满足规定的和隐含的要求的程度;而内部质量则主要是根据软件产品的情况给出的,是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力的产品属性的全体,故选项A和C叙述刚好颠倒,另外软件的质量特性有很多种,选项B中所述皆属于软件的质量特性,选项D中关于使用质量的叙述是完全正确的。

第5题:

下列选项中不属于使用质量的属性的是______。

A.有效性

B.安全性

C.稳定性

D.满意度

参考答案:C

软件的使用质量属性分为4种:有效性、生产率、安全性和满意度。

第6题:

下列软件属性中,软件产品首要满足的应该是______。

A.功能需求

B.性能需求

C.可扩展性和灵活性

D.容错、纠错能力

参考答案:A

软件产品质量的属性有很多,其中软件产品首先要满足的就是客户的功能需求。性能需求包括处理和响应时间,约束条件则是标识外部硬件、可用存储或其他现有系统对软件的限制。功能、性能和约束必须在一起进行评价。另外软件产品还应具备一定的可扩展性和灵活性,应能够有效地处理例外或异常情况,具有一定的容错、纠错能力。总之,软件质量实际上是各种特性的复杂组合。

第7题:

内部质量需求包括______。

A.静态模型

B.动态模型

C.文档和源代码

D.以上全部

参考答案:D

内部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力的产品属性的全体。内部质量是从内部的观点看软件产品的全部特性,内部质量需求包括静态模型、动态模型、其他文档和源代码等。

第8题:

在测试和使用软件产品过程中进行的度量是______。

A.内部度量

B.外部度量

C.使用度量

D.性能度量

参考答案:B

软件质量的度量主要是根据软件生存周期中对软件质量的要求所进行的一项活动。它主要分为三个方面:外部度量、内部度量和使用质量的度量。其中外部度量是在测试和使用软件产品过程中进行的,通过观察该软件产品的系统行为,执行对其系统行为的测量得到度量的结果;内部度量是在软件设计和编码过程中进行的,通过对中间产品的静态分析来测量其内部质量特性;使用质量的度量是在用户使用过程中完成的。

第9题:

对于维护软件的人员来说。使用质量是______的结果。

A.功能性

B.可靠性

C.可维护性

D.效率

参考答案:C

使用质量是从用户观点来对软件产品提出的质量要求,所以它的度量主要是针对用户使用的绩效,而不是软件自身的特性,使用质量是面向用户的内部和外部质量的组合效果。使用质量与其他软件产品质量特性之间的关系取决于用户的类型:-对最终用户来说,使用质量主要是功能性、可靠性、易用性和效率的结果。 -对维护软件的人员来说,使用质量是可维护性的结果。 -对移植软件的人员来说,使用质量是可移植性的结果。

第10题:

内部度量的主要目的是______。

A.确保获得所需的外部质量

B.确保获得所需的使用质量

C.在执行前评价软件产品的质量

D.以上全部

参考答案:D

内部度量是在软件设计和编码过程中,通过对中间产品的静态分析来测量其内部质量特性。内部度量的主要目的是为了确保获得所需的外部质量和使用质量,用户、评价人员、测试人员和开发人员可以在产品可执行之前通过内部度量来评价软件产品的质量。

第11题:

Myers在1979年提出了一个重要观点,即软件测试的目的是为了______。

A.证明程序正确

B.查找程序错误

C.改正程序错误

D.验证程序无错误

参考答案:B

Glenford J.Myers于1979年给出测试的定义为:软件测试是为发现错误而执行的一个程序或者系统的过程。同时他给出了3个关于测试的重要观点: -测试是为了证明程序有错,而不是证明程序正确。 -一个好的测试用例在于它能发现以前未发现的错误。-一个成功的测试是发现了以前未发现的错误的测试。

第12题:

坚持在软件开发的各个阶段实施下列哪种质量保证措施,才能在开发工程中尽

早发现和预防错误,把出现的错误克服在早期______。

A.技术评审

B.程序测试

C.文档审查

D.管理评审

由测试用例的原则第1条(应当把“尽早地和不断地进行软件测试”作为软件开发人员的座右铭)可得,由于软件开发的各个环节都有可能会出错,所以我们要坚持在各个阶段的技术评审,才能尽早地发现和预防错误,把出现的错误克服在早期,杜绝某些发生错误的隐患.减少开发费用,提高软件质量,而后面B、C、

D三个选项都是只针对某个阶段来讲的,所以不正确,故正确答案为A。

第13题:

经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的

错误数目较多,则该模块中残存的错误数目与其他模块相比,通常应该

______。

A.较少

B.较多

C.相似

D.不确定

参考答案:B

由测试用例的原则第5条(充分注意测试中的群集现象),这里需要注意的是,群集现象就是指测试后程序中残余的错误数与已发现的错误数目成正比,由此可知,模块中发现的错误数多,自然残余的也较多,故选择B。

第14题:

下面有关测试原则的说法中正确的是______。

A.测试用例应由测试的输入数据和预期的输出结果两部分组成

B.测试用例只需选取合理的输入数据

C.程序最好由编写该程序的程序员自己来测试

D.使用测试用例进行测试是为了检查程序是否做了它该做的事

参考答案:A

由测试用例的原则第3条(程序员应避免测试自己的程序)和第4条(在设计测试用例时,应该包括合理的和不合理的输入条件)可知,B和C显然不符。又由测试的目的是找错而不是证明程序正确,故D不正确,所以由排除法得选项A正确。

第15题:

为了提高测试的效率,正确的做法是______。

A.选择发现错误可能性大的数据作为测试用例

B.在完成程序的编码之后再制定软件的测试计划

C.随机选取测试用例

D.取一切可能的输入数据作为测试用例

由测试用例的原则第5条(设计测试用例时应该充分注意测试中的群集现象,即测试后程序中残存的错误数与已发现的错误数目成正比),故在测试时应当对错误群集的程序段进行重点测试,以提高测试的效率及测试投资的效益。目前,在软件测试领域流行一个“80-20原则”,认为80%的错误是在20%的模块中发现的,所以在测试时如果发现某一程序模块似乎比其他程序模块有更多的错误倾向时,则应当花费较多的时间和代价测试这个程序模块,从而提高测试的效率。

第16题:

对程序的测试最好由______来做,对程序的调试最好由来做。

A.程序员第三方测试机构

B.第三方测试机构程序员

C.程序开发组程序员

D.程序开发组程序开发组

参考答案:B

测试用例的原则中指明,程序员应尽可能避免测试自己编写的程序,程序开发组也应尽可能避免测试本组开发的程序,若条件允许,最好由独立于开发组和客户的第三方测试组或测试机构进行。因为这样可能会更客观、更有效,并更容易取得成功。但是对程序的调试由程序员自己来做可能更加有效。

第17题:

在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是______。

A.程序结构

B.软件外部功能

C.程序正确性

D.程序内部逻辑

参考答案:B

白盒测试又称为逻辑驱动测试,它对程序的逻辑结构进行检查,从中获取测试数据,它不需要测试软件产品的功能。黑盒测试是另一种测试策略,它将程序视为一个黑盒子,测试目标与程序内部机制和结构完全无关,而是将重点集中放在发现程序不按其规格说明正确运行的环境条件,黑盒测试注重于测试软件的功能性需求。

第18题:

程序独立测试的人员应该是______。

A.程序员自己

B.同一开发组的测试人员

C.第三方测试人员

D.同一开发组的其他成员

参考答案:C

独立测试是指软件测试工作由在经济上和管理上独立于开发机构的组织进行。采用独立测试方式,无论在技术上还是管理上,都对提高软件测试的有效性具有重要意义,对软件测试的客观性、专业性、权威性、资源的保证等方面都有较大的影响。

第19题:

以下哪一种选项不属于软件缺陷______。

A.软件没有实现产品规格说明所要求的功能

B.软件中出现了产品规格说明不应该出现的功能

C.软件实现了产品规格说明没有提到的功能

D.软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题

参考答案:D

所谓“缺陷”(bug),即为计算机软件或程序中存在的某些破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。软件缺陷的主要类型见左栏相关内容。

第20题:

软件生存周期过程中,修改错误代价最大的阶段是______。

A.需求阶段

B.设计阶段

C.编程阶段

D.发布运行阶段

参考答案:D

在软件测试原则中强调测试人员要在软件开发的早期进行测试,如需求分析阶段就应该介入,问题发现得越早越好。发现缺陷后要尽快修复缺陷,因为随着产品开发工作的进行,一个小错误会扩散成大错误,为了修改后期的错误所做的工作要多得多,即越到后来往前返工也越远,缺陷发现或解决得越迟,成本就会越高。Boehm在书中明确指出,修正错误的代价不是随时间线性增长,而几乎是呈指数增长的。

第21题:

以程序内部的逻辑结构为基础的测试用例设计技术属于______。

A.灰盒测试

B.数据测试

C.黑盒测试

D.白盒测试

参考答案:D

白盒测试又称为逻辑驱动测试,这种测试策略是对程序的逻辑结构进行检查,从中获取测试数据。所以说白盒测试是一种以程序内部的逻辑结构为基础的测试用例设计技术。

第22题:

下列能表达程序未按照预期运行,但不会导致整体失效的是______。

A.故障

B.异常

C.缺点

D.失效

参考答案:B

故障、失效、缺点三者都是指软件中确实存在问题,若不及时改正就会导致严重的后果,而异常、偏差等表示问题不是那么尖锐,通常是指未按预期运行,而不会导致整体失效。

第23题:

下列关于缺陷产生原因的叙述中,不属于技术问题的是______。

A.文档错误,内容不正确或拼写错误

B.系统结构不合理

C.语法错误

D.接口传递不匹配,导致模块集成出现问题

参考答案:A

软件缺陷产生的原因从大的方面讲主要有技术问题、团队工作、软件本身。该题考查大方面中的小问题,即对三方面划分的理解,显然选项A中文档的问题应该是属于软件本身的,而非技术问题。

第24题:

下面有关软件缺陷的说法中错误的是______。

A.缺陷就是软件产品在开发中存在的错误

B.缺陷就是软件维护过程中存在的错误、毛病等各种问题

C.缺陷就是导致系统程序崩溃的错误

D.缺陷就是系统所需要实现的某种功能的失效和违背

参考答案:C

由对缺陷的定义理解可得正确答案为C,因为缺陷未必一定会导致系统崩溃。

第25题:

不影响系统的基本使用,但没有很好地实现功能,没有达到预期的效果,如次

要功能丧失、提示信息不太准确,或用户界面差、操作时间长等,这属于软件

缺陷级别中的______。

A.致命的缺陷

B.严重的缺陷

C.一般的缺陷

D.微小的缺陷

参考答案:C

软件缺陷一旦被发现,就要设法找出引起该缺陷的原因,分析对产品质量的影响,然后确定软件缺陷的严重性和处理这个缺陷的优先级。一般来说,问题越严重,其处理的优先级越高,越要得到及时的纠正。软件缺陷有4种级别,分别为:致

命的(Fatal),严重的(Critical),一般的(Major),微小的(Minor)。一般的软

件缺陷虽然不影响系统的基本使用,但没有很好地实现功能,没有达到预期的效果。

第26题:

软件缺陷的基本状态有______。

A.激活状态

B.已修正状态

C.关闭或非激活状态

D.以上全部

参考答案:D

软件缺陷除了严重性之外,还存在反映软件缺陷处于一种什么样的状态,便于跟

踪和管理某个产品的缺陷,可以定义不同的缺陷状态。软件缺陷有3种基本状态: 1、激活状态(Active或Open) 2、已修正状态(Fixed或Resolved) 3、关闭或非激活状态(Close或Inactive) 另外还有一些情况需要相应的

状态来描述,如所报告的缺陷目前无法解决或是第三方产品引起的,可以置为“保留”状态;如果所报告的缺陷暂时不需要解决或在下一版本解决更好些,可以置

为“不一致”状态。

第27题:

下列引起软件缺陷的因素属于技术问题的是______。

A.内容不正确

B.算法错误

C.语法错误

D.系统结构不合理

参考答案:A

在软件开发的过程中,造成软件缺陷的主要因素有:技术问题、团队合作和软件本身。其中技术问题主要有:算法错误、语法错误、计算和精度问题、系统结构不合理、算法选择不科学、接口参数传递不匹配。而选项A属于软件本身造成的缺陷。

第28题:

软件缺陷产生的原因有______。

A.技术问题

B.团队工作

C.软件本身

D.以上全部

参考答案:D

在软件开发的过程中,软件缺陷的产生是不可避免的。那么造成软件缺陷的主要因素有:技术问题、团队工作和软件本身。

第29题:

下列不属于功能缺陷的是______。

A.测试缺陷

B.控制与顺序缺陷

C.功能缺陷

D.规格说明书缺陷

参考答案:B

从测试观点可以将软件缺陷分为5类,分别为:功能缺陷、系统缺陷、加工缺陷、数据缺陷、代码缺陷。其中功能缺陷的表现有:规格说明书缺陷、功能缺陷、测试缺陷和测试标准引起的缺陷。选项B中控制与顺序缺陷属于系统缺陷。

第30题:

下列不属于软件生产因素的是______。

A.质量

B.进度

C.功能

D.费用

参考答案:C

软件生产的3个最重要因素是:质量、进度和费用。在软件产品的开发中要权衡它们之间的关系,使软件的特性能满足用户的需求。

第31题:

黑盒测试是一种重要的测试策略,又称为数据驱动的测试,其测试数据来源于

______。

A.软件规格说明

B.软件设计说明

C.概要设计说明

D.详细设计说明

参考答案:A

黑盒测试的测试数据完全来源于软件规格说明。

第32题:

即使对程序的所有路径都进行了测试,程序也可能存在没能检查出来的缺陷,

其原因可能是______。

A.程序可能会因为缺少某些路径而存在问题

B.即使是穷举路径测试也绝不能保证程序符合其设计规格说明

C.穷举路径测试也可能不会暴露数据敏感错误

D.以上全部

参考答案:D

所谓穷举路径测试就是指对程序中的每条语句序列至少执行一次,但实际上即使对程序的所有路径都进行了测试,程序也可能存在没能检查出来的缺陷,其原因可能是:(1)即使是穷举路径测试也绝不能保证程序符合其设计规格说明(2)程序可能会因为缺少某些路径而存在问题 (3)穷举路径测试也可能不会暴露数据敏感错误

第33题:

测试是软件生存期中费用消耗最大的环节。能够决定需要做多少次测试的影响

因素有______。

A.系统的目标和信息的价值

B.潜在的用户数量

C.开发组织和测试的时机

D.以上全部

参考答案:D

测试是软件生存期中费用消耗最大的环节。测试费用除了测试的直接消耗外,还包括其他相关的费用,能够决定需要做多少次测试的主要影响因素有系统的目标、潜在的用户数量、信息的价值、开发组织和测试的时机。

第34题:

以下叙述中正确的是______。

A.可跟踪性分析是在整体上分析整个资源的分配策略

B.关键性分析是标志原始需求和相应开发结果之间关系的能力

C.接口分析必须关注三种接口:用户接口,硬件接口和软件接口

D.评估全在软件开发的最后阶段进行,以确认产品是否符合规格说明

参考答案:C

可跟踪性分析是标识原始需求和相应开发结果之问关系的能力。关键性分析是在整体上分析整个资源的分配策略。A、B选项说法应互换。评估不仅仅要对最终的软件产品进行评估,而是软件开发各个阶段都需要进行的,D说法错误。

第35题:

软件验证和确认理论是测试过程的理论依据。其中验证是检查我们是否正在正确地建造一个产品,它强调的是______。

A.过程的正确性

B.产品的正确性

C.测试的正确性

D.规格说明的正确性

参考答案:A

软件验证和确认理论是测试过程的理论依据,验证是检查软件开发的各个阶段过程活动的结果是否满足规格说明的描述,证实各阶段之间的逻辑协调性、完备性和正确性。确认是证实在一个给定的外部环境中软件的逻辑正确性,即是否满足用户的要求。Bohem给出了一个经典定义:验证是检查我们是否正在正确地建造一个产品,它强调的是过程的正确性。而确认是检查我们是否在建成一个正确的产品,它强调的是产品的正确性。

第36题:

下面有关软件质量保证活动目标的说法中不正确的是______。

A.客观地验证软件产品和各项任务是否遵循适用的标准、规程和需求

B.用最少的时间和人力,找出软件中潜在的各种错误和缺陷

C.高层管理人员能够参与并帮助解决项目中不能解决的不相容问题

D.规划软件质量保证任务

参考答案:B

软件质量保证活动的目标为:制定和规划软件质量保证的任务,客观地验证软件产品和各项任务是否遵循适用的标准、规程和需求,相关小组和个人保持良好的沟通,及时通知他们在软件质量保证方面的认识和结果,高层管理人员能够参与并帮助解决项目中不能解决的不相容问题。而选项B(用最少的时间和人力,找出软件中潜在的各种错误和缺陷)应为软件测试的目标,两者要区分开来。

第37题:

验证和确认的主要活动有______。

A.可跟踪性分析

B.关键性分析

C.评估和接口分析

D.以上全部

参考答案:D

验证是检查软件开发的各个阶段过程活动的结果是否满足规格说明的描述,证实各阶段和阶段之间的逻辑协调性、完备性和正确性。确认是证实在一个给定的外部环境中软件的逻辑正确性,即是否满足用户的要求。验证和确认的主要活动有关键性分析、可跟踪性分析、评估和接口分析等。

第38题:

以下叙述中正确的是______。

A.可跟踪性分析是在整体上分析整个系统的资源分配策略

B.关键性分析是标识原始需求和相应开发结果之间关系的能力

C.评估仅需要对最终的软件产品进行评估

D.接口分析必须关注3种接口,即用户接口、硬件接口和软件接口

参考答案:D

关键性分析、可跟踪性分析、评估和接口分析等都是验证和确认的主要活动。其中关键性分析的目的是为了保证资源的有效利用,尤其在需求资源得不到满足时,有必要在整体上分析整个系统的资源分配策略;可跟踪性分析就是标识原始需求和相应开发结果之间关系的能力,它的目的是保证规格说明中的每项需求被正确标识,当前阶段与前后阶段之间的跟踪是一致的。故选项A与选项B的叙述颠倒,选项C中的评估是不仅仅要对最终的软件产品进行评估,而是软件开发各个阶段都需要进行的,由此仅选项D的叙述是正确的。

第39题:

在软件开发的过程中,参与各个活动的评审和阶段的正式技术评审是软件质量

保证实施活动步骤的______。

A.计划

B.实施

C.检查

D.行动

参考答案:B

软件质量保证活动的实施步骤:目标、计划、实施、检查、行动。

第40题:

下列不属于接口分析中必须关注的接口是______。

A.程序内部接口

B.用户接口

C.硬件接口

D.软件接口

参考答案:A

接口分析的目的是评估软件交付物(包括需求、设计、编码)是否正确、一致、完整和准确地说明了接口需求,接口分析必须关注3种接口,即用户接口,硬件接口和软件接口。

软件测试免费教程下载教程讲解

软件测试免费教程下载教程讲解 软件测试是指使用人工或者自动的手段来运行或测定某个软件产品系统的过程,其目的是在于检验是否满足规定的需求或者弄清预期的结果与实际结果的区别。那么问题来了软件测试视频教程讲解在哪里找?软件测试视频教程讲解都有什么?本文主要描述软件测试的类型。 一、多语种测试又称本地化测试 是指为各个地方开发产品的测试,如英文版,中文版等等,包括程序是否能够正常运行,界面是否符合当地习俗,快捷键是否正常起作用等等,特别测试在A语言环境下运行B语言软件(比如在英文win98下试图运行中文版的程序),出现现象是否正常。 本地化测试还要考虑: ?当语言从A翻译到B,字符长度变化是否影响页面效果。 ?要考虑同一单词在各个国家的不同意思 ?要考虑各个国家的民族习惯 二、文字测试 文字测试测试软件中是否拼写正确,是否易懂,不存在二义性,没有语法错

误;文字与内容是否有出入等等,包括图片文字。比如:“比如,请输入正确的证件号码!”何谓正确的证件号码,证件可以为身份证,驾驶证,也可为军官证,如果改为“请输入正确的身份证号码!”用户就比较容易理解了。三、分辨率测试 测试在不同分辨率下,界面的美观程度,分为800*600,1024*768,1152*864,1280*768,1280*1024,1200*1600大小字体下测试。一个好的软件要有一个极佳的分辨率,而在其他分辨率下也都能可以运行。 四、发布测试 主要在产品发布前对一些附带产品,比如说明书,广告稿等进行测试?说明书测试:主要为语言检查(检查说明书语言是否正确,用词是否易于理解)、功能检查(功能是否描述完全,或者描述了并没有的功能等)、图片检查(检查图片是否正确) ?宣传材料测试:主要测试产品中的附带的宣传材料中的语言,描述功能,图片。 ?帮助文件测试:帮助文件是否正确、易懂、是否人性化。最好能够提供检索功能。 ?广告用语:产品出公司前的广告材料文字、功能、图片、人性化的检查。 五、文档审核测试 文档审核测试目前越来越引起人们的重视,软件质量不是检查出来的,而是融进软件开发中来。前置软件测试发越来越受到重视。请看一个资料:文档审核测试主要包括需求文档测试,设计文档测试,为前置软件测试测试中的一部

软件测试课后习题

百度文库- 让每个人平等地提升自我 目录 第1章软件测试概述 (1) 第2章软件测试方法与过程 (4) 第3章黑盒测试 (7) 第4章白盒测试方法 (13) 第5章软件测试管理及自动化测试基础 (18) 第6章WINRUNNER测试工具 (20) 第7章LOADRUNNER测试工具 (22) 第8章JUNIT (24)

第1章软件测试概述 1.简述软件测试的意义。 解:随着计算机技术的迅速发展和广泛深入的应用,软件质量问题已成为开发和使用软件人员关注的焦点。而由于软件本身的特性,软件中的错误是不开避免的。不断改进的开发技术和工具只能减少错误的发生,但是却不可能完全避免错误。因此为了保证软件质量,必须对软件进行测试。软件测试是软件开发中必不可少的环节,是最有效的排除和防治软件缺陷的手段,是保证软件质量、提高软件可靠性的最重要手段。 2.什么是软件缺陷?它的表现形式有哪些? 解:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需实现的某种功能的失效或违背。 它的表现形式主要有以下几种:(1)软件未达到产品说明书中已经标明的功能;(2)软件出现了产品说明书中指明不会出现的错误;(3)软件未达到产品说明书中虽未指出但应当达到的目标;(4)软件功能超出了产品说明书中指出的范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。 3.简单分析软件缺陷产生的原因,其中那个阶段引入的缺陷最多,修复成本又 最低? 解:软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序代码有误;其他。其中在需求分析阶段引入的缺陷最多,修复的成本又最低。 4.当用户登录某网站购物完毕并退出后,忽然想查查购物时付账的总金额,于 是按了浏览器左上角的“退回”按钮,就又回到了退出前的网页,你认为该购物软件有缺陷吗?如果有,属于哪一类? 解:有缺陷。其所属类别与软件产品说明书的要求有关。 5.什么是软件测试?简述其目的与原则。 解:软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行验证和确认的活动过程。 测试目的:(1)证明:获取系统在可接受风险范围内可用的信心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。(2)检测:发现缺陷、错误和系统不足;定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。(3)预防:澄清系统的规格和性能;提供预防或减少可能制造错误的信息;在过程中尽早检测错误;确认问题和风险,并

软件测试名词解释、简答题以及综合题(含答案)

一、名词解释题 1、测试用例 测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。测试用例是执行的最小实体。 2、驱动模块 驱动模块是在进行单元测试时所设置的一种辅助测试模块,它用来模拟被测试模块的上一级模块,相当于被测模块的主程序。驱动模块在单元测试中接收数据,把相关的数据传送给被测试的模块,启动被测模块,并打印出相应的结果。 3、回归测试 在集成测试策略的环境中,回归测试是对某些已经进行过的测试的某些子集再重新测试一遍,以保证上述改变不会传播无法预料的副作用或引发新的问题。在更广的环境里,回归测试就是用来保证(由于测试或者其他原因的)改动不会带来不可预料的行为或者另外的错误。 4、静态测试 静态测试是指不利用计算机运行被测程序,也就是说,计算机并不真正运行被测试的程序,而是通过其他手段达到检测的目的。静态测试是对被测程序进行特性分析的一些方法的总称。 5、桩模块 桩模块是在进行单元测试时所设置的一种辅助测试模块,它用来模拟被测试模块工作过程中所调用的模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,以便检验被测模块与其下级模块的接口。 6、强度测试 强度测试的目的是要检测非正常的情形,测试是想要破坏程序。强度测试需要在反常规数据量、频率或资源的方式下运行系统,以检验系统能力的最高实际限度。 7、软件测试 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复查。它是软件质量保证的关键步骤。通常对软件测试的定义有两种描述: 定义1:软件测试是为了发现错误而执行程序的过程。 定义2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例运行程序,以及发现错误的过程。 8、自动化测试 自动化测试得一般定义为:各种测试活动的管理与实施,包括测试脚本的开发与执行,均使用一种自动化测试工具来验证测试的需求。 9、动态测试 动态测试的主要特征是计算机必须真正运行被测试的程序,通过输入测试用例对其运行情况(即输入与输出的对应关系)进行分析,达到检测的目的。 10、独立路径 某一程序的独立路径是指从程序入口到程序出口的多次执行中,每次至少有一个语句集(包括运算、赋值、输入/输出或判断)是新的和未被重复的。 二、问答题 1、软件测试涉及哪些关键问题? 软件测试涉及的关键问题包括以下四个方面: (1)测试由谁来执行。通常的做法是开发者(机构或组织)负责完成自己代码的单元测试,而系统测试则由一些独立的测试人员或专门的测试机构进行。 (2)测试什么。软件需求规格说明、概要设计规格说明、详细设计规格说明和源程序都是测试的对象。 (3)什么时候进行测试。测试可以是一个与开发并行的过程,还可以是在开发完成某个阶段任务之后进行,或者是在开发结束后再进行测试。 (4)怎样进行测试。根据软件的功能规范说明和程序实现,利用各种测试方法,生成有效的测试用例,对软件进行测试。 2、简述软件测试过程的流程。 软件测试过程按测试的先后次序可分为:单元测试、集成测试、确认(有效性)测试、系统测试和验收(用户)测试共5 项步骤。 (1)单元测试:针对每个单元的测试,以确保每个模块能正常工作为目标。

软件测试自学指南---从入门到精通

近来,软件测试行业发展迅速,企业越来越重视测试了。越来越多的人加入了测试大军中,很多人也想通过自学来学习软件测试技术加入这个行业,但是现在软件测试的书籍越来越多,也良莠不齐,而且软件测试涉及的技术也越来越多。本文主要说明的是从事软件测试行业需要必备的知识,以及该如何学习,主要给大家提供一些比较优秀的书籍,并给出学习的顺序。希望通过阅读本文,读者可以明确该如何学习测试,并学习哪些知识。由于仅是个人建议,如有错误不妥的地方,敬请提出批评。 一、软件测试基础知识

要想进入测试这个行业,就必须要了解什么是软件测试,该如何测试? 这部分的学习目标:掌握软件测试的基本概念、软件测试的流程,并能熟练的应用常见的用例设计方法来设计测试用例。掌握常见的测试方法和类型,并知道如何进行每个阶段的测试。 下面是推荐的参考书: 1、软件测试(原书第2版) (美)佩腾(Patton,R.)著,张小松等译 这本书可以用来作为进入行业的第一本书,本书讲解的都是实用的技术,通过阅读本书可以快速的去学会如何测试软件。个人建议,这本书至少要读3遍以上。

看完这本书,自己可以去找一个项目(可以到开源中国上查找)来测一测,应用一下学的知识,找一找缺陷。在测试这个项目中要体会一下测试的流程,学习如何搭建测试环境。 2、软件测试的艺术(原书第3版) (美)梅耶等 第二本就是这本软件测试的“圣经”,这本书据说是硅谷测试人员必备的书。这本书最值得看的地方就是测试的思想。阅读这本书可以让你有豁然开朗的感觉。 3、计算机软件测试(原书第2版)(美)卡尼尔这本书也是值得一读的,同样也是非常适合初学者阅读的。 4、全程软件测试朱少民 上面的都是外国人写的,来本国产的。

软件测试技术习题参考答案

第1章软件测试概述 1、简述软件缺陷的含义。 答:软件缺陷是软件开发过程中潜在的缺陷,这些缺陷可能在软件运行后出现,因而使软件的性能和可靠性等方面与系统的设计需求不符。 2、说明软件缺陷、软件错误和软件失败的关系。 答:缺陷、缺点、偏差统称为缺陷,是软件故障的根源;错误、谬误、问题、异常、矛盾等统称为错误,软件错误出现的原因是软件缺陷所致;失败、事故、灾难统称失败,失败的直接原因是软件系统存在软件错误。 14、“软件测试是有风险的工作”,试解释这种说法的含义。 答:软件不测试,就会有风险;软件测试,同样也会有风险。因为,软件是个复杂的系统,其复杂性体现在软件实现的内容复杂性、开发过程的复杂性和组织工作的复杂性等方面。而软件测试的目的是为了发现故障,并加以排除。对一个复杂的软件系统来说,故障的排除往往可能又带来新的软件缺陷。所以,软件测试又会带来一定的风险。 第2章软件测试基础 2、条件覆盖是否高于判断覆盖的逻辑覆盖程度如果不是,请给出反例加以说明。 答:条件覆盖是高于判断覆盖的逻辑覆盖程度。 a 、用条件覆盖所设计的测试用例可使得程序中的每一个判断的每一个条件的可能 取值至少执行一次。 b、用判断覆盖所设计的测试用例可使被测程序中的每个判断的真分支和假分支至少经历 一次。 每个判断语句可能包含多个条件(比如,if (A>3&&B<7……)。条件覆盖针对判断语句的每一个条件的所有可能取值编写测试用例;判断覆盖只针对每一个判断语句整体的所有可能取值编写测试用例。所以,条件覆盖的逻辑覆盖程度高于判断覆盖。 4、已知某种计算机程序设计语言的标识符语法规则规定“标示符是由非数字开头的,有效 字符数为32个,最大字符数为128个的任意符号串”。试用等价类划分法设计测试用例。

软件测试的名词解释

目录 1. 什么是软件测试? (2) 2. 软件测试的目的是什么? (2) 3. 软件测试的目标? (2) 5. 什么黑盒测试? (3) 6. 黑盒测试方法都包括哪些? (3) 7. 什么是等价类划分? (3) 8. 什么是边界值分析法? (3) 9. 什么情况下使用决策分析法? (3) 10.你是如何利用决策分析法设计用例? (3) 11. 什么是因果图分析法? (4) 12. 你是如何利用因果图分析法来设计用例的? (4) 13. 因果图分析法中用到的五种约束分别是什么? (4) 14. 什么是测试用例? (4) 15 你觉得有必要写测试用例么,写测试用例的作用有哪些? (4) 16. 你知道软件生命的周期么?包括哪些阶段? (4) 17. 软件测试的对象是什么? (4) 18. 软件测试是否等于程序测试? (4) 19. 软件测试涉及的关键问题包括哪些方面? (5) 20. 软件测试的原则包括哪些? (5) 21. 软件测试按照开发阶段划分为哪几类? (5) 22. 完成的软件开发过程?V模型? (5) 23. 按照测试技术来分测试分哪几类? (5) 24. 什么是白盒测试和灰盒测试? (5) 25. 谈谈黑盒测试的特点?优点? (6) 26. 黑盒测试主要能够发现哪些方面的问题? (6) 27. 测试停止的依据? (6) 28. 什么是健壮等价类测试? (6) 29. 什么是错误推测法?你经常用的错误推测法来测试系统的经验有哪些? (6) 30. 你选择测试方法的原则是什么? (7) 31. 设计测试用例的原则有哪些? (7) 32. 测试用例模板的主要要素有哪些? (7) 33. 软件测试的过程有哪些? (7) 34. 写测试计划的主要任务是什么? (7) 35. 测试计划中的5W1H什么意思? (7) 44. 什么是回归测试? (8) 45. 什么是确认测试? (9) 46. 请您谈一谈为什么要进行系统测试? (9) 48. 安全性测试你一般从哪几方面做测试? (9) 49. 什么是兼容性测试? (9) 51. 什么是验收测试? (9) 52. 验收测试一般有哪些方法? (9)

软件测试入门教程

软件测试入门教程 软件测试(Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。 它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。 Glenford J.Myers曾对软件测试的目的提出过以下观点:

(1)测试是为了发现程序中的错误而执行程序的过程。 (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。 (3)成功的测试是发现了至今为止尚未发现的错误的测试。 (4)测试并不仅仅是为了找出错误。通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。 (5)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性。 (6)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。 (7)另外,根据测试目的的不同,还有回归测试、压力测试、性能测试等,分别为了检验修改或优化过程是否引发新的问题、软件所能达到处理能力和是否达到预期的处理能力等。 测试原则

软件测试概论(TS)考试试题

软件测试概论(TS)考试试题 选择题 1) 以下关于测试和调试的说法中,正确的是(a )。(选择一项) a) 测试工作包括发现错误,以及确定错误的原因和确切位置,排除软件中的 错误 b) 测试就是调试,两者没有什么区别 c) 测试是在开发完成后的测试阶段才开始 d) 调试的目的是定位和纠正错误 2) 以下关于测试的定义中,错误的是(b)。(选择一项) a) 为找出错误而运行程序或系统的过程 b) 一切以评价程序或系统的属性、能力为目的的活动 c) 评价程序或系统的过程 d) 测试是在用户需求和开发技术之间找区别 3) 以下关于测试的目的描述,错误的是(a)。(选择一项) a) 为了说明程序中没有缺陷 b) 在于发现了迄今尚未发现的缺陷 c) 揭示潜伏在软件里的缺陷 d) 为软件产品的质量测量和评价提供依据 4) 通常情况下,软件测试至少要达到下列目标,其中错误的是(d)。(选择一项) a) 确保产品完成了它所承诺或公布的功能 b) 确保产品满足性能和效率的要求 c) 确保产品是健壮的、适应用户环境的 d) 确保产品的质量达到用户的需求 5) 下列软件测试的“行业规则”或者“工作常识”中,描述错误的是(c )。(选 择一项) a) 所有的测试都应追溯到用户需求 b) 应该在测试工作真正开始前的较长时间内就进行测试计划 c) 测试应从“大规模”开始,逐步转向“小规模” d) 为了达到最佳效果,应该由独立的第三方来构造测试 6) 软件工程是开发、运行、维护和修复软件的系统方法。软件工程具有如下的性质, 其中错误的是(a)。(选择一项)

a) 软件工程是一门综合性的交叉学科,它涉及计算机科学、工程科学、管理 科学、数学等领域 b) 软件工程要用工程科学中的观点来进行费用估算、制定进度、制定计划和 方案 c) 软件工程要用数学科学中的方法和原理进行软件生产的管理 d) 软件工程要用数学的方法建立软件开发中的各种模型和各种算法,如可靠 性模型、说明用户需求的形式化模型等 7) 在任何生命周期模型中,一个好的测试都应该具有一些特点,以下描述错误的特 点是(c)。(选择一项) a) 每个开发活动都有相对应的测试活动 b) 每个测试级别都有其特有的测试目标 c) 对于每个测试级别,不需要在相应的开发活动过程中进行相应的测试分析 和设计 d) 在开发生命周期中,测试员在文档初稿阶段就应该参与文档的评审 8) 在开发软件过程中有各种不同的方法。对特定项目而言,没有哪个模式一定是最 好的。以下不属于最常用的模式是(a)。(选择一项) a) 大爆炸模式 b) 边写边做模式 c) 瀑布模式 d) 螺旋模式 9) 下面描述敏捷软件开发的目中错误的是(c)。(选择一项) a) 通过过程和工具理解个人和交流的作用 b) 通过开发的文档理解运行的软件 c) 通过合同和谈判得到客户的协作 d) 在计划的执行中做出对变更的响应 10) 概括地说,软件测试过程模型中H模型不能揭示的是(d)。(选择一项) a) 软件测试不仅仅指测试的执行,还包括很多其他的活动 b) 软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地 进行 c) 软件测试要尽早准备,尽早执行 d) 软件测试是根据被测物的不同而同时进行的 11) 在Bugzilla中,如果一个缺陷的处理状态被开发人员置为Wontfix,则表明()。 (选择一项) a) 这个bug中描述的不是问题

软件测试基本概念

软件测试基本概念 1、测试分类 从不同的角度,可以把软件测试技术分成不同种类:(4个维度) 1.1从是否需要执行被测软件的角度分类: 1.1.1静态测试(代码评审、文档会审) 指以人工的、非形式化的方法对软件进行分析和测试。如文档评审、代码会审。 1.1.2动态测试(功能测试和性能测试) 1.2按测试方法分类 1.2.1黑盒测试 不考虑程序的内部逻辑结构与特性,只根据程序功能或程序的外部特性进行测试,注重于测试软件的功能性需求。 1.2.2白盒测试 分析程序的内部逻辑结构,选择适当的覆盖标准,对主要路径进行尽可能多的测试。 1.2.3灰盒测试 不需要懂代码,只需懂接口、集成。 1.3按测试阶段分类 1.3.1单元测试(一般是开发人员进行) 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能。 1.3.2集成测试 是在单元测试基础上,将模块和模块结合成一个完整的系统进行测试,重视的是接口测试。 1.3.3系统测试

系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在运行环境下对计算机系统进行的一系列严格有效的测试。包含的测试类型: 1) 功能测试,测试软件系统的功能是否正确。 2) 性能测试,测试系统的负载。 3) 健壮性测试,测试软件系统在异常情况下能否正常运行的能力。健壮性有两 层含义:一是容错能力,二是恢复能力。 1.3.4确认测试(依据需求规格说明书) 又称有效性测试,检查软件的功能与性能是否与需求规格说明书中确定的指标相符。主要做功能测试和性能测试。 1) Alpha 测试:在开发环境中,模拟各类用户对即将发布的产品进行测试。 2) Beta 测试:在真实运行环境下实施的测试。 1.3.5验收测试 是指系统开发生命周期方法论的一个阶段,这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。 一般包含五类: 1) 功能确认测试:用户手册中提及的所有功能测试 2) 安全性测试:用户权限限制测试;系统备份与恢复测试;异常情况及网络故 障对系统的影响测试。 3) 兼容性测试:软件在规定的不同操作系统、数据库、浏览器运行是否正常。 4) 性能测试:系统性能指标和资源占有率测试。 5) 用户文档测试:各类文档描述清晰,包括软件安装、卸载测试。 1.4测试种类 1.4.1数据库设计测试(开发和设计阶段) 1.4.2需求测试(需求阶段) 1.4.3功能测试 1.4.4性能测试 1.4.5其他测试类型:安全性测试、兼容性测试、用户文档测试、单元测试、接口测试、冒烟测试 2、常用名词解释 1) 软件测试:在规定的条件下对程序进行操作,以发现错误,对软件质量进行 评估的一个过程,它是保障软件质量的重要方法。 2) 边界值:边界值就是软件操作界限所在的边缘条件。 3) 因果图法: 因果图方法是一种利用图解法分析输入条件的各种组合情况,从

软件测试综合题(参考答案)

软件测试综合试题 一、选择题 1、关于软件质量的描述,正确的是___B___ A.软件质量是指软件满足规定用户需求的能力; B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性; C.软件质量保证过程就是软件测试过程; D.以上描述都不对 2、___B___方法根据输出对输入的依赖关系设计测试用例。 A.路径测试B.等价类 C.因果图D.边界值 3、测试设计员的职责有:__B____ ①制定测试计划②设计测试用例③设计测试过程、脚本④评估 测试活动 A.①④ B.②③ C.①③D.以上全是 4、十进制102转换为二进制是_____B_ A.1100111 B.1100110 C.1100001 D.101111 5、下列软件实施活动的进入准则描述错误的是:___D___ A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 6、用边界值分析法,假定1

(完整版)软件测试基础习题及答案

1、软件测试的定义? 软件测试是一个过程或者一系列过程,用来确认计算和代码完成了其应该完成的功能,并且不执行其不应该有的操作。 2、软件测试的目标是什么? 是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,降低软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险。 3、简单描述一下软件测试的原则? 所有的软件测试都应追溯到用户需求 应当把“尽早地和不断地进行软件测试”作为测试者的座右铭 Good Enough原则 质量第一 充分注意测试中的群集现象 程序员应避免检查自己的程序 有据可依 尽量避免软件测试的随意性,要有预期结果 重视回归测试 妥善保存一切测试过程文档 4、软件测试中验证和确认的区别? Verfication 验证: 是保证软件正确实现特定功能的一系列活动和过程。 目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段设定的目标。 Validation 确认: 是保证软件满足用户需求的一系列的活动和过程。 目的是在软件开发后保证与用户需求符合 5、软件测试按照测试的基本策略可分为哪两种并加以详细说明? 白盒测试: 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。

黑盒测试: 黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 6、整个软件生命周期中,需要进行哪几项测试? 单元测试、集成测试、系统测试、验收测试 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。 一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。 集成测试 集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。 系统测试 系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。 验收测试 验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。

初学者入门教程:软件测试从零开始

https://www.360docs.net/doc/317916932.html,/296/3112296.shtml 本文面向软件测试新手,从测试前的准备工作、测试需求收集、测试用例设计、测试用例执行、测试结果分析几个方面给出建议和方法。鉴于国内的软件开发、测试不规范的现状,本文为软件测试新手提供了若干个软件测试的关注点。 【关键词】软件测试、测试用例、测试需求、测试结果分析 引言 几年前,从学校毕业后,第一份工作就是软件测试。那时候,国内的软件企业大多对软件测试还没有什么概念,书店里除了郑人杰编写的《计算机软件测试技术》之外,几乎没有其它的软件测试相关书籍,软件测试仅仅在软件工程的教材中作为一个章节列出来,因此,我对软件测试一无所知。不过,在正式走上工作岗位之前,公司提供了为期两周的系统的软件测试技术专题培训,对接下来的软件测试工作有很大的指导意义。现在,我继续从事软件测试的培训与咨询服务,在这个过程中,亲眼目睹了很多软件测试新手面对的困惑,他们初涉软件测试行业,没有接受系统的培训,对软件测试一无所知,既不知道该测试什么,也不知道如何开始测试。下面针对上述情况,给出若干解决办法。 测试准备工作 在测试工作伊始,软件测试工程师应该搞清楚软件测试工作的目的是什么。如果你把这个问题提给项目经理,他往往会这样回答:“发现我们产品里面的所有 BUG ,这就是你的工作目的”。作为一名软件测试新手,如何才能发现所有的 BUG ?如何开始测试工作?即便面对的是一个很小的软件项目,测试需要考虑的问题也是方方面面的,包括硬件环境、操作系统、产品的软件配置环境、产品相关的业务流程、用户的并发容量等等。该从何处下手呢? 向有经验的测试人员学习 如果你进入的是一家运作规范的软件公司,有独立的软件测试部门、规范的软件测试流程、软件测试技术有一定的积累,那么,恭喜你!你可以请求测试经理委派有经验的测试人员作为你工作上的业务导师,由他列出软件测试技术相关书籍目录、软件测试流程相关文档目录、产品业务相关的文档目录,在业务导师的指导下逐步熟悉软件测试的相关工作。其实,在很多运作规范的软件公司,已经把上述的师父带徒弟的方式固化到流程中。 如果你进入的是一个软件测试一片空白的软件企业,那么,也恭喜你!你可以在这里开创一片自己的软件测试事业,当然,前提是老板确实认识到软件测试的重要性,实实在在需要提高产品的质量。这时候,可以到国内的软件测试论坛和相关网站上寻找软件测试资源,这种情况下,自学能力和对技术的悟性就至关重要了。 阅读软件测试的相关书籍 现在,中文版的软件测试书籍越来越多,有的是国人自己写的,有的是翻译国外经典之作。可以到 https://www.360docs.net/doc/317916932.html, 或者 https://www.360docs.net/doc/317916932.html, 等网络购书的站点查找软件测试相

软件测试的概述及方法

软件测试的概述及方法 摘要 从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论。 关键字:软件测试、白盒测试、黑盒测试、类测试

目录 1 软件测试的发展史 (3) 2 软件测试的相关背景 (4) 3 软件测试的概述 (8) 3.1 软件测试的定义 (8) 3.2 软件测试的描述 (8) 3.3 软件测试的目的 (9) 3.4 软件测试的原则 (10) 4 软件测试的内容 (11) 4.1 验证 (11) 4.2 确认 (11) 5 软件测试的分类 (12) 5.1 常用分类 (12) 5.2 黑盒测试 (12) 5.3 白盒测试 (12) 5.4 静态测试 (15) 5.5 动态测试 (15) 6 软件测试中的类测试 (16) 6.1 测试中的关键 (16) 6.2 类测试技术 (16)

1 软件测试的发展史 软件测试方法之所以没能完全标准化和统一化,主要原因是因为软件产业产品到软件测试有各式各样的软件。但是目前仍有很多各样软件测试方法都基本可用的常用概念和方法。我们这里介绍的思路和方法就是可用于多数应用软件的测试。有六个有关软件测试方法的基本概念是很重要的:白箱测试,黑箱测试,灰箱测试,有效用例和无效用例,边界条件以及等价类测试。 20世纪60年代(软件工程建立前),为表明程序正确而进行测试。. 1972 年在北卡罗来纳大学举行了首届软件测试正式会议。. 1975年John Good Enough 和Susan Gerhart 在IEEE上发表了《测试数据选择的原理》的文章,软件测试被确定为一种研究方向。1979年,Glenford Myers 的《软件测试艺术》,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。20世纪80年代早期,“质量”的号角开始吹响。 软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。制定了各类标准。. 1983年,Bill Hetzel 在《软件测试完全指南》中指出:测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。20 世纪90 年代,测试工具盛行起来。. 1996年提出的测试能力成熟度TCMM (Testing Capability Maturity Model )、测试支持度TSM(Testability Support Model )、测试成熟度TMM (Testing Maturity Model )。. 到了2002年,Rick和Stefan 在《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命过程。

软件测试的基本概念

[模拟] 软件测试的基本概念 选择题 第1题: 在指定条件下使用时,软件产品维持规定的性能水平的能力。这是指软件外部质量的______。 A.效率 B.易用性 C.功能性 D.可靠性 参考答案:D 软件的效率是指:在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力。软件的易用性是指:在指定条件下使用,软件产品被理解、学习、使用和吸引用户的能力。软件的功能性是指:当软件在指定条件下使用,软件产品提供明确的和隐含的要求的功能的能力。软件的可靠性是指:在指定的条件下使用时,软件产品维持规定的性能水平的能力。 第2题: CMU SEI的watts Humphrey指出:软件产品必须首先提供用户所需要的 ______。 A.性能 B.人机界面 C.可靠性 D.功能 参考答案:D 软件质量是产品、组织和体系或过程的一组固有特性,反映它们满足顾客和其他相关方面要求的程度。如CMU SEI的watts Humphrey指出:“软件产品必须首先提供用户所需的功能,如果做不到这一点,什么产品都没有意义。其次,这个产品能够正常工作。如果产品中有很多缺陷,不能正常工作,那么不管这种产品性能如何,用户也不会使用它。” 第3题: 以下选项中不属于ISO软件质量模型的是______。 A.外部质量模型 B.使用质量模型 C.维护质量模型 D.内部质量模型

参考答案:C 按照ISO/IEC 9126—1:2001,软件质量模型可以分为内部质量模型、外部质量模型和使用质量模型3种,故该题不属于ISO软件质量模型的是C。 第4题: 下列关于软件质量模型的说法中正确的是______。 A.外部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力 B.容错性、通用性、结构性和通信性不全属于软件的质量特性 C.内部质量是表征软件产品在规定条件下使用时,满足规定的和隐含的要求的程度 D.使用质量是软件产品在规定的使用环境中规定的用户能实现规定目标的要求 参考答案:D 外部质量是针对要求的满足程度而言的,是表征软件产品在规定条件下使用时,满足规定的和隐含的要求的程度;而内部质量则主要是根据软件产品的情况给出的,是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力的产品属性的全体,故选项A和C叙述刚好颠倒,另外软件的质量特性有很多种,选项B中所述皆属于软件的质量特性,选项D中关于使用质量的叙述是完全正确的。 第5题: 下列选项中不属于使用质量的属性的是______。 A.有效性 B.安全性 C.稳定性 D.满意度 参考答案:C 软件的使用质量属性分为4种:有效性、生产率、安全性和满意度。 第6题: 下列软件属性中,软件产品首要满足的应该是______。 A.功能需求 B.性能需求 C.可扩展性和灵活性 D.容错、纠错能力 参考答案:A

最全软件测试基础教程(2011版)

软件测试基础教程 测试的基本概念 测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。 1、测试的分类: 从测试方法的角度可以分为手工测试和自动化测试。 手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。 自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。 从整体的角度可以分为单元测试、集成测试、系统测试、确认测试。 单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。 单元测试的依据是系统的详细设计;一般由项目组开发人员自己完成。 集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。 系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。 确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。 从测试原理上分为:白盒测试、黑盒测试和灰盒测试。 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子, 在完全不考虑程序内部结构和内部

软件测试知识点总结

软件测试知识点总结 第一次课10.7软件测试概述 一软件测试定义:使用人工或者自动的手段来运行或测定它是否满足规定的需求,或弄预期结果与实际结果之间的差别。 二软件测试的分类 1.按照开发阶段划分 a)单元测试:模块测试,检查每个程序单元嫩否正确实现详细设计 说明中的模块功能等。 b)集成测试:组装测试,将所有的程序模块进行有序、递增的测试, 检验程序单元或部件的接口关系 c)系统测试:检查完整的程序系统能否和系统(包括硬件、外设和 网络、系统软件、支持平台等)正确配置、连接,并满足用户需 求。 d)确认测试:证实软件是否满足特定于其用途的需求,是否满足软 件需求说明书的规定。 e)验收测试:按项目任务或合同,供需双方签订的验收依据文档进 行的对整个系统的测试与评审,决定是否接受或拒收系统。 2.按照测试技术划分 白盒测试:通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。--结构测试 黑盒测试:通过软件的外部表现来发现错误,是在程序界面处进行

测试,只是检查是否按照需求规格说明书的规定正常实现。 灰盒测试:介于白盒测试与黑盒测试之间的测试。 3 按照测试实施组织划分:开发方测用户测试第三方测试 4 是否使备测软件运行:静态测试动态测试。 课后作业:1.软件测试与调试的区别? (1)测试是为了发现软件中存在的错误;调试是为证明软件开发的正确性。 (2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。 (3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。(4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理过程。 (5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。 (6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。 (7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。 2.对软件测试的理解? 软件测试就是说要去根据客户的要求完善它.即要把这个软件还

软件测试综合练习题

软件测试综合练习题 一、名词解释题 1、测试用例 2、驱动模块 3、回归测试 4、静态测试 5、桩模块 6、强度测试 7、软件测试 8、自动化测试 9、动态测试 10、独立路径 二、问答题 1、软件测试涉及哪些关键问题? 2、简述软件测试过程的流程。 3、为什么说软件测试必须有预期结果? 4、什么是测试用例? 5、简述黑盒测试和白盒测试概念,并试分析两者的优点和缺点。 6、采用白盒测试法设计测试用例时,常用的逻辑覆盖测试方法有哪几种?请简单描述各种方法的目的。 7、黑盒测试有哪几种方法?请简单描述各种方法的特点。 8、简析已学的各种黑盒测试方法的特点,并分析如何选择恰当的黑盒测试方法? 9、简介WEB应用程序在压力下的常见错误类型。 10、单元测试的主要任务是什么? 11、简述自顶向下增量式测试和自底向上增量式测试两种集成测试方法,并比较两者的优点和缺点。 12、简述在哪些测试模块中应优先考虑引入自动化测试?自动化测试可以带来哪些优点? 13、在软件工程或软件测试中,哪些软件问题被称为软件缺陷? 14、简述软件测试与软件开发各阶段的关系。 15、在测试实施之前,如何才能确定好的测试策略和测试方法? 16、简述软件测试的目的和原则。 17、为什么在单元测试之后要进行集成测试?如何组织集成测试? 18、当WinRunner识别完GUI对象后,会将GUI对象的属性储存在GUI Map File,WinRunner提供二种GUI Map File模式: GUI Map File per Test模式与Global GUI Map File模式。 (1)请比较这两种GUI Map File 模式的优点和缺点。 (2)请分别说明在这两种GUI Map File模式下,WinRunner可以通过哪些方式学习被测软件的GUI? 19、介绍在 WinRunner 中GUI映射文件(GUI Map File)的作用。 20、什么是数据驱动脚本?简介在Winrunner中如何实现数据驱动脚本

相关文档
最新文档