单元测试的主要难点与对策

目录

  • 测试用例
    • 简易实用的测试用例编写规则
    • 低偶合的测试对象
  • 避免打桩操作
    • 传统设计方法的适应
    • 基于模型的设计方法

测试用例

简易实用的测试用例编写规则

测试用例的编写需要有简单易实施的指导规则。建议使用如下方案:

  1. 边界值法
    针对各个输入,进行一般等价类划分,之后在各类中选取边界值,输出测试用例。
    单元测试的主要难点与对策_第1张图片

  2. 边界值组合法
    各个输入的边界值需要进行完全组合,产生一系列测试用例。
    单元测试的主要难点与对策_第2张图片

低偶合的测试对象

等价类过多,输入参数过多,测试复杂度将呈现几何基数增加。因此,设计时需要控制偶合性:

  1. 以简为美:避免输入参数的个数过多,建议控制以3个以下;
  2. 避免输入的参数存在过多等价类,建议有效的等价类控制在3个以下,1个最好;
  3. 避免输出过多。
    单元测试的主要难点与对策_第3张图片
    这需要设计经验和对设计技术的掌握,同时这个要求也促使设计时的思考, 提高设计的水平。

避免打桩操作

单元测试的主要难点与对策_第4张图片
打桩对测试工具要求高,测试复杂性高、效率低。在一般的免费单元测试工具中并不支持打桩。
因此单元测试需要避免打桩操作。那么该如何对策呢?有以下两个方案:

传统设计方法的适应

单元测试的主要难点与对策_第5张图片
1.使用全局变量/对象属性进行输出, 尽量减少函数的相互调用。
2.分离模块的I/O操作,减少函数调用。
3.对函数调用进行封装,测试时不进行调用,而是通过全局变量输出函数ID和参数。
4.对通过函数调用获取输入的情况,同样封装为函数ID和全局变量的输入。

基于模型的设计方法

单元测试的主要难点与对策_第6张图片

  1. 使用matlab/simulink封装代码
  2. I/O部分进行隔离I/O部分进行隔离

你可能感兴趣的:(软件开发,单元测试)