《软件测试复习提纲》由会员分享,可在线阅读,更多相关《软件测试复习提纲(5页珍藏版)》请在金锄头文库上搜索。
1、一、题型1、选择题(15-20题)30-40分2、判断题(15-20题)15-20分3、综合题:45-55分A、 基本概念B、 白盒测试C、 黑盒测试二、 考点1. 软件测试的目的2. 软件测试的任务3. 软件缺陷产生的原因及特征4. 单元测试概念、方法、特点5. 集成测试概念、方法、特点6. 系统测试概念、方法、特点7. 白盒测试概念、方法、特点(包括语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖)8. 黑盒测试概念、方法、特点(等价类划分方法)9. 等价类的划分方法10. 其他与测试相关概念1.软件测试的目的(1)测试是程序的执行过程,目的在于发现错误。(不能证明程序的正确性,除
2、非仅处理有限种情况)(2)检查系统是否满足需求也是测试的期望目标。(3)一个好的测试用例在于发现了还未曾发现的错误;一次成功的测试则是发现了错误的 测试。 注意:测试无法说明错误不存在,只能说明软件错误已出现。2. 软件测试的任务通过执行程序,暴露潜在的错误3. 软件缺陷产生的原因及特征原因:(1)人在软件的设计阶段所犯的错误是导致软件失效的主要原因。 (2)软件复杂性是产生软件缺陷的极其重要的根源。特征:(1)软件的特殊性决定了缺陷不易看到,即“看不到”。 (2)发现了缺陷,但不易找到问题发生的原因所在,即“看到但是抓不到”。4. 单元测试概念、方法、特点概念:(1)是对软件基本组成单元进行
3、的测试。 (2)单元具有一些基本属性,如:明确的功能、规格定义,明确的与其他部分的接口 定义等,可清晰地与同意程序的其他单元划分。 (3)基本单元不一定是指一个具体的函数或一个类的方法。 (4)在具体实现时,也可能对应的是多个程序文件中的一组函数。方法:(1)自顶向下的单元测试策略 (2)自底向上的单元测试策略 (3)孤立的测试策略 (4)综合测试(详情请读PPT或课本)特点:单元测试的力度最小,主要测试单元是否符合“设计”,检验每个软件单元能否正确 地实现其功能满足其性能和接口要求。5. 集成测试概念、方法、特征概念:是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统,进行
4、 集成测试。也叫做组装测试、联合测试、子系统测试和部件测试。方法:非增量方式:大爆炸 增量方式:(1)自顶向下方法 (2)自底向上方法 (3)“三明治”方法(详情请读PPT或课本)特征:集成测试介于单元测试和系统测试之间,起到“桥梁作用”,将经过单元测试的模块逐步进行组装和测试,检测系统是否达到需求对业务流程及数据流的处理是否符合标准,检测系统对业务流处理是否存在逻辑不严谨及错误。与单元测试同步进行。6. 系统测试概念、方法、特征概念:系统测试是指将经过集成测试过后的软件,作为计算机系统的一部分,与计算机硬件、 某些支持软件、数据和人员等系统元素结合起来,在实际运行环境下对计算机系统进 行一系
5、列严格有效的测试来发现软件的潜在问题,保证系统的运行。方法:(1)性能测试 (2)压力测试 (3)容量测试 (4)健壮性测试 (5)安全性测试 (6)可靠性测试 (7)恢复性测试 (8)兼容性测试 (9)安装测试 (10)可用性测试(详情请读PPT或课本)特征:系统测试的力度最大,主要测试系统是否符合“需求规格说明书”,是否按软件需求 规格说明中明确的软件功能、性能、约束及限制等技术要求进行工作。7. 白盒测试概念、方法、特征概念:也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制 结构导出测试用例。方法:逻辑覆盖法:(1)语句覆盖 基本思想是:设计若干测试用例,运行被测
6、程序,使程序中每个可 执行语句至少执行一次。 【优点】 :可以很直观地从源代码得到测试用例,无须细分每条 判定表达式。 【缺点】 :由于这种测试方法仅仅针对程序逻辑中显式存在的语 句,但对于隐藏的条件是无法测试的。如在多分支的逻辑运算中 无法全面的考虑。语句覆盖是最弱的逻辑覆盖。 (2)判定覆盖 基本思想是:设计若干测试用例,运行被测程序,使得程序中每个 判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满 足。 【优点】:判定覆盖具有比语句覆盖更强的测试能力。同样判定覆盖 也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测 试用例。 【缺点】:往往大部分的判定语句是由多个逻辑条
7、件组合而成,若仅 仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏 部分测试路径。判定覆盖仍是弱的逻辑覆盖。 (3)条件覆盖 基本思想是:设计若干测试用例,执行被测程序以后要使每个判断 中每个条件的可能取值至少满足一次。 【优点】:增加了对条件判定情况的测试,增加了测试路径。 【缺点】:条件覆盖不一定包含判定覆盖。条件覆盖只能保证每个条 件至少有一次为真,而不考虑所有的判定结果。 (4)判定条件覆盖 基本思想是:设计足够的测试用例,使得判断条件中的所有条件可 能至少执行一次取值,同时,所有判断的可能结果至少执行一次。 【优点】 :能同时满足判定、条件两种覆盖标准。 【缺点】 :判定/
8、条件覆盖准则的缺点是未考虑条件的组合情况。 (5)条件组合覆盖 基本思想是:设计足够的测试用例,使得所有可能的条件取值组合 至少执行一次。 【优点】 :条件组合覆盖准则满足判定覆盖、条件覆盖和判定/条 件覆盖准则。 【缺点】 :线性地增加了测试用例的数量。 (6)路径覆盖 基本思想是:设计所有的测试用例,来覆盖程序中的所有可能的执 行路径。 【优点】 :这种测试方法可以对程序进行彻底的测试,比前面五种 的覆盖面都广。 【缺点】 :需要设计大量、复杂的测试用例,使得工作量呈指数级 增长,不见得把所有的条件组合都覆盖。 程序结构设计:(1)控制流分析 (2)数据流分析数据流分析最初是随着编译系统要
9、生成有效的目标代码而出现的,这类方法主要用于优化代码。数据流测试是指一个基于通过程序的控制流,从建立的数据目标状态的序列中发现异常的结构测试方法。数据流测试用作路径测试的“真实性检查”。 路径测试:(1)DD-路径测试给定采用命令式语言编写的一段程序,其DD-路径是有向图。其中,节点表示其程序图的DD-路径,边表示连续DD-路径之间的控制流。 (2)基本路径测试基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。 程序插桩:在软件测试中,常常要用到一种“插桩”技术,
10、通过在源代码中加入记录 信息语句,以便进行运行信息的追踪和调试,统计有关的运行资源状况。特征:依据软件设计说明书进行测试、对程序内部细节的严密检验、针对特定条件设计测试 用例、对软件的逻辑路径进行覆盖测试。8. 黑盒测试概念、方法、特征概念:黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试 来检测每个功能是否都能正常使用。方法:(1)等价类划分方法 (2)边界值分析方法 (3)错误推测方法 (4)因果图方法 (5)判定表驱动分析方法 (6)功能图分析方法(详情请读PPT或课本)特征:在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特 性的情况下
11、,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规 定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼 于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。9. 等价类划分方法等价类划分是把所有可能的输入数据,即程序的输入域划分分成若 干部分(子集),然后从每一个子集中选取少数具有代表性的数据 作为测试用例。划分等价类的规则:(1)如果输入条件规定了取值范围,可定义一个有效等价类和两 个无效等价类。 (2)如果规定了输入数据的个数,则类似地可以划分出一个有效 等价类和两个无效等价类。 (3)如规定了输入数据的一组值,且程序对不同输入值做不同处 理,则每个允许的输入值是一个有效等价类,并有一个无效 等价类(所有不允许的输入值的集合)。 (4)如果规定了输入数据必须遵循的规则,可确定一个有效等价 类(符合规则)和若干个无效等价类(从不同角度违反规则)。等价类划分法测试用例设计(1) 对每个输入或外部条件进行等价类划分,形成等价类表,为每一等价类规定一个唯一的编号;(2)设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;(3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;10. 其他与测试相关概念(略)