文档库 最新最全的文档下载
当前位置:文档库 › 软件测试复习重点

软件测试复习重点

软件测试复习重点
软件测试复习重点

软件测试重点

什么是软件质量?软件质量的范畴?

软件=程序+数据库+文档+服务

软件质量是:

1)满意用户的需求;

2)各种属性的组合程度;

3)游湖对软件产品的综合反映。

软件质量的范畴:

可移植性,可用性,可维护性。

什么是软件测试,软件测试和调试的区别是?

●测试是为了发现程序中的错误而执行的程序的过程;

●好的测试方案实际可能发现迄今为止尚未发现的错误的测试方案;

●成功的测试方案是发现尚未发现的错误的测试;

●总之测试就是为了发现软件中的错误。

●软件调试就是为了改正软件程序中的错误。

什么是黑盒测试?什么事白盒测试?他们的方法是什么?

黑盒测试:它是已知产品所应具有的功能的情况下,通过测试每个功能是否都正常使用。方法:等价类,边界值,决策表法,因果图法。

白盒测试:他是知道产品内部工作过程的前提下,检测产品内部动作是否按照规格说明书的规定正常进行。

方法:语句覆盖,判断覆盖,条件覆盖,判断/条件覆盖,条件组合覆盖,路径覆盖。

软件错误和软件缺陷的区别?

软件缺陷是:产品预期属性的偏离现象,包括检测缺陷和残留缺陷。

软件错误是:它是缺陷的一种,一种程序或系统的内部缺陷,主要是代码问题。

什么是单元测试?

单元测试是软件设计的最小单元——模块。单元测试是详细设计描述应对模块内所有重要的控制路径设计测试用例以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行的进行测试。

单元测试的主要任务?

1.模块接口测试

a.及对被测试的模块的数据进行测试,检查进出模块的数据是否正确。

b.测试是要包括全部的的模块接口:数据表,调用模块的参数,全程数据,文件输入\输

出操作等进行测试。

2.局部数据结构测试

a.局部数据测试要注意几个错误:不一致或不正确的数据类型说明;

b.使用尚未赋值或初始化的变量;

c.错误的初始值或默认值;

d.变量拼写与书写错误;

e.上溢,下溢或者地址错误等方面的问题。

3.路径测试

4.错误处理测试

5.边界条件测试

系统测试的测试内容?

1)恢复测试

2)安全测试

3)强度测试

4)性能测试

5)可用性测试

6)可靠性测试

软件测试人员的基本素质?

(这是一道主观题)

1.有逆向的思维能力

2.善于开发人员沟通

3.讨弄软件的需求设计

4.报告好的测试结果

5.善于同领导沟通

6.掌握一些自动化测试工具

7.有很强的学习能力

8.了解业务知识

9.提高自己的表达能力

全复杂度的计算方法:(e为边数,n为节点数,p为连接区域属)

1.方法一:V(G)=e-n+2p

2.方法二:V(G)=p+1;(p是图G中的判定节点数)

3.方法三:当p=1时V(G)=e-n+2

基路经的测试方法:

①导出程序的控制流图

②求换路径的复杂度V(G)

③确定只包含独立路径的基本路径集

④设计测试用例

测试用例是什么?

为特定的目的而设计的一组测试输入,执行条件和预期的结果的程序代码,测试用例是执行测试的最小实体。

测试用例可以分为几大类:

1.功能性测试用例

2.界面测试用例,适用于所有的测试阶段中的界面测试。

3.数据处理测试用例,适用于所有测试阶段中的数据处理测试。

4.操作流程测试用例,适用于所有的流程性测试。

5.安装测试用例,适用于所有安装测试。

软件缺陷:

什么事软件缺陷?软件缺陷的种类?

软件缺陷,即计算机系统或者程序中存在的任何一种破坏正常运行能力的问题,错误或者隐藏的功能缺陷,瑕疵。

从产品内部看,软件缺陷是软件产品开发或维护过程中所有存在的错误,毛病等各种问题。从外部看,软件缺陷就是系统所需要实现的某种功能的失效或者违背。

软件缺陷的种类:

软件缺陷的生命周期:

发现——打开

打开——修复

修复——关闭

软件测试过程模型

V模型

在软件测试方面,V模型是最广为人知的模型,尽管很多富有实际经验的测试人员还是不太熟悉V模型,或者其它的模型。V模型已存在了很长时间,和瀑布开发模型有着一些共同的特性,由此也和瀑布模型一样地受到了批评和质疑。V模型中的过程从左到右,描述了基本的开发过程和测试行为。V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现。W模型

W模型由Evolutif公司提出,相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。

W模型也有局限性。W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动,无法支持迭代、自发性以及变更调整。

X模型

X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序,然后再对这些可执行程序进行测试。己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。由图中可见,X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。但这样可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高。

H模型

H模型中, 软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。

这个示意图演示了在整个生产周期中某个层次上的一次测试“微循环”。图中标注的其它流程可以是任意的开发流程,例如设计流程或者编码流程。也就是说, 只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。

H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。H模型指出软件测试要尽早准备, 尽早执行。不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。

各种模型的特点:

V 模型——非常明确地标注了测试过程中存在的不同类型的测试。

