白盒测试实例--集成测试的概念
来源:互联网 发布:log4j.xml sql 编辑:程序博客网 时间:2024/05/29 11:50
转自胡添发(hutianfa@163.com):http://blog.csdn.net/aidisheng/archive/2008/09/06/2892771.aspx
一、桩模块和驱动模块(以C语言为例):
很多人对桩模块和驱动模块的概念会搞不清楚,下面先介绍这两个概念:
模块结构实例图:
假设现在项目组把任务分给了7个人,每个人负责实现一个模块。你负责的是B模块,你很优秀,第一个完成了编码工作,现在需要开展单元测试工作,先分析结构图:
1、由于B模块不是最顶层模块,所以它一定不包含main函数(A模块包含main函数),也就不能独立运行。
2、B模块调用了D模块和E模块,而目前D模块和E模块都还没有开发好,那么想让B模块通过编译器的编译也是不可能的。
那么怎样才能测试B模块呢?需要做:
1、写两个模块Sd和Se分别代替D模块和E模块(函数名、返回值、传递的参数相同),这样B模块就可以通过编译了。Sd模块和Se模块就是桩模块。
2、写一个模块Da用来代替A模块,里面包含main函数,可以在main函数中调用B模块,让B模块运行起来。Da模块就是驱动模块。
知识点:
桩模块的使命除了使得程序能够编译通过之外,还需要模拟返回被代替的模块的各种可能返回值(什么时候返回什么值需要根据测试用例的情况来决定)。
驱动模块的使命就是根据测试用例的设计去调用被测试模块,并且判断被测试模块的返回值是否与测试用例的预期结果相符。
二、集成测试策略:
1、
各个单元模块经过单元测试之后,一次性组装成完整的系统。
优点:集成过程很简单。
缺点:出现集成问题时,查找问题比较麻烦,而且测试容易遗漏。
范例:
2、
(1)自顶向下
A、 纵向优先
从最顶层开始测试,需要写桩模块。测试的顺序:从跟节点开始,每次顺着某枝干到该枝干的叶子节点添加一个节点到已测试好的子系统中,接着再加入另一枝干的节点,直到所有节点集成到系统中。
B、 横向优先
跟纵向优先的区别在于:每次并不是顺着枝干走到叶子,而是逐一加入它的直属子节点。
纵向优先的范例:
(2)自底向上
每次从叶子节点开始测试,测试过的节点摘掉,然后把树上的叶子节点摘下来加入到已经测试好的子系统之中。优点:不需要写桩模块,但需要写驱动模块。
范例:
- 白盒测试实例--10集成测试的概念
- 白盒测试实例--集成测试的概念
- 黑盒测试,白盒测试的概念
- 黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系
- 黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系
- spring集成测试实例
- 单元测试,集成测试,系统测试,验收测试,回归测试的概念
- 白盒测试概念
- SoC测试的概念及实例详解
- 测试项目过程 - 集成测试概念
- 软件测试 -- 比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系
- spring DAO 集成测试 实例
- 回归测试、白盒测试、黑盒测试等概念
- 白盒测试实例
- 白盒测试实例
- 白盒测试实例
- 白盒测试的测试用例分析实例
- 单元测试、集成测试、系统测试、验收测试、黑盒测试、白盒测试区别与联系
- B/S和C/S的区别
- POI写入海量Excel2007
- TCP长连接与短连接
- 黑盒设计测试用例方法
- 白盒测试实例--逻辑覆盖测试
- 白盒测试实例--集成测试的概念
- springmvc处理流程
- wxpythom入门
- CentOs6.5下配置nginx
- 关于UIEdgeInsetsMake
- UVa 694 - The Collatz Sequence
- 起先在女儿的房间里玩得不亦乐乎
- python读取xml放入dict字典中
- NAND flash和NOR flash的区别详解