可测性设计是数字逻辑中一个众所周知的课题.其思想是,除非创建接缝,然后才能注入测试向量(在电子设计中,这些接缝被称为“边界”),就很难穷尽地操作复杂组合逻辑中一些难以触及的部分。
(免责声明:我的教育只涉及数字设计,不包括DFT的课程。)以上描述来自我的印象,可能包含不准确之处。)
测试驱动开发作为一种软件方法,迫使软件程序员遵循红色-绿色-重构方法.但是,它并没有具体说明应该如何编写代码;它只是指出了一种仪式,它有助于确保测试的结果基于最近的代码更改而发生变化。
人们普遍认为,测试驱动开发是实现软件可测试性设计的不可或缺的工具。然而,在哲学的讨论中(即哪一个是最基本的),可测试性设计是否更接近目标?
通过将TDD和DFT分开,我想知道是否有其他方法同样能够“插入正确的接缝/边界”到软件体系结构中,以实现相同水平的全面(深度)测试覆盖。
发布于 2017-02-25 13:49:42
TDD是一种软件开发方法,它要求对您的代码进行测试和设计,以便对其进行测试。因此,DFT是遵循TDD方法的结果。
有一个易于测试的设计不仅是因为你可以测试它,而且它也是更好的,因为你被迫有一个更模块化的设计。通过在组件A和组件B之间设置测试数据的“注入点”,您可以在将来用C替换A,否则,A和B可能会紧密耦合。
因此,我要说,DFT是代码的一般质量,实现DFT的一种方法(而不是单一的方法)是使用TDD。
https://softwareengineering.stackexchange.com/questions/342962
复制相似问题