W模型——非常明确地标注了生产周期中开发与测试之间的对应关系。

X 模型——这个模型指出整个测试过程是在探索中进行的。

H 模型——软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。

软件测试技术知识点整理

一、软件测试的定义 软件测试是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。 1.软件测试与调试的区别 (1)测试是为了发现软件中存在的错误;调试是为证明软件开发的正确性。 (2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。(3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。 (4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理过程。 (5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。 (6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。 (7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。 2.对软件测试的理解 软件测试就是说要去根据客户的要求完善它.即要把这个软件还没有符合的或者是和客户要求不一样的,或者是客户要求还没有完全达到要求的部分找出来。 (1)首先要锻炼自己软件测试能力,包括需求的分析能力,提取能力,逻辑化思想能力,即就是给你一个系统的时候,能够把整个业务流程很清晰的理出。 (2)学习测试理论知识并与你锻炼的能力相结合。 (3)想和做。想就是说你看到任何的系统都要有习惯性的思考;做就是把实际去做练习,然后提取经验。 总结测试用例,测试计划固然重要,但能力和思想一旦到位了,才能成为一名合格的软件测试工程师。 二、软件测试的分类 1.按照测试技术划分 (1)白盒测试:通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。--结构测试 (2)黑盒测试:通过软件的外部表现来发现错误,是在程序界面处进行测试,只是检查是否按照需求规格说明书的规定正常实现。--性能测试 (3)灰盒测试:介于白盒测试与黑盒测试之间的测试。

1《软件测试》复习提纲答案

《软件测试》复习提纲用答案 1.什么是软件测试?为何要进行软件测试? 软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程。 确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付前发现并改正。2.什么是软件缺陷?请举例。哪里出现的缺陷最多? 软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,未满足用户的需求。 术语:缺点(defect)异常(anomaly)偏差(variance)失败(failure)缺陷(bug)故障(fault)问题(problt)错误(error) 规格说明书出现的最多。 3.软件测试是否就是程序测试?哪些可以作为软件测试的对象? 不是。对象:程序、数据(库)、文档、服务 4.软件测试的目的是什么?软件测试的目标是什么?软件测试的原则是什么?目的(P7,4目的):测试的目的就是发现软件中的各种错误和缺陷;测试只能证明软件存在缺陷,不能证明软件不存在缺陷;测试可以使软件中缺陷降低到一定程度,而不是彻底消灭;以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。 目标:确保软件完成了它所承诺或公布的功能;为软件的质量评估提供依据;确保软件满足性能的要求;确保软件是健壮的和适应用户环境,为软件质量改进和管理提供帮助 原则(10项P6-7):所有的测试都应追溯到用户需求;保证测试的覆盖程度,但穷举测试是不可能的;越早测试越好,测试过程与开发过程应是相结合的;Pareto原则:测试中发现的80%的错误可能来自于20%的程序代码;测试的规模由小而大,从单元测试到系统测试;为了尽可能地发现错误,应该由独立的第三方来测试;不能为了便于测试擅自修改程序;既应该测试软件该做什么也应该测试软件不该做什么 5.软件测试如何分类?(P5) 按照程序是否执行:静态测试(审查、评审和走查)、动态测试 按照测试用例的设计方法:白盒测试、黑盒测试 按照开发阶段划分:单元测试、集成测试、系统测试、验收测试 按照测试实施的组织划分:开发方测试、用户测试(β测试)、第三方测试 按照是否使用工具:手工测试、自动化测试

系统集成知识点归纳总结

系统集成知识点归纳总结 软件工程:需求分析、设计、编码和测试 软件需求的分析方法(功能需求,非功能需求,设计约束) 1)结构化分析(Structured Analysis):是面向数据流的分析方法,(分层的)数据流图,数据字典,描述加工逻辑的结构化语言判定表判 定树是SA的工具 数据流图描述了对数据的处理流程,用来建立系统的逻辑模型 数据字典在需求分析阶段建立,通常作为数据流图的补充说明 数据字典最重要的作用是作为分析阶段的工具。在结构化分析,数据字典的作用是给数据流图上每个成分加以定义和说明 E-R 通常在需求分析后建立的实体关系模型,可用于描述数据流图数据存储及其之间的关系 需求分析阶段会用到层次方图,用例图,IPO图,不会用到N-S图IPO图:模块的输入输出,处理内容,模块的内部书库和调用关系N-S盒图,程序流程图,PAD图用于表示软件模块的执行过程,而E-R 图不适用 软件需求说明书是需求分析阶段最后的成果之一,包含数据描述功能描述,性能描述,不包含系统结构描述 SRS(Software Requirements Specification), 软件需求说明书 的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共

同的理解,使之成为整个开发工作的基础。包含硬件、功能、性能、输 入输出、接口需求、警示信息、保密安全、数据与数据库、文档和法 规的要求 一个软件系统的生命周期包含可行性分析和项目开发计划,需求分析,设计(概要设计和详细设计),编码,测试维护 程序流程设计在详细设计和实现阶段,软件的总体结构设计在概要设计,并在概要设计说明说进行说明 详细设计:程序流程设计,代码设计,数据库设计,人机界面设计 软件设计包软件的结构设计,数据设计,接口设计和过程设计 结构设计:定义软件系统各主要部件之间的关系 软件测试的对象包括源程序,目标程序,数据及相关文档 软件的完全测试是不可能的原因:输入输出量太大,输出结果太多以及路径组合太多,测试依据没有同统一的标准 软件测试可以分为单元测试,集成测试,(确认测试),系统测试,验收测试 白盒测试:根据程序内部结构进测试,对程序的所有逻辑分之进行测试,逻辑覆盖属于典型的白盒测试,,在进行动态测试时,需要测试软件内部的结构和处理过程,不需要测试产品功能;在进行静态测试时有静态结构分析法,静态质量度量法,代码检查法

2015--软件测试--期末重点复习资料

第一章 1.软件测试正反两方面的观点 正面观点:Bill Hetzel博士(软件测试领域的先驱,正向思维代表)主要观点是:软件测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作。 反面观点:Glenford J. Myers(反向思维的代表): 观点:测试是为了证明程序有错,而不是证明程序无错误。 2.软件测试的定义 IEEE 的定义: ?在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价。 ?分析某个软件项以发现现存的与要求的条件之差别(即错误)并评价此软件项的特性。 正确的定义:软件测是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体。 3.软件测试在软件开发中的地位 软件开发是生产制造软件;软件测试是验证开发出来软件的质量。类比传统加工制造企业,软件开发人员就是生产加工的工人,软件测试人员就是质检人员。 关系应该是: 1、没有软件开发就没有测试,软件开发提供软件测试的对象。 2、软件开发和软件测试都是软件生命周期中的重要组成部分

3、软件开发和软件测试都是软件过程中的重要活动。 4、软件测试是保证软件开发产物质量的重要手段。(网上) 4.P11 V模型 第二章 1.软件缺陷 定义:IEEE STD 729(1983)对软件缺陷给出了一个标准的定义: 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。 从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。主要类型:软件缺陷的主要类型/现象有: ?功能、特性没有实现或部分实现; ?设计不合理,存在缺陷; ?实际结果和预期结果不一致; ?运行出错,包括运行中断、系统崩溃、界面混乱;

软件测试知识点总结

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

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

App测试流程及测试点(个人整理版)

1 APP测试基本流程 1.1流程图 仍然为测试环境 15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。

1.3测试资源 测试任务开始前,检查各项测试资源。 --产品功能需求文档; --产品原型图; --产品效果图; --行为统计分析定义文档; --测试设备(ios3.1.3-ios5.0.1;Android1.6-Android4.0;Winphone7.1及以上;Symbian v3/v5/Nokia Belle等); --其他。 1.4日报及产品上线报告 1)测试人员每天需对所测项目发送测试日报。 2)测试日报所包含的内容为: --对当前测试版本质量进行分级; --对较严重的问题进行例举,提示开发人员优先修改; --对版本的整体情况进行评估。 3)产品上线前,测试人员发送产品上线报告。 4)上线报告所包含的内容为: ---对当前版本质量进行分级; ---附上测试报告(功能测试报告、兼容性测试报告、性能测试报告以及app可用性能标准结果); --总结上线版本的基本情况。若有遗留问题必须列出并记录解决方案。 2 App测试点 2.1安全测试 2.1.1软件权限 1)扣费风险:包括发送短信、拨打电话、连接网络等 2)隐私泄露风险:包括访问手机信息、访问联系人信息等 3)对App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测 4)限制/允许使用手机功能接入互联网 5)限制/允许使用手机发送接受信息功能 6)限制/允许应用程序来注册自动启动应用程序 7)限制或使用本地连接

