软件测试复习要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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、驱动模块:用以模拟被测试模块的上级模块,接受测试数据,把相关的数据传送给
被测模块,启动被测模块,并获得相应的结果。桩模块:用以模拟被测试模块工作过程中所调用的模块,由被测模块调用,一般只进行很少的数据处理。