有一种东西,
如果它太小,需要付出的努力就太大;如果它太大,就很难测试。
没错!它是单元。
但是什么才是一个好的单元定义呢?为什么它如此重要?
单元的定义对测试过程有很大的影响,但同时单元的定义也是不精确的。如果以一种不恰当的方式定义单位,这可能意味着大量的努力甚至麻烦。术语“单元”的定义可见于iso 26262、istqb、aspice和许多其他文件。
我们的结论是:单元是一个小的可测试的软件组件。不幸的是,这种定义非常模糊。这样的定义不是用于工具,而是用于评估和审计。因此,在大多数组织中,这个术语是单独指定的。
定义术语“单元”有两种方法:通用描述和体系结构描述。
在通用描述中,单元将被定义为一个文件或一个函数。从特定的、体系结构的角度来看,单元是软件体系结构中的一个元素。基于体系结构的特定定义可以减少单元测试中测试对象的数量。以这种方式定义的单元可以包含多个文件中的多个函数。
这种方法不违反iso 26262或aspice的要求。此外,如果体系结构是自上向下开发的,您可以将体系结构的更高级别指定为纯集成测试,从而也将减少单元测试级别的测试对象。在单元级别省略的测试会在之后的软件集成测试(swe.5)中执行。
一些组织通过调整单元的定义来缩小他们自己的需求之间的差距。典型的补充包括:
更精确地定义单元,例如,在编程语言c中,将单元定义为函数级别的数据和指令的封装,或者
为单元构造过程提出要求,例如指定最大圈复杂度。
专业建议:对于具体项目来说,如果需求是好的,但太过笼统或太过严格,可以与客户讨论和协商,以定义一个一致的解决方案作为替代措施。这可以大大减少工作量。从风险的角度来看,定义单元的时间应该越早越好。
tpt可以测试所有类型的单元定义。从工具的角度来看,这并不是最重要的。为了将测试过程中产生的总工作量减少到最小,我们建议不要笼统地定义单元。这会为重构活动提供便利并减少额外的工作。
华为Wireless X Labs与软银将共同实现基于5G技术的智能服务机器人
意法半导体联手Arilou 展示汽车MCU上的入侵检测和防御系统解决方案
苹果的产品并不是完美的 从理性的角度来看苹果槽点
复位电路的三种方式
三极管用饱和Rce,而MOSFET用饱和Vds?
单元测试:会变化的定义
三星Note8到底长什么样?最靠谱三星Note8渲染图:指纹设计令人失望
特斯拉部分车型降价,最低售价6.95万美元!
随着5G技术的成熟,FPGA的需求量得到巨大提升
白平衡自动测量调整仪的工作原理实现设计
异质结太阳能电池中氢化本征非晶硅的设计
20项科技发展趋势,将在未来三十年改变世界
本期推荐:M12圆形连接器
分布式光纤测温系统分析
关于环境传感器BME680的性能分析和应用
如何判断冰箱的智能化程度
机器人技术应用于不锈钢抛光打磨的优势分析
全面屏智能手机给指纹识别带来了什么影响
可编程弹性显优势 数字电源管理IC大放异彩
以高性能电压基准为信号链设定高标准的“规矩”