8)限制/允许使用手机拍照或录音 9)限制/允许使用手机读取用户数据 10) 限制/允许使用手机写人用户数据 11) 检测App的用户授权级别、数据泄漏、非法授权访问等 2.1.2安装与卸载安全性 1)应用程序应能正确安装到设备驱动程序上 2)能够在安装设备驱动程序上找到应用程序的相应图标 3)是否包含数字签名信息 4)JAD文件和JAR包中包含的所有托管属性及其值必需是正确的 5)JAD文件显示的资料内容与应用程序显示的资料内容应一致 6)安装路径应能指定 7)没有用户的允许, 应用程序不能预先设定自动启动 8)卸载是否安全, 其安装进去的文件是否全部卸载 9)卸载用户使用过程中产生的文件是否有提示 10)其修改的配置信息是否复原 11)卸载是否影响其他软件的功能 12)卸载应该移除所有的文件 2.1.3数据安全性 1)当将密码或其他的敏感数据输人到应用程序时, 其不会被储存在设备中, 同时密码也不会被解码 2)输人的密码将不以明文形式进行显示 3)密码, 信用卡明细, 或其他的敏感数据将不被储存在它们预输人的位置上 4)不同的应用程序的个人身份证或密码长度必需至少在4一8 个数字长度之间 5)当应用程序处理信用卡明细, 或其他的敏感数据时, 不以明文形式将数据写到其它单独的文件或者临时文件中。以6)防止应用程序异常终止而又没有侧除它的临时文件, 文件可能遭受人侵者的袭击, 然后读取这些数据信息。 7)当将敏感数据输人到应用程序时, 其不会被储存在设备中 8)备份应该加密, 恢复数据应考虑恢复过程的异常通讯中断等, 数据恢复后再使用前应该经过校验 9)应用程序应考虑系统或者虚拟机器产生的用户提示信息或安全替告 10)应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告, 更不能在安全警告显示前,,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户11)在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作12)“取消”命令操作能够按照设计要求实现其功能 13)应用程序应当能够处理当不允许应用软件连接到个人信息管理的情况 14)当进行读或写用户信息操作时, 应用程序将会向用户发送一个操作错误的提示信息15)在没有用户明确许可的前提下不损坏侧除个人信息管理应用程序中的任何内容Μ

