软件测试复习要点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、软件质量:从资源、过程、产品三方面考察。

2、软件产品质量评估方法:度量、验证、测试、审查。

3、软件测试关键问题:测试需求、测试计划、测试设计、测试执行、测试管理。

4、软件质量问题产生原因:需求不清、缺乏有效的项目管理、缺乏有效的开发方法、不

遵守软件开发标准和规范、软件开发工具引发。

5、软件质量问题改进和提高:更先进的开发技术、严格的过程管理、严格的质量评测(软

件测试、软件度量、软件验证)。

6、区分错误、故障、缺陷和失效。

错误:人们所犯下的错误。

缺陷:人们犯下的错误在软件中的具体表现,如编码错误等。故障:驻留故障密度(没千行代码的故障数目)。

失效:缺陷/缺点在运行期的不正常表现。执行缺陷才会导致失效,不执行并不会导致失效。

7、软件质量属性:运行特性(正确性、可靠性、可用性、效率)、修正特性(可维护性、

灵活性、可测试性)、转移特性(可移植性、可复用性、共运行性)。

8、测试用例:是为特定的目的而设计的一组测试输入、执行条件和预期输出。

9、测试池:供选择的测试用例的集合。

10、测试集:一轮测试中所选中的测试用例的集合。

11、缺陷分类从软件内部设计来看主要有:输入/输出缺陷、逻辑缺陷、计算缺陷、接

口缺陷、数据缺陷。

12、测试目的:目的在于发现错误,检查系统是否满足需求。根本目的:一是发现错误;

二是通过测试的错误来改进软件开发过程中存在的缺陷。

13、一个好的测试用例在于发现了还未曾发现的错误;一次成功的测试则是发现了错误

的测试。

14、黑盒测试:在已知软件所应具有的功能的基础上,检查程序功能是否按需求规格说

明书的规定正常使用,功能是否有遗漏,性能等特性要求是否满足。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。特点:参考规格说明检查软件,不考察代

码,以用户视角进行测试。

15、白盒测试:也称透明盒测试,是已知软件实现的测试,

是通过程序的源代码进行测试而不使用用户界面。这种类

型的测试需要从代码句法发现内部代码在算法,溢出,路

径,条件等等中的缺点或者错误,进而加以修正。

16、白盒测试中的逻辑覆盖包括:

(1)语句覆盖:保证程序中的每条语句都这行一遍

(2)判定覆盖:保证每个判断取true和false至少一次

(3)条件覆盖:保证每个判断中的每个条件的取值至少满

足一次

(4)判定/条件覆盖:保证每个条件和由条件组成的判断的取值

(5)条件组合覆盖:保证每个条件的取值组合至少出现一次

(6)修正条件/判定覆盖:保证每个条件取到其所有可能值各一次;保证每个条件独立影响判断结果至少一次

(7)路径覆盖:覆盖程序中所有可能路径

相互之间关系:路径覆盖未必条件组合覆盖;条件组合覆盖未必路径覆盖;高覆盖未必找到更多错误,只是找到的可能性更大。具体关系如图:

17、各测试方法特点:

(1)随机法:测试是一种采样分析,程序输入空间太大,资源有限。

(2)等价类划分法:根据规约,将输入空间根据测试的等效性,划分为多个等价类,每个分类仅取一个或少量测试用例来进行测试。优点:有代表性、全面性。

(3)边界值法:边界值分析法就是对输入、输出或内部的边界值进行测试的一种测试方法,是作为对等价类划分法的补充。局限:系统性略差结合等价类法更好;

更多地基于可靠性理论中的“单故障”假设;不易测试多个输出都不处在边界,

但组合后处于变化极点的情况。

(4)正交试验法:是从大量的数据中挑选适量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法,使用已经造好了的正交表格来安排试验并进

行数据分析的一种方法。它简单易行并且计算表格化,应用性较好。特别适用

于输入为枚举值的情况。优点1节约测试工作工时2可控制生成的测试用例

的数量3测试用例具有一定的覆盖率缺点1需要数理统计技术支持2忽略

软件的内在特性3不保证覆盖两个以上的因素组合

18、数据流覆盖准则:全定义对任一变量x,和它的任一定义点s∈def(x) ,至少包含

到dpu(s, x) 或dcu(s, x)中节点的一条路径。所有定义至少使用一次

全谓词使用对任一变量x,和它的任一定义点s∈def(x) ,至少包含到dpu(s, x) 中每个节点的一条路径每个定义的每次谓词使用都应该被测试一次

全谓词使用/部分计算使用–对任一变量x,和它的任一定义点s def(x) ,至少包含到dpu(s, x) 中每个节点的一条路径; 如果dcu(s,x) 非空,至少包含一条到dcu(s, x)中节点的路径。

全计算使用/部分谓词使用–对任一变量x,和它的任一定义点s def(x) ,至少包含到dcu(s, x)中每个节点的一条路径,如果dpu(s,x)非空,至少包含一条到dpu(s,x)中节点的路径。全使用–对任一变量x,和它的任一定义点s def(x) ,至少包含到dcu(s,x)和dpu(s,x)中每个节点的一条路径。

全定义-使用路径–对任一变量x,和它的任一定义点s def(x) ,包含到dcu(s,x)和dpu(s,x)中每个节点的所有路径。

19、集成测试的集成策略及其优劣性:就是在测试对象分析的基础上,描述软件模块

集成(组装)的方式、方法

(1)非渐增式测试策略:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序。因为所有模块是一次集成的,所以很难确定出错的真正位

置、错误的原因,适合在规模较小的应用系统中使用。优点:测试周期短。工

作量小。缺点:因为所有模块是一次集成的,所以很难确定出错的真正位置、

错误的原因。适合在规模较小的应用系统中使用。

(2)渐增式测试策略:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。优点:相对于非渐

增式策略,可较早发现模块间的借口错误;发现问题也易于定位。缺点:测试

周期较长,可以同时投入的人力物力受限。

(3)衍变式集成方式:结合非增式集成方式和增殖式集成方式,包括,衍变的自顶向下的增殖测试,自底向上-自顶向下的增殖测试等。

20、驱动模块:用以模拟被测试模块的上级模块,接受测试数据,把相关的数据传送给

被测模块,启动被测模块,并获得相应的结果。桩模块:用以模拟被测试模块工作过程中所调用的模块,由被测模块调用,一般只进行很少的数据处理。

相关文档
最新文档