7.1 动态白盒测试
动态白盒测试
 动态——测试运行中的程序;
 白盒——洞察盒子(软件)里面,检查代码
并且观察运行情况。

通过查看代码的内部结构、功能和实现方式得到的
信息来设计和执行测试,即确定哪些需要测试、哪
些不需要测试、如何开展测试等。

7.2 软件测试流程
测试执行过程根据不同的测试阶段又分为:
单元测试、集成测试、确认测试、系统测试、验
收测试等。

软件设计是一个自顶向下,逐步细化的过程。
软件测试则是依相反顺序的自底向上,逐步集成的过程。
低一级的测试为上一级的测试准备条件。

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
自动回归测试将大幅降低系统测试、维护升级等阶段的成本。

7.3 软件测试模型
软件测试模型是软件测试工作的框架,
描述了软件测试过程所包含的主要活动、活动之间的相互关系等。
 V模型
 W模型
 H模型
 X模型
7.3.1 单元测试和集成测试
 单元测试过程
由于每个模块在整个软件中并不孤立,它处于整个
软件结构的某一层上,被其他模块调用或调用其他
模块,其本身不能单独运行。
在对每个模块进行单元测试时,需要考虑它和周
围模块的相互联系。为模拟这一联系,在进行单元
测试时,必须设置若干个辅助测试模块。

单元测试过程辅助测试模块分为两种:
 驱动模块(driver): 用以模拟被测模块的上级
模块,相当于被测模块的主程序。
 桩模块(stub): 用以模拟被测模块的下级模块,
相当于被测模块调用的子模块。

单元测试环境
被测模块与其相关的驱动模块和桩模块共同构
成的一个“测试环境” 。

集成测试
在单元测试的基础上将已经通过测试的单元模块
按照设计要求组装成系统或子系统,再进行的测
试,以便发现与接口有关的各种错误。

 一些模块单独能够工作,并不能保证连接起来也
能正常工作。
 程序在某些局部反映不出的问题,在全局上很可
能暴露出来,影响功能的发挥。

 集成测试方法
 非增式集成测试法:
独立测试程序的每个模块,然后把它们组合成整个系统的测试方法。
 增量式集成测试法:
把一个待测试的模块组合到已经测试过的模块中,再进行测试的方法。
       –自顶向下集成(top-down):
从主控模块开始,按照软件的控制层次结构,逐步把各个模块集成在一起
    –自底向上集成(bottom-up)
从最下层的模块开始,按照程序的层次结构,逐渐形成完整的整体。