1
1
这是个好问题。如果有一个正确的答案,那么更多的软件项目将获得成功并提供高质量。 我不认为,自上而下做出这样的改变是个好主意。它必须由开发人员自己驱动。所以TDD方向的培训是好的,但这是一项长期投资,需要时间。 如果您想要更快的解决方案,您应该考虑功能测试、验收测试和系统测试。通过这些测试,您几乎可以通过所有层测试整个应用程序。如果您正在开发Web应用程序,则应考虑使用 Selenium 自动化测试。使用它很容易创建测试(Selenium IDE)。 但是,仅使用这样的测试(而不是单元测试)并不能给您带来来自TDD的优势。 自动化测试至关重要。 |
2
2
首先,您需要调查测试驱动的开发,以便您能够用开发人员能够理解的术语以及您的管理来解释它。既然您似乎在开发Web应用程序,而且您有技术技能,我建议您大胆尝试,选择一个用于测试Web应用程序的开放源代码工具,安装它,并开始为您自己开发的任何东西构建测试。 Twill 是您需要的测试工具的一个例子。 然后,作为管理者,您需要诱使开发人员遵循您的示例,并奖励他们这样做。当他们不使用测试框架并且导致可预防的问题时,惩罚他们。一旦你遇到这样的事件,你就应该能够让你的老板上船,并获得一些动力。 总的来说,记住目标是减少工作以获得良好的结果。偷工减料是一种减少工作量的方法,但会导致坏结果的风险,或者显著的坏结果。使管理层了解风险水平和潜在风险成本。 不要为了测试而强迫人们做测试。它必须帮助他们提高生产效率,所以要仔细选择第一个项目。 |
3
1
你有测试或质量保证团队吗? 我将首先开始查看他们是否有测试用例来限定构建。否则,您将不得不开发这些测试用例来测试产品的核心功能。 下一步是自动化测试用例。 如果没有任何故障排除工具或调试功能,应用程序开发得很差,那么在将它们作为下一个版本的需求添加之前,将很难做到这一点。 我的2美分。 |
4
1
我不得不不同意Michaelkebe的观点——除了一些关键的开发人员外,这些变更还需要执行层的支持,才能完全成功。 如果没有这种支持,您将只是一些开发人员,他们看起来像是在“浪费时间为已经有效的东西编写测试”。 要有清晰的视野,要经常大声重复。 我不一定在这里提倡敏捷,但经常是为企业所有者点击。 如果你能在这方面销售它们,你所兴奋的事情(交付软件快速、易于维护、自动化测试等)就会发生。 |