当前位置:文档之家› 软件测试复习要点

软件测试复习要点

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、驱动模块:用以模拟被测试模块的上级模块,接受测试数据,把相关的数据传送给
被测模块,启动被测模块,并获得相应的结果。

桩模块:用以模拟被测试模块工作过程中所调用的模块,由被测模块调用,一般只进行很少的数据处理。

自顶向下
选定的结合策略(深度/宽度优先),每次用一个实际模块代替一个桩模块(新结合进来
不引进新错误,必要时进行回归测试自底向上 1.由驱动模块控制最底层模块的并行测试,也可以把最底层模块组合成实现某一特定软件功能的簇,由驱动模块控制它进行测试。

2.用实际模块代替驱动模块,与它已测试的直属子模块集成为子系统。

3.为子系统配备驱动模块,进行新的测试。

4.判断是否已集成到达主模块,否则执行(2)
21、非功能性测试内容:性能测试、兼容性测试、可用性测试、安全性测试、可靠性测
试、国际化测试。

系统测试=功能测试+非功能测试,系统测试是既测试产品功能也测试产品非功能的唯一测试阶段。

相关主题