当前位置:文档之家› 软件测试单元测试和集成测试

软件测试单元测试和集成测试

法;对软件结构中较下层,使用的是“自底向上”法, 两者相结合
24
三明治方法
集成测试
采用三明治方法的优点是:它将自顶向下和自底向
上的集成方法有机地结合起来,不需要写桩程序因为在
测试初自底向上集成已经验证了底层模块的正确性。采
用这种方法的主要缺点是:在真正集成之前每一个独立
的模块没有完全测试过。
25
集成测试
13
集成测试
渐增式集成模式与非渐增式集成模式 非渐增式测试模式:先分别测试每个模块,再把所有模块
按设计要求放在一起结合成所要的程序,如大棒模式。 渐增式测试模式:把下一个要测试的模块同已经测试好的
模块结合起来进行测试,测试完以后再把下一个应该测 试的模块结合进来测试。
14
自顶向下
29
集成测试
改进的三明治方法
30
END
31
A
B
C
D
E
F
•volunteer ??
19
集成测试
自顶向下:宽度优先
20
自底向上
集成测试
21
自底向上
A
B
C
E
集成测试
D F
•volunteer ??
22
自底向上
A
B
C
E
集成测试
D
B
F
E
A
C
D
F
d4
d5
d1
d2
d3
B
D
E
C
F
E
F
23
混合策略
集成测试
混合法:对软件结构中较上层,使用的是“自顶向下”
•解释这段代码含义 •volunteer ??
8
单元测试
驱动单元
•解释这段代码含义
void driver(X,Y,Z) {
•volunteer
int sum=0;
sum=add(X,Y);
if(Z==sum)
printf("test case CAL_ST_SRS001_001 OK!\n");
else
printf("test case CAL_ST_SRS001_001 fail!\n);
}
??
9
单元测试
驱动程序 和 桩程序 示意图
A
B
C
D
G
E
F
Test •volunteer ??
10
单元测试
驱动程序 和 桩程序 示意图
A
B
C
E
F
D
Test
G •volunteer ??
11
集成测试
桩单元
int stub_add(int a,int b) {
if((a==1)&&(b==1)) return 2;
if((a==2)&&(b==-1)) return 1;
if((a==3)&&(b==0)) return 3;
if((a==4)&&(b==1)) return 5;
............. }
集成测试
15
非渐增式模式
集成测试
A
B
C
D
E
F
(1)程序结构图
A
d1 d2 d3 d4 d5
B
C
D
EF
s1
s2
A
B
C
D
S3
S4
S5
E
F
(2)单元测试示意图
16
集成测试
自顶向下:深度优先
A
B
C
D
E
F
•volunteer ??
17
集成测试
自顶向下:深度优先
18
集成测试
自顶向下:宽度优先
非渐增式模式
采用大棒集成方法,先是对每一个子模块进行测试 (单元测试阶段),然后将所有模块一次性的全部集成 起来进行集成测试 。
因为所有的模块一次集成的,所以很难确定出错的 真正位置、所在的模块、错误的原因。这种方法并不推 荐在任何系统中使用,适合在规模较小的应用系统中使 用。
12
非渐增式模式
三明治方法
A
B
C
E
集成测试
D F
•volunteer ??
26
三明治方法
集成测试
27
集成测试
改进的三明治方法
改进的三明治集成方法,不仅自两头向中间集成,而且 保证每个模块得到单独的测试,使测试进行得比较彻底 。
28
集成测试
改进的三明治方法
A
B
C
D
E
F
•volunteer ??
集成)测试时所编制的调用被测模块的程序,用以模拟被 测模块的上级模块
❖ 桩程序(stub),也有人称为存根程序,对顶层或上层
模块进行测试时,所编制的替代下层模块的程序,用以模 拟被测模块工作过程中所调用的模块。
6
单元测试
Test
A
B
C
D
G
E
F
运行
驱动程序 调用
被测模块B
测试结果
桩程序
桩程序
7
单元测试
❖白盒测试方法(White-box Testing),也称结构测试或
逻辑驱动测试。白盒测试方法是根据模块内部结构了解, 基于内部逻辑结构,针对程序语句、径、变量状态等来 进行测试,检验程序中的各个分支条件是否得到满足、每 条执行路径是否按预定要求正确的工作。
5
单元测试
❖ 驱动程序(driver),对底层或子层模块进行(单元或
2
单元测试
❖ 单元实现了其特定的功能,如果需要,返回正确的值 ❖ 单元的运行能够覆盖预先设定的各种逻辑 ❖ 在单元工作过程中,其内部数据能够保持完整性,包
括全局变量的处理、内部数据的形式、内容及相互关 系等不发生错误 ❖ 可以接受正确数据,也能处理非法数据,在数据边界 条件上,单元也能够正确工作 ❖ 该单元的算法合理,性能良好 ❖ 该单元代码经过扫描,没有发现任何安全性问题
3
单元测试
单元测试的方法
❖ 单元测试主要采用白盒测试方法,辅以黑盒测试 方法。白盒测试方法应用于代码评审、单元程序 检验之中,而黑盒测试方法则应用于模块、组件 等大单元的功能测试之中
4
单元测试
黑盒测试 和 白盒测试
❖黑盒测试方法(Blake-box Testing),是把程序看作一
个不能打开的黑盒子,不考虑程序内部结构和内部特性, 而是考察数据的输入、条件限制和数据输出,完成测试
内容
•(1)单元测试
- 驱动程序 - 桩程序 - 互动
•(2)集成测试
- 自顶向下 - 自底向上 - 混合策略 - 三明治方法
1
单元测试
什么是单元测试?
❖ 单元测试就是对已实现的软件最小单元进行测试,以保
证构成软件系统的各个单元的质量
❖ 单元测试活动中,强调被测试对象的独立性
❖ 单元测试应从各个层次来对单元内部算法、外部 功能实现等进行检验,包括对程序代码的评审和 通过运行单元程序来验证其功能特性等内容。
相关主题