TDD 和测试优先开发(或测试优先编程)之间有区别吗?

2023-12-30

这两个想法对我来说听起来非常相似,但可能存在细微的差异,或者是完全相同的事情,但以不同的方式解释。 TDD 和测试优先开发/编程之间有什么关系?


驱动因素是什么是有区别的。

您是否对类(或系统 - 当然,这可以在不同的规模上发生)应该是什么样子有一个模糊的想法,然后想出测试来赋予它实际的形状?这就是TDD。

您是否确切地知道该类的公共 API 应该是什么,并且只在实现之前编写测试?这就是测试优先的开发。

我的风格往往是两者的混合。有时,在编写任何测试之前,API 应该是什么是显而易见的 - 在其他情况下,可测试性确实驱动了设计。

换句话说,TDD 从“我想问什么问题?”开始。而非 TDD(无论是否先测试)以“我想给出什么答案?”开始。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TDD 和测试优先开发(或测试优先编程)之间有区别吗? 的相关文章

  • 与 White 的集成测试[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有人有白色框架的经验吗 www co
  • 在 pytest 中,如何判断测试是否失败? (来自“请求”)

    我正在使用 Selenium 和 PYTEST 来测试网站 我想在测试失败时 并且仅在测试失败时 截取页面的屏幕截图 有什么办法可以做到这一点吗 当谈到这个时 文档很安静 或者我找不到它 我认为它会是这样的 request function
  • jest 无限期挂起,不运行任何测试

    每次我运行 jest 时它都不会运行任何东西 我已经让计数器任意升高 我用 no cache 运行 jest jest debug 输出如下 configs automock false browser false cache true c
  • Mockito、argThat 和 hasEntry

    tl dr 这些测试无法编译 因为类型参数不匹配 我应该做哪些更改才能使它们编译并运行 正确吗 https github com wesleym matchertest https github com wesleym matchertes
  • iPhone 操作系统测试最佳实践

    不久前 iPhone 的开发还相当简单 只有几个操作系统版本 甚至更少的设备 然而现在 有 2 个主要操作系统版本和 5 种不同的设备需要考虑 作为一家即将发布多个应用程序的公司 测试已成为越来越重要的问题 测试所有组合的最佳方法是什么 我
  • 将 gcov 与 CMake/CDash 结合使用的详细指南?

    我在我的项目中使用 CMake 并设置了 cdash 服务器以进行连续 夜间构建 一切运行良好 通过设置 crontab 我们可以将每小时 每晚的构建 测试结果自动上传到我们的 cdash 服务器 我的下一步是将测试覆盖率报告添加到构建中
  • 测试交互式Python程序

    我想知道python的哪些测试工具支持交互式程序的测试 例如 我有一个由以下人员启动的应用程序 python dummy program py gt gt Hi whats your name Joseph 我想要仪器Joseph所以我可以
  • jquery(或纯js)模拟按下回车键进行测试

    模拟用户按 enter 键的最佳方法是什么 element keypress 似乎不允许我传递按下的实际键 这是用于单元测试的 演示在这里 http jsfiddle net 3xTM2 var e jQuery Event keypres
  • 如何让JUnit打印断言结果

    如何将 JUnit 断言的结果打印到 到标准输出 我有一些这样的测试 Test public void test01 Position p getPositionAt a 1 assertNotNull a1 exists p assert
  • Visual Studio 2015 Enterprise 附带测试自动化工具?

    管理层正在研究自动化测试 我们的 QA 主管想知道 Visual Studio 2015 Enterprise 和 Team Foundation Server 2012 是否附带了任何自动化测试工具 据我所知 微软提供了一套工具作为一个单
  • 毒性测试,使用 setup.py extra_require 作为毒性 deps 源

    我想使用 setup py 作为安装测试包的权限 通过 extra requires 完成 如下所示 setup extras require test pytest Tox 似乎只能从requirements txt安装 https to
  • 使用 sinon 对 ES6 原型方法进行存根

    我在使用 Sinon 存根超类的原型方法时遇到问题 在下面的示例中 我将对超类方法 GetMyDetails 的调用进行存根处理 如下所示 我确信有更好的方法 actor sinon stub student proto proto Get
  • ATDD 与 BDD 以及框架的正确使用

    我刚刚开始了解 BDD 的概念 并且已经听了 Scott Bellware 与 Herding Code 人员的演讲 我一直在尝试使用 SpecFlow 并且非常喜欢它 我了解博客文章中描述的 ATDD 和 TDD 之间的区别BDD 工具分
  • 如何检查水豚中的复选框?

    我正在使用 Rspec 和水豚 我怎样才能写一个步骤来检查checkbox 我试过了check按价值但它找不到我的checkbox 我不知道该怎么做 因为我实际上有相同的 ID 但值不同 这是代码
  • Objective-C – 拥有包含 TestFlight SDK 的 TestFlight 配置

    我已按照 TestFlight 的说明复制 发布 配置 我还使用 TestFlight SDK 从我的应用程序获取实时报告 通过这样做 我必须在我的应用程序中包含一些 TestFlight 代码 当然 我不想在我的应用程序的发布版本中包含此
  • 出现异常时进行截图

    嘿 有没有一种方法可以在异常 任何异常 时捕获屏幕截图 我的 失败 解决方案位于BaseTestCase unittest TestCase子类 class BaseTestCase unittest TestCase classmetho
  • 通过 jquery/javascript 在警报或确认对话框中单击“确定”?

    我正在考虑在backbone js 和jquery 中编写一些UI 测试 它们可能不是最好的方法 但这是我正在考虑的事情 通过纯代码自动化测试而无需记录和回放 使用这种方法唯一让我摸不着头脑的是 在某些 用例流程 执行的 中 会出现确认 警
  • 找不到符号assertEquals

    我正在尝试为计算器编写第一个单元测试 但 NetBeans 说它找不到该符号assertEquals和注释 Test 我应该包括一些东西吗 我正在使用 NetBeans 7 3 1 和 W7 package calculator impor
  • 绕过 dev/urandom|random 进行测试

    我想编写一个功能测试用例 用已知的随机数值来测试程序 我已经在单元测试期间用模拟对其进行了测试 但我也希望用于功能测试 当然不是全部 最简单的方法是什么 dev urandom仅覆盖一个进程 有没有办法做类似的事情chroot对于单个文件并
  • 如何测试 google.maps.Geocoder?

    你好 我正在尝试编写一个 简单 测试来检查反应类组件状态更改 具体来说 我正在测试如果 Google 成功对我发送的某些字符串 地址 进行地理编码 lat 纬度 和 lng 经度 状态是否会发生变化 这是我想测试的示例 i e the la

随机推荐