软件测试复习知识点

软件测试复习知识点 熟练掌握: 1.面向对象的单元测试中基于服务的测试策略 2.向对象中的基于状态测试的策略 3.软件测试与软件开发的关系 狭义定义测试:比如“程序设计”与“测试”之间的关系,传统上总以为程序设计在先,测试在后。这种专指测试程序代码,定义在编码之后的“测试”是一种狭义定义的测试。 广义定义测试:这种测试活动可以在软件开发生命周期的任何阶段进行。但是,随着开发不断地进行,越到后续阶段,找出错误并改正它的代价会越大 全新的软件开发模式:以测试驱动软件开发。软件测试贯穿了整个软件开发过程,软件开发生命周期的各个阶段中都少不了相应的测试,这种思想与软件质量保证的出发点是一致的。 4.系统测试的概念及其分类; 系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。 1.用户层:①用户支持测试;②用户界面测试;③可维护测试;④ 安全性测试; 2.应用层:①性能测试;②系统可靠性、稳定性测试;③系统兼容 性测试;④系统组网测试;⑤系统安装升级测试; 3.功能层: 4.子系统层; 5.协议/指标层; 5.常见的黑盒测试用例的设计方法 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。 ?在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完

软件测试的重要性讲解

软件测试的重要性讲解集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

软件测试的重要性 前言:软件迅猛发展凸现软件测试问题 随着软件业蓬勃发展,各种软件需求纷繁而来,在潮起潮落的IT洪流中,软件项目越来越凸现大型化、复杂化的发展趋势。几十人上百人的开发团队、成千上万的模块与接口、跨地域、跨系统的使用用户等情况早已屡见不鲜,所有这些,对项目质量管理提出了更高要求,如何满足各方需求,做出更好的软件系统测试管理逐渐成了大家目光的焦点。 软件的质量靠什么,靠管理、靠各个软件过程的严密配合。但勿庸置疑,质量的守护是靠测试。它就象一只看门狗,认真守护着软件质量这个“家”。 软件测试的重要性 测试是什么测试就是对项目开发过程的产品(编码、文档等)进行差错审查,保证其质量的一种过程。 软件业的迅猛发展也就是近几十年的过程,时间虽短,但许多误解似乎已根深蒂固,对测试的偏见也是如此。“软件的重点在于需求、在于分析、在于设计、在于开发,而测试,容易,没什么技术含量,找一些用户,对照需求尽力去测就行了;有时间多测点,没时间就少测点。”这种看法在许多项目经理、软件负责人的心中固守着,难以改变。

这种观念的结果有目共睹,是什么很简单,是大量软件BUG、缺陷的“流失”,从测试人员手中悄然而过,流失到用户手中,流失进项目维护阶段。随之而来的,便是用户无休止的抱怨、维护人员无休止的“救火”、维护成本无休止的增加。这是软件人员的梦魇! 恶梦总有醒来时,经过无数教训的重击,在不堪回首而不得回首的经历中,软件业的管理者发现:是他们错了,软件测试是不可忽视的。 “所有这些问题,假如在项目中测试到的话,便不会有造成不可收拾的结果了。”――人们终于意识到测试简单而纯真的真谛。 软件测试 软件测试从直观上来讲是对测试对象进行检查、验证,似乎很简单,但实际不然,它是由许多处理环节构成的。根据测试目标、质量控制的要求,它被划分为以下各类环节(如下图),并被设置了不同的准入、准出标准。 测试的主要过程及活动如上图所示,内容一目了然,在此就不一一详述了,只希望通过对测试重点问题、关注热点的介绍,帮助大家对测试管理有一个总体的把握。 测试方式中普遍存在的问题与点评 谈到测试,我们无法回避的是当前软件过程普遍存在的测试问题:

软件测试基础知识总结

