软件开发|单元测试的主要难点与对策


目录

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

测试用例 简易实用的测试用例编写规则 测试用例的编写需要有简单易实施的指导规则。建议使用如下方案:
  1. 【软件开发|单元测试的主要难点与对策】边界值法
    针对各个输入,进行一般等价类划分,之后在各类中选取边界值,输出测试用例。
    软件开发|单元测试的主要难点与对策
    文章图片

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

低偶合的测试对象 等价类过多,输入参数过多,测试复杂度将呈现几何基数增加。因此,设计时需要控制偶合性:
  1. 以简为美:避免输入参数的个数过多,建议控制以3个以下;
  2. 避免输入的参数存在过多等价类,建议有效的等价类控制在3个以下,1个最好;
  3. 避免输出过多。
    软件开发|单元测试的主要难点与对策
    文章图片

    这需要设计经验和对设计技术的掌握,同时这个要求也促使设计时的思考, 提高设计的水平。
避免打桩操作 软件开发|单元测试的主要难点与对策
文章图片

打桩对测试工具要求高,测试复杂性高、效率低。在一般的免费单元测试工具中并不支持打桩。
因此单元测试需要避免打桩操作。那么该如何对策呢?有以下两个方案:
传统设计方法的适应 软件开发|单元测试的主要难点与对策
文章图片

1.使用全局变量/对象属性进行输出, 尽量减少函数的相互调用。
2.分离模块的I/O操作,减少函数调用。
3.对函数调用进行封装,测试时不进行调用,而是通过全局变量输出函数ID和参数。
4.对通过函数调用获取输入的情况,同样封装为函数ID和全局变量的输入。
基于模型的设计方法 软件开发|单元测试的主要难点与对策
文章图片

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

    推荐阅读