首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原则上,为测试设计(DFT)比测试驱动开发(TDD)更重要吗?

原则上,为测试设计(DFT)比测试驱动开发(TDD)更重要吗?
EN

Software Engineering用户
提问于 2017-02-25 12:27:07
回答 1查看 480关注 0票数 1

可测性设计是数字逻辑中一个众所周知的课题.其思想是,除非创建接缝,然后才能注入测试向量(在电子设计中,这些接缝被称为“边界”),就很难穷尽地操作复杂组合逻辑中一些难以触及的部分。

(免责声明:我的教育只涉及数字设计,不包括DFT的课程。)以上描述来自我的印象,可能包含不准确之处。)

测试驱动开发作为一种软件方法,迫使软件程序员遵循红色-绿色-重构方法.但是,它并没有具体说明应该如何编写代码;它只是指出了一种仪式,它有助于确保测试的结果基于最近的代码更改而发生变化。

人们普遍认为,测试驱动开发是实现软件可测试性设计的不可或缺的工具。然而,在哲学的讨论中(即哪一个是最基本的),可测试性设计是否更接近目标?

通过将TDD和DFT分开,我想知道是否有其他方法同样能够“插入正确的接缝/边界”到软件体系结构中,以实现相同水平的全面(深度)测试覆盖。

EN

回答 1

Software Engineering用户

发布于 2017-02-25 13:49:42

TDD是一种软件开发方法,它要求对您的代码进行测试和设计,以便对其进行测试。因此,DFT是遵循TDD方法的结果。

有一个易于测试的设计不仅是因为你可以测试它,而且它也是更好的,因为你被迫有一个更模块化的设计。通过在组件A和组件B之间设置测试数据的“注入点”,您可以在将来用C替换A,否则,A和B可能会紧密耦合。

因此,我要说,DFT是代码的一般质量,实现DFT的一种方法(而不是单一的方法)是使用TDD。

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/342962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档