一、什么是软件测试? 1979年,myer:软件测试就是为了发现错误而执行程序或系统的过程。 1983年,IEEE:软件测试即使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 二、现代软件测试活动的内容? 制定测试计划、设计测试用例、实施测试、提交缺陷报告、测试总结 三、软件测试的目的? GrenfordJ.Myers在《The Art of Software Testing》一书中的观点: 1、测试是程序的执行过程,目的在于发现错误 2、一个成功的测试用例在于发现至今未发现的错误 3、一个成功的测试是发现了至今未发现的错误的测试 简单的说,测试的根本目的就是确保最终交给用户的产品符合用户的需求,在产品交给用户之前尽可能多的发现并改正问题。 四、测试一般要达到的目标? 确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明; 确保产品满足性能和效率的要求; 确保产品是健壮的和适应用户环境的。 五、软件测试分类? 1、按测试策略分类: a静态测试与动态测试 静态测试 定义:不运行被测程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。 Ps:通过分析或检查源程序的文法、结构、过程、接口等来检验程序的正确性,找出缺陷和可疑之处,例如不匹配的参数、不适当的分支嵌套和循环嵌套、未使用过的变量、空指针的引用等;可采用人工和软件工具进行;静态测试工具的代表:telelogic公司的logiscope 软件、PR公司的PRQA软件等。 静态测试特点: 不必动态地运行程序,也不必进行测试用例设计和结果判断等工作; 可由人工进行,充分发挥人得逻辑思维优势; 不需要特别的条件,容易展开。 静态测试要点: 代码审查(code inspection或code review)、代码走查(walkthrough)、桌面检查、技术评审(软件需求分析和设计评审)、静态分析(使用软件工具,包括控制流分析、数据流分析、接口分析和表达式分析) 动态测试 定义:实际运行被测程序,输入相应的测试实例,检查运行结果和预期结果的差异,判断执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。 组成:构造测试实例、根据测试实例运行程序、分析程序的输出结果。 主要方法:黑盒测试和白盒测试。 动态测试特点: 实际运行被测试程序,取得程序运行的真实情况、动态情况,并进行分析; 必须生成测试数据来运行程序,测试质量依赖于测试数据;

软件测试基础知识整理

软件测试基础教程 测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。 一、测试的分类: 从测试方法的角度分为: (1)手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。 (2)自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。 > 从整体的角度分为: (1)单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。单元测试的依据是系统的详细设计;一般由项目组开发人员自己 完成。 (2)集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。 (3)系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。 (4)确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。 从测试原理上分为: . (1)白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 (2)黑盒测试:是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时, 把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它 只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。 黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测法。 A、等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子 集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试 用例设计方法。 B、边界值分析:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是 发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错 误。 C、错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的 方法。错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特 殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的 错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据 和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错 误的情况。可选择这些情况下的例子作为测试用例。

西北工业大学软件测试复习提纲

软件测试提纲 单元测试:Unit testing,一段代码的基本测试,实际大小未定,通常是一个函数或子程序,一般由开发者执行。单元测试是针对程序模块进行正确性检验的测试。从本质上讲,属于白盒测试。是测试过程的最小粒度。 集成测试:Integration testing,被测系统的所有组件都集成在一起,找出被测系统组建之间关系和接口中的错误。该测试一般在单元测试之后进行。 系统测试:System testing,系统测试实际上是针对系统中各个组成部分进行的综合性检验。尽管每一个检验有着特定的目标,然而所有的检测工作都要验证系统中每个部分均已得到正确的集成,并能完成指定的功能。 验收测试:Acceptance testing,它包括Alpha测试和Beta测试,系统开发生命周期方法论的一个阶段,由相关的用户和/或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收该系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。这是管理性和防御性的控制。 α测试:Alpha testing,既可以是一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试。Alpha测试不能由程序员或测试员完成。 β测试:Beta testing,软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。 静态测试:Static testing,不通过执行来测试一个系统,如代码检查、文档检查和评审等。静态测试是基于期望、专业经验、通用标准来对工作件的特征进行详细描述检查的一种测试方法。 动态测试:Dynamic testing,通过执行软件的手段来测试软件。 白盒测试:White box testing,根据软件内部的工作原理分析来进行测试,是基于代码的测试。测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件质量。白盒测试一般由项目经理在程序开发中进行。白盒测试也叫结构性测试、逻辑测试或基于程序的测试,是根据被测程序的内部结构设计测试用例的一类测试。 黑盒测试:Blackbox testing,指测试人员不关心程序具体如何实现的一种测试方法。根据软件的规格对软件进行各种输入和观察软件各种输出结果来发现软件的缺陷和测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。黑盒测试又叫功能性测试、数据驱动测试或基于规格说明的测试,是一种从用户观点出发的测试。 灰盒测试:Gray box testing,介于白盒测试与黑盒测试之间,灰盒测试结合了白盒测试和黑盒测试的要素,它考虑了用户端、特定的系统知识和操作环境。 功能测试:functional test,功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。 逻辑功能测试 界面测试:User interface testing,指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字、图片组合是否完美,操作是否友好,等等。测试的目标是确保用户界面为用户提供相应的访问或浏览功能,确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性。 易用性测试:Usability testing,指用户使用软件时是否感觉方便。 安装测试:Installing testing,确保该软件在正常情况和异常情况的不同条件下,例如,进行首次安装、升级、完整的或自定义的安装都能进行安装。安装测试包括测试安装代码以及安装手册。

软件测试重点试题及答案

