北大青鸟测试教程第04章
发布时间:2024-11-07
发布时间:2024-11-07
第4章 软件测试过程4.1 4.2 4.3 4.4 4.5 4.6 4.7
软件测试过程概述 单元测试 集成测试 系统测试 验收测试 回归测试 系统排错
4.1 软件测试过程概述软件测试过程与软件工程的开发过程 是相对的。第2章图2-1采用V形图表示软件 开发与软件测试的对应关系,也可以采用
图4-1所示的螺旋形图来表示这种关系。
系统需求分析 系统规格说明 设计 编码
S R D C U I ST V
单元 测 试 集成 测 试 系统 测 试 验收 测 试
图4-1 测试过程
单元测试的目的是保证每个模块单独运 行正确,多采用白盒技术,检查模块控制 结构的某些特殊路径,期望覆盖尽可能多 的出错点。经单元测试后的模块,组装为 软件包,对软件包进行集成测试,主要测 试软件结构问题,因测试建立在模块间的 接口上,所以多为黑盒测试,适当辅以白 盒测试技术,以便能对主要控制路径进行 测试。
系统测试主要是检验软件是否满足功能、 行为和性能方面的要求,这一步完全采用 黑盒测试技术。验收测试是检验软件产品 的最后一道工序,与前面各种测试过程的 不同之处主要在于它突出了客户的作用, 同时软件开发人员也要参与。
4.2 单 元 测 试单元测试是对软件设计的最小单元— —模块进行正确性检验的测试工作,主要 测试模块在语法、格式和逻辑上的错误。
单元测试应对模块内所有重要的控制路 径进行测试,以便发现模块内部的错误。 单元测试是检查软件源程序的第一次机会, 通过孤立地测试每个单元,确保每个单元 工作正常,这样比单元作为一个更大系统 的一个部分更容易发现问题。在单元测试 中,每个程序模块可以并行、独立地进行 测试工作。
4.2.1 单元测试的主要任务单元测试是针对每个程序模块进行测试, 单元测试的主要任务是解决以下5个方面的 测试问题。
1.模块接口测试针对模块接口测试应进行的检查,主要 涉及以下几方面的内容。
① 模块接受输入的实际参数个数与模 块的形式参数个数是否一致。 ② 输入的实际参数与模块的形式参数 的类型是否匹配。 ③ 输入的实际参数与模块的形式参数 所使用单位是否一致。
④ 调用其他模块时,所传送的实际参数 个数与被调用模块的形式参数的个数是否相 同。 ⑤ 调用其他模块时,所传送的实际参数 与被调用模块的形式参数的类型是否匹配。 ⑥ 调用其他模块时,所传送的实际参数 与被调用模块的形式参数的单位一致。 ⑦ 调用内部函数时,参数的个数、属性 和次序是否正确。
⑧ 在模块有多个入口的情况下,是否有引 用与当前入口无关的参数。 ⑨ 是否会修改了只读型参数。 ⑩ 出现全局变量
时,这些变量是否在所有 引用它们的模块中都有相同的定义。 11. 有没有把某些约束当做参数来传送。
2.模块局部数据结构测试
3.模块中所有独立执行路径测试4.各种错误处理测试 5.模块边界条件测试
4.2.2 单元测试的执行过程一般情况下,在完成了程序编写、复查 和语法正确性验证后,就应进行单元测试。 测试用例设计应与复审工作相结合,根据 设计信息选取数据,将增大发现上述各类 错误的可能性。
在进行单元测试时,需设置若干辅助 测试模块。辅助模块有两种,一种是驱动 模块(Driver),用以模拟被测试模块的 上级模块。 另一种是被调用模拟子模块 (Sub),用以模拟被测模块工作过程中 所调用的模块。图4-2显示了一般的单元测 试环境。
驱动模块
界面局部数据结构 边界条件 独立路径
被测模块
结果
错误处理路径
模拟被调用子模块
测试用例
图4-2 一般单元测试环境
4.2.3 单元测试技术和测试数据用于单元测试的主要技术如下。
1.静态测试 2.白盒测试 3.状态转换测试 4.功能测试和非功能测试
上一篇:(轴心)受压构件正截面承载力计算
下一篇:英文 自由贸易和保护主义