1 测试对象和目的

    软件单元测试的目的是检查每个软件单元能否正确地实现设计说明中的功能、性能、接口和其他设计约束等要求,发现单元内可能存在的各种差错。其对象时可独立编译或者汇编的程序模块。

2 测试的组织和管理

    软件单元测试技术是依据软件详细设计文档。

3 技术要求

  • 对软件设计文档规定的软件单元的功能、性能、接口等应逐项进行测试。

  • 每个软件特性应至少被一个正常测试用例和一个被认可的异常测试用例覆盖。

  • 测试用例的输入应至少包括有效等价类值、无效等价类值和边界数据值

  • 在对软件单元进行动态测试之前,一般应对软件单元的源代码进行静态测试。

  • 语句覆盖率100%

  • 分支覆盖率要达到100%

  • 对输出数据及其格式进行测试

4 测试内容

    (1)当静态测试时,所测试的内容与选择的测试方法有关。如,采用代码审查方法,通常要对寄存器的使用(仅限定在机器指令和汇编语言时考虑),程序格式、入口和出口的连接、程序语言的使用、存储器的使用等内容进行检查;采用静态分析方法,通常对软件单元的控制流、数据流、接口、表达式等内容进行分析。

    (2)动态测试:通常对软件单元的功能、性能、接口、局部数据结构、独立路径、出错处理、边界条件和内存使用情况进行测试。通常对软件单元接口的测试优先于其他内容的测试。

    (3)接口测试

  • 调用被测单元的实际参数与该单元的形式参数的个数、属性、量纲、顺序是否一致

  • 被测单元调用子模块时,传递给子模块的实际参数与子模块的形式参数的个数、数据、量纲、顺序是否一致。

  • 是否修改了只作为输入值得形式参数。

  • 调用内部函数的参数个数、属性、量纲、顺序是否正确。

  • 被测单元在使用全局变量时是否与全局变量的定义一致

  • 输入、输出文件属性的正确性

  • open/close语句的正确性

  • 缓冲区容量与记录长度是否匹配

  • 文件是否先打开然后使用

  • 文件结束条件的判断和处理的正确性

  • 对输入、输出错误是否进行了检查并做了处理及处理的正确性

    (4)局部数据结构

    不正确或不一致的数据类型说明错误的文件变量,如变量名拼写错缩写错等使用尚未赋值或尚未初始化的变量差错的初始值或差错的缺省值不一致的数据类型下溢、上溢或是地址差错全局数据对软件单元的影响

    (5)独立路径独立路径是指在程序中至少引进一个新的处理语句集合或一个新条件的任一路径。在程序的控制图中,一条独立路径是至少包含有一条在其他独立路径中从未有过的边的路径。

    (6)边界条件应测试软件单元在边界处能否正常工作,如,测试处理数组的第一个和最后一个元素;测试循环执行到最后一次;测试取最大值或最小值;测试数据流。控制流中刚好等于、大于或小于确定的比较值等。

    (7)差错处理测试软件单元在运行过程中发生过程中发生差错是,其出错处理措施是否有效差错的描述难以理解在对差错进行处理之前,差错条件已经引起系统的干预所提供的差错描述信息不足以确定造成差错的位置或原因显示的出错提示与实际差错不符;对差错条件的处理不正确意外的处理不当联机条件处理(交互处理)不正确

    (8)功能

    (9)性能:对软件单元的性能(如精度、时间、容量等)进行测试

    (10)内存使用

5 测试环境

6 测试方法 先静态后动态

7 测试过程 测试策划-测试设计-测试执行-测试总结

8 文档 

  • 软件单元测试计划

  • 软件单元测试说明

  • 软件单元测试报告

  • 软件单元测试记录

  • 软件单元测试问题报告