程序员所做的测试工作并非真正意义上的软件测试,从本质上来说,应该称作“调试“。调试就是,在已知错误的情况下,对软件程序代码作出一系列检查,校正的过程。而软件测试则是在未知错误的情况下,检查程序代码是否有问题的过程。 1.2.2 软件测试的定义 a. 软件是一个集合,包括三部分:程序代码,文档,数据。 b. 软件测试就是为了发现错误而审查软件文档、检查软件数据和执行程序代码的过程,其目的在于在软件交付使用前充分发现缺陷并协助相关部门定位、解决缺陷,最后交付一个高质量的软件给用户。 c. 从广义上讲,软件测试是指软件产品生存周期内的所有检查、评审和确认活动。如设计评审、文档审查、单元测试、集成测试、系统测试、验收测试等。 d. 软件测试中称找缺陷的过程为找Bug。Bug表示电脑系统或程序中隐藏的错误、缺陷和问题。 一切不完美的地方,我们都可以认为其实一个Bug。 1.2.3 软件测试分类 (1)一般的,我们将软件测试活动分为以下几类:黑盒测试、白盒测试、灰盒测试、静态测试、动态测试、手动测试、自动测试等。 1)黑盒测试 黑盒测试又叫做功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试类型注重于测试软件的功能性需求。 测试工程师无需了解程序代码内部结构,完全模拟软件产品的最终用户使用该软件,检查软件产品是否达到了用户的需求。 2)白盒测试 白盒测试又称为结构测试、逻辑驱动测试或基于程序代码内部构成的测试。 测试工程师将深入考察程序代码的内部结构,逻辑设计等。 3)灰盒测试 灰盒测试是前两种测试的集合,一方面考虑程序代码的功能性表现,另一方面又要考虑程序代码内部结构。 像我们的功能测试,自动化功能测试就采用了灰盒测试的方法。 4)静态测试 静态测试,顾名思义,就是静态的、不执行被测对象程序代码而寻找缺陷的过程。通俗的讲,静态测试就是用眼睛看,阅读程序代码、文档资料等,与需求规格说明书中的客户需求进行比较,找出程序代码中设计不合理以及文档资料有错误的地方。 一般在企业、公司里召开正规的评审会,通过评审的方式,找出文档资料、程序代码中存在缺陷的地方,并加以修改。 在进行代码静态测试时,可以使用代码走查工具,如QA C++、C++Test等。 5)动态测试 动态测试即为实际的执行被测试对象代码,输入事先设计好的测试用例,检查程序代码运行的结果与测试用例中设计的预期结果之间是否有差异,判定实际结果与预期结果是否一致,从而检查程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能状况。 动态测试由四部分组成:设计测试用例、执行测试用例、分析比较输出结果、输出测试报告。 6)手动测试

软件测试人员6年工作经验总结

1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈! 2、一定要确定自己的发展方向,并为此目的制定可行的计划。不要说什么,“我刚毕业,还不知道将来可能做什么?”,“跟着感觉走,先做做看”。因为,这样的观点会通过你的潜意识去暗示你的行为无所事事、碌碌无为。一直做技术,将来成为专家级人物?向管理方向走,成为职业经理人?先熟悉行业和领域,将来自立门户?还是先在行业里面混混,过几年转行做点别的?这很重要,它将决定你近几年、十年内“做什么事情才是在做正确的事情!”。 3、软件开发团队中,技术不是万能的,但没有技术是万万不能的!在技术型团队中,技术与人品同等重要,当然长相也比较重要哈,尤其在MM比较多的团队中。在软件项目团队中,技术水平是受人重视和尊重的重要砝码。无论你是做管理、系统分析、设计、编码,还是产品管理、测试、文档、实施、维护,多少你都要有技术基础。算我孤陋寡闻,我还真没有亲眼看到过一个外行带领一个软件开发团队成功地完成过软件开发项目,哪怕就一个,也没有看到。倒是曾经看到过一个“高学历的牛人”(非技术型)带一堆人做完过一个项目,项目交付的第二天,项目组成员扔下一句“再也受不了啦!”四分五裂、各奔东西。那个项目的“成功度”大家可想而知了。 4、详细制定自己软件开发专业知识学习计划,并注意及时修正和调整(软件开发技术变化实在太快)。请牢记:“如果一个软件开发人员在1、2年内都没有更新过自己的知识,那么,其实他已经不再属于这个行业了。”不要告诉自己没有时间。来自时间管理领域的著名的“三八原则”告诫我们:另外的那8小时如何使用将决定你的人生成败!本人自毕业以来,平均每天实际学习时间超过2小时。 5、书籍是人类进步的阶梯,对软件开发人员尤其如此。书籍是学习知识的最有效途径,不要过多地指望在工作中能遇到“世外高人”,并不厌其烦地教你。对于花钱买书,我个人经验是:千万别买国内那帮人出的书!我买的那些家伙出的书,100%全部后悔了,无一本例外。更气愤的是,这些书在二手市场的地摊上都很难卖掉。“拥有书籍并不表示拥有知识;拥有知识并不表示拥有技能;拥有技能并不表示拥有文化;拥有文化并不表示拥有智慧。”只有将书本变成的自己智慧,才算是真正拥有了它。 6、不要仅局限于对某项技术的表面使用上,哪怕你只是偶尔用一、二次。“对任何事物不究就里”是任何行业的工程师所不应该具备的素质。开发Windows应用程序,看看Windows程序的设计、加载、执行原理,分析一下PE文件格式,试试用SDK开发从头开发一个Windows应用程序;用VC++、Delphi、Java、.Net开发应用程序,花时间去研究一下MFC、VCL、J2EE、.Net它们框架设计或者源码;除了会用J2EE、JBoss、Spring、Hibernate等等优秀的开源产品或者框架,抽空看看大师们是如何抽象、分析、设计和实现那些类似问题的通用解决方案的。试着这样做做,你以后的工作将会少遇到一些让你不明就里、一头雾水的问题,因为,很多东西你“知其然且知其所以然”! 7、在一种语言上编程,但别为其束缚了思想。“代码大全”中说:“深入一门语言编程,不要浮于表面”。深入一门语言开发还远远不足,任何编程语言的存在都有其自身的理由,所以也没有哪门语言是“包治百病”的“灵丹妙药”。编程语言对开发人员解决具体问题的思路和方式的影响与束缚的例子俯拾皆是。我的经验是:用面对对象工具开发某些关键模块时,为什么不可以借鉴C、C51、汇编的模块化封装方式?用传统的桌面开发工具(目前主要有VC++、Delphi)进行系统体统结构设计时,为什么不可以参考来自

