- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们内部开发了大约七个不同的网站。它们是跟踪不同人力资源申请并帮助我们的一些员工通过日程安排完成工作的网站。今天,首席软件设计师告诉我开始使用 phpUnit 为我们现有的代码编写测试用例。我们的主网站至少有一百万行代码,其他网站都是其分支,可能有几万到几十万行。
这些代码都不是通过任何明显的设计方法编写的。我们是否值得真正回顾所有代码并对其应用 phpUnit 测试?我觉得如果我们想这样做,我们可能应该从一开始就这样做。另外,如果我们确实决定开始进行单元测试,我们不应该从现在开始采用 TDD 吗?我知道事实上这不会是一个优先事项。
tl;dr:我被告知要为现有代码编写部署后测试用例,但我知道现有代码和 future 代码尚未/不会在创建时考虑到 TDD 原则。这值得么?可行吗?
最佳答案
你还改代码吗?然后您将从编写测试中受益。
更难的问题是:首先测试什么?一种可能的答案是:在更改之前测试您要更改的代码。
您无法在编写所有代码数年后对其进行测试。对于您的公司将获得的 yield 来说,这可能会花费太多的时间和金钱。
此外,“从 PHPUnit 开始”非常困难,这种方法的好处在最初几个月或几年内可能不是那么大,因为您仍然会测试非常小的代码单元而无法还要检查整个系统是否正常工作。您还应该从使用虚拟浏览器的端到端测试开始,该浏览器在您的页面上“单击”并期望显示一些文本。搜索关键字为“Selenium”或“Behat”。
I know that the existing code and future code has not been/will not be created with the principles of TDD in mind
future 会发生什么,这是所有开发者的态度问题。对于未经测试的现有代码,它们可能永远不会发生。由不情愿的开发人员编写的新代码也不会经过测试。但有意愿的开发人员可以有所作为。
请注意,这不仅仅需要首席软件设计师告诉团队开始测试。如果您以前没有这样做过,并且没有基础设施不断运行这些测试以确保它们仍然有效,那么您必须接受指导并需要适当的专业帮助。设置这一切意味着相当大的努力,如果首席软件设计师或任何更高的老板准备在这方面花费时间和金钱,您应该感到非常高兴,因为您可以学到一些东西并构建更可靠的软件。
如果不是,这种方法很可能会因为被动积极的否认而失败。
关于php - 追溯 phpUnit 测试 : is it worth it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38255846/
在我的 chrome 控制台中,我试图了解导致调用某些 javascript 的步骤是什么文件。实际上,当我在单击输入文件标签后从我的计算机导入文件时,会调用一些 javascript 文件,但我不知
最近,我在 Kali Linux 中使用了 wifi phisher 工具。当我在列表中输入 AP 数量时,我在终端中得到以下跟踪: Traceback (most recent call last)
我叫米奇。以前,我在堆栈交换方面的数学和物理方面获得了惊人的帮助。我认为溢出是相关的,但我意识到我应该将这个问题放在一个问题上。我已经尝试了很多次,以尝试向自己介绍编程知识,特别是python,阅读全
我们内部开发了大约七个不同的网站。它们是跟踪不同人力资源申请并帮助我们的一些员工通过日程安排完成工作的网站。今天,首席软件设计师告诉我开始使用 phpUnit 为我们现有的代码编写测试用例。我们的主网
这是我的问题: 我使用 Subversion 有一段时间,直到我切换到 Git。又过了一些时间。 没有将历史从 Subversion 导入到 Git。这是一个严格的检查,删除 .svn 目录,然后是
我的目标是在这个gmail gem中找到调用save_attachments_to的地方自述文件示例: folder = "/where/ever" gmail.mailbox("Faxes").em
我在运行 C++ 应用程序时遇到段错误。在 gdb 中,它以某种方式显示我的一个指针位置已损坏。但是我在申请期间创建了 10 万个这样的对象指针。我怎样才能看到导致崩溃的一个我可以在 bt 命令中执行
我现在正在 BigQuery 中设置 GA4/Firebase 并使用 dbt在它之上进行分析。 由于这两个源的数据非常大,我想激活增量加载,只更新今天+昨天的分析模型(而不是每次都完全刷新所有数据)
我正在使用 React Redux。我的代码中的值似乎被覆盖了。我的已连接 (mapStateTo...) 组件的 this.props 来 self 的代码的未知部分。 我的任务直接链接到另一个关于
我一直在学习 Python 并从互联网上获取不同的东西并将它们全部放入我正在制作的这个游戏中:“你醒来......”这是一个基于文本的 assci RPG(滚动游戏)。它一直有效,直到出现此错误: T
上下文 由于使用 numpy.ma 模块进行掩码比直接 bool 掩码慢得多,因此我必须将后者用于我的 argmin/argmax-计算。 一点比较: import numpy as np # Mas
我在 Visual Studio 2013 中使用 asp.net mvc 迈出了第一步,但遇到了一个奇怪的问题。 我以 MVC 的形式开始了我的项目,并且没有选中“Web API”框来包含核心引用。
我是一名优秀的程序员,十分优秀!