文档介绍:软件测试与质量保证复习提纲
提要:
【复习重点】单元测试(黑盒测试:边界值、等价类、决策表;白盒测试:语句覆盖、条件覆盖、判定(分支)覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖、基路径法、数据流测试——定义节点、使用节点)
【复习方法】立足于教材,重点看讲课课件及所讲过的习题
【复习题目】
黑盒测试:
边界值
一般边界条件法(4n+1)
健壮性边界条件法(6n+1)
最坏边界条件法(5(n))
健壮最坏边界条件法(7(n))
等价类:注意无效等价类
决策表:先得到等价类,简化决策表
白盒测试(程序流程图):
语句路径覆盖:被测程序的每个语句至少被执行一次 P93
判定(分支)路径覆盖:设计足够的测试用例,使得程序中的每一个判定至少都获得一次“真值”和“假值”,或者说使得程序中的每一个分支都至少通过一次 P94
条件路径覆盖:对每个判定中所包含的若干个条件,应设计足够多的测试用例,使得判定中的每个条件都至少取到一次“真值”和“假值”的机会,也就是说,判定中的每个条件的所有可能结果至少出现一次。(先列出判定中全部条件的所有可能取值范围,根据所有可能的取值范围设置测试用例)(注:满足条件路径覆盖度量标准的测试用例不一定满足判定路径覆盖度量标准)
判定/条件路径覆盖:通过设计足够多的测试用例,使得运行这些测试用例时,判定中的每个条件的所有可能结果至少出现一次,并且每个判定本身的所有可能结果也至少出现一次。(满足判定/条件路径覆盖的测试用例一定也满足判定路径覆盖、条件路径覆盖以及语句路径覆盖度量标准)
条件组合路径覆盖:通过设计足够多的测试用例,使得运行这些测试用例时,每个判定中条件结果的所有可能组合至少出现一次。(注:条件组合路径覆盖是对每个判定分别考虑它们的条件组合,而不是对整个程序中所有判定的所有条件的组合)(满足条件组合路径覆盖的测试用例,一定都满足前面4中覆盖方法)
基本路径法:包含一组以前没有处理的语句或条件的一条路径(画控制流程图,节点用标有编号的圆圈表示)
节点:一般代表了程序流程图中矩形框所表示的处理、菱形框所表示的判定条件,以及两条或多条节点的汇合点等
控制流:用带箭头的弧线表示,用来连接相关的两个节点,指示了程序控制的转移过程
圈复杂度V(G)= e –n +2 = 判定节点数+ 1 (每一个elseif以及每个case语句都算为一个判定节点)
其中 e表示程序控制流图中边的数量
n表示节点的数量
定义/使用法:按照程序中变量定义和使用的位置来选择程序的测试路径的一种测试方法。
在程序设计中,程序的变量有两种不同作用:
1、将数据存储起来(变量出现在赋值语句的左边)
2、将所存储的数据取出来(变量出现在赋值语句的右边)
常见的定义/使用路径错误包括:
1、引用一个未初始化的变量
2、一个变量的死(无用)定义
3、等待一个还没有安排的进程
4、安排了一个与自身相同的进程
5、等待一个先前已经被中止了的进程
6、引用一个在并行进程中被定义的变量
7、引用一个值不确定的变量
定义节点:变量关联的存款单元的内容变化
使用节点:变量关联的存储单元的内容保持不变
谓词使用:节点外度(出度)>=2
计算使用:节点外度(出度)<=1
注:一个变量节点不是定义节点就是使用节点,也可能两者都是。如
a = a + 1 或 a ++
关于变量V:
定义/使用路径:路径的最初节点是定义节点,最终节点是使用节点
定义清晰(清除)路径:只有路径的最初节点是定义节点,中间没有定义节点
注:定义清晰路径一定是定义/使用路径
一、简答题
1、简述软件测试的基本职责
1.、以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷
2、证明
3、检测
4、预防
2、试论述自底向上集成测试的实施步骤及其优缺点
实施步骤:
1、由驱动模块控制最低层模块的并行测试,也可以把最低层模块组合成实现某一特定软件功能的簇,由驱动模块控制它进行测试
2、用实际模块代替驱动模块,与它已测试的直属子模块组装成为子系统
3、为子系统配备驱动模块,进行新的测试
4、判断是否已组装到达主模块,是则结束测试;否则执行2
优点:任意的叶子级构件一准备好,就可以开始自底向上集成和测试。各子树的集成和测试工作可以并行的进行
缺点:驱动器的开发时自底向上集成中耗费最大的,需要编写的代码量很可能就达到被测系统代码量的两倍。
3、什么是集成测试,一般在何时进行;请论述其集成测试方法的分类
集成测试,也叫组装测试、联合测试、子系统测试和部件测试。它是单元测试的逻辑扩展,即在单元测试基础之上,将所有模块按照概要设计要求组装成为子系统或系统,进行测试。
集成