测试工程师面试常见问题整理

目录 01.为什么要在一个团队中开展软件测试工作? (2) 02. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? (2) 03. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同 (2) 04.您认为做好测试用例设计工作的关键是什么? (3) 05. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试 的区别与联系。 (3) 06. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重 要的? (4) 07. 您认为做好测试计划工作的关键是什么? (5) 08. 您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在 测试用例设计工作中的应用。 (5) 09. 请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。 (6) 10. 您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能 测试工作的完整过程。 (6) 11. 您在从事性能测试工作时,是否使用过一些测试工具? (7) 12. 您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么? (7) 13. 在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提 交高质量的软件缺陷(Bug)记录?(bug的生命周期) (7) 14. 您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管 理?如果有,请结合该工具描述软件缺陷(跟踪管理的流程)。 (8) 15.如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好 的人际关系的关键是什么? (8) 16. 在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何 来对待这些事情的? (8) 17.你对测试最大的兴趣在哪里?为什么? (8) 18. 你的测试职业发展是什么? (9) 19. 你自认为测试的优势在哪里? (9) 20. 你以前工作时的测试流程是什么? (9) 21. 当开发人员说不是BUG时,你如何应付? (9) 22.你为什么想离开目前的职务? (10) 23.你对我们公司了解有多少? (10) 24.为什么我们应该录取你? (10) 25.单元测试、集成测试、系统测试的侧重点是什么? (10) 26.设计用例的方法、依据有那些? (10) 27.基于WEB信息管理系统测试时应考虑的因素有哪些? (10) 28.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 (13) 31. 面试官最后会问你有什么问题要问吗 (13)

软件测试复习重点(1)

简要回答软件测试的目的和原则。 目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。原则:1.所有的测试都应追溯到用户的需求2.尽早地和不断地进行软件测试3.不可能完全的测试4.80-20原则,测试发现的错误中80%很可能起源于20%的模块中。应孤立这些疑点模块重点测试。 5.注意测试中的群集现象 6.避免测试自己的程序 1.按测试技术划分,软件测试有哪些方法?每种测试方法的基本思想是什么?按测试阶段划分,软件测试包括哪些阶段?每 个阶段重点测试的内容是什么? 黑盒、白盒、灰盒测试 黑盒测试又叫功能测试,在测试中,把程序看作一个不能打开的黑盒子,程序是否能适当地接收输入数据而产生正确的输出信息。 白盒测试又叫结构测试,"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。 灰盒测试黑盒测试和白盒测试的结合,如先根据规格说明设计测试用例,然后根据代码进行测试用例的取舍和精化。 阶段划分:单元测试(测试对象:“单元”)、集成测试(是在单元测试的基础上,将所有模块按照设计要求集成为系统或子系统,并进行测试。)、系统测试(将整个系统看做一个整体来测试)、验收测试(由最终用户所做的测试,开发人员等共同参与的内部测试) 2.黑盒测试方法有哪些?每种方法的基本思想是什么?白盒测试中逻辑覆盖标准有哪些?给出每种覆盖标准的含义。 等价类测试(划分成若干个等价类,在每一个等价类中取一个数据来进行测试。)、边界值测试(在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值)、基于判定表的测试、因果图法(因果图法最终生成的是决策表。 利用因果图生成测试用例)、正交试验法(利用正交表构造测试数据集)、流程分析法、状态迁移法(转化测试方向来达到同一个目的) 语句覆盖(设计若干条测试用例,使程序中每条可执行语句至少执行一次。)、判定覆盖(分支覆盖)(设计测试用例,使程序中的每个逻辑判断的取真和取假的分支至少经历一次。)、条件覆盖(满足条件覆盖的一组测试用例)、判定-条件覆盖(使判定中每个条件的可能取值至少满足一次,并且使每个判定分支至少执行一次)、条件组合覆盖(使得每个判断表达式中条件的各种可能组合都至少出现一次)、路径覆盖(设计足够多的测试用例,覆盖程序中的每条可能路径。) 3.简述缺陷的等级划分,缺陷的生命周期及缺陷报告的组成。 严重缺陷、较大缺陷、较小缺陷、轻微缺陷、其他缺陷。测试发现BUG--开发修改BUG--测试拿到修改后的BUG做回归测试--通过则关闭(如还没解决则继续提交开发)。一个缺陷报告只包含一个Bug 缺陷标题测试的操作系统与浏览器测试步骤期望结果实际结果附件(图或视频) 4.使用LoadRunner进行性能测试的原理是什么?LoadRunner由哪些组件构成?测试的流程是什么? 原理:首先记录一个用户和后台的通讯包,然后通过复制通讯包来模拟多个用户同时向后台服务器发请求,同时监控后台服务器的资源消耗情况和响应时间。 组件:(1)脚本录制开发工具VuGen(2)集中控制器Controller(3)结果分析器Analysis 录制脚本,部署场景,分析结果。 测试分析->创建脚本->业务场景分析->创建场景->运行场景->监控场景->分析场景 5.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 这些测试的范围正好是逐步递增的关系,但是测试的人员角色是不同的,黑盒测试、白盒测试、单元测试:开发人员分在不同的开发阶段要做的事情。黑盒测试、集成测试、系统测试:测试人员在测试周期内级层做的工作。验收测试:一般是在用户方做的工作 6.描述一下你所记得的任何两个bug(要求使用缺陷描述的标准格式)。

软件测试基础知识汇总

黑盒测试主要是为了发现以下错误: 1、是否有不正确或遗漏的功能? 2、在接口上,输入能否正确地接受?能否输出正确的结果? 3、是否有数据结构错误或外部信息(例如数据文件)访问错误? 4、性能上是否满足要求? 5、是否有初始化或终止性错误? 黑盒测试用例方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交实验设计法、功能图法。 等价类划分法:把程序的输入域划分为若干部分,然后从每个部分中选取少数代表性数据作为测试用例,每一类的代表性数据在测试的作用等价于这一类中的其他值。 边界值分析法:对输入或输出的边界值进行测试,通常边界值分析法是作为等价类划分的补充,其测试用例来自等价类的边界。 错误分析法:基于经验和直觉推测程序中可能存在的错误,从而对有针对性的设计测试用例的方法。 因果图法:利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 判定表驱动法:判定表是分析和表达多逻辑条件下执行不同操作的。 正交实验法:从大量的数据中挑选适量的,有代表性的点,从而合理地安排实验的一种科学测试方法。 功能图法:由状态迁移图和布尔函数组成,状态迁移图用状态和迁移来描述,一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变,同时要依靠判定表或因果图表示的逻辑功能。 折叠LR函数: lr_start_transaction 为性能分析标记事务的开始 lr_end_transaction 为性能分析标记事务的结束 lr_rendezvous 在Vuser 脚本中设置集合点 lr_think_time 暂停Vuser 脚本中命令之间的执行 lr_end_sub_transaction 标记子事务的结束以便进行性能分析

第6套-软件测试整理修订试卷重点讲义资料

第六套 1.下列选项中不属于测试评估内容的是()。(选1项) a.对测试工作的总结 b.对测试过程的评估 c.对缺陷数据的分析 d.对测试人员的评价 2.在loadRunner中,能够帮助用户定位问题并生成性能测试报告的模块是()。(选1项) a.Load Generator b.MI Listener c.Controller d.Analysis 3.在XML中,下列关于标识和属性的描述中正确的是().(选1项) a.标识可以不成对出现 b.一个标识只能有一个属性 c.标识是由用户自己创建的 d.标识和属性是同一概念的不同表述方式 4.在linux中,从vi输入模式切换到命令模式,可以按下键盘的()键. (选1项) a.Shift b.Tab c.Ctrl d.Esc 5.在C语言中,下列用于连接两个字符串的函数是()。(选1项) a.strcpy b.strlen c.strcmp d.strcat 6.下列白盒测试策略中,通常需要实际运行被测程序的是()(选1项) a.桌前检查 b.静态分析 c.单元测试 d.代码评审 7.通常,如果用下图表示软件开发不同阶段引入缺陷的比例,则其中最能表示在需求说明书 阶段引入缺陷的是()(选1项)

a.① b.② c.③ d.④ 8.在计算机硬盘中,所有盘面上的同一磁道构成一个圆柱,通常被称作()(选1项) a.磁道 b.盘面 c.柱面 d.扇区 9.文档测试中需要对用户说明书进行测试,下列关于对用户说明书的测试说法中错误的是 ()(选1项) a.语言检查:检查标准是说明书语言专业,用词华丽 b.功能检查:检查标准是功能描述完整,准确,并且没有描述不存在的功能 c.图片检查:检查标准是图片正确,清晰 d.排版检查:检查标准是排版正确,合理,风格统一 10.对一台硬件正常的ATM机进行提取功能测试,若该机允许的提取增量为100元,提取金 额从100元到5000元人民币(含5000元人民币).使用等价类划分方法设计测试用例,则下列说法中错误的是()(选2项) a.提取20元人民币的数据输入属于无效等价类数据 b.提取150元人民币的数据输入属于有效等价类数据 c.提取5100元人民币的数据输入属于无效等价类数据 d.提取5000元人民币的数据输入属于无效等价类数据 e.提取2000元人民币的数据输入属于有效等价类数据 11.在TestDirector中,下列关于定制邮件内容的说法中错误的是()(选2项) a.TestDirector允许对项目邮件发送的条件进行定制 b.TestDirector具有自动向相关人员发送邮件的功能

相关文档