TDD是否可以成功作为缺陷减少策略而不包含测试用例构建和评估的指导?
答案 0 :(得分:1)
答案 1 :(得分:0)
测试驱动开发可以减少QA周期中的缺陷,因为测试允许开发人员在将代码发布到QA团队之前发现缺陷。
但是如果没有关于如何进行测试的指导,你真的无法创造任何长期的好处,因为偶然的测试只能通过盲目的运气来防止缺陷。基于良好指导的良好测试可以大大减少缺陷。
答案 2 :(得分:0)
如果您没有重复缺陷的测试,您如何知道“缺陷减少”已经发生?
当然你做进行了测试 - 它们只是手动的,因此重现繁琐且耗时......
答案 3 :(得分:0)
引用它:
案例研究的结果表明,与未使用TDD实践的类似项目相比,四种产品的预释放缺陷密度降低了40%至90%。主观上,采用TDD后,团队的初始开发时间增加了15-35%
这是我所知道的关于TDD /单元测试的唯一实际实证研究,但有很多人(包括我自己)会传闻说TDD(以及一般的单元测试)肯定会提供一个提高代码质量。
根据我自己的经验,肯定会减少缺陷数量,但数字感觉远远低于微软研究中的40%;这是(再次,完全基于我所看到的)主要是因为大多数企业开发人员对单元测试(更不用说TDD)几乎没有经验,并且在他们学习的过程中总是做得不好。实际上学习如何做好TDD需要至少一年的经验,而且我从未参与(甚至见)一个团队实际上拥有这些经验的全部开发人员。 / p>
答案 4 :(得分:0)
您可能需要提取Gerard Meszaros xUnit Test Patterns的副本。具体而言,第5章可能最直接适用于您的问题,其中涵盖了测试自动化原理。我认为其中一些原则适用于您需要某种指导,共同利益或某种暗示的情景,或者担心这种情况:
进一步与我的经历有关,如果我们想谈谈公司开发人员,我看到一些有兴趣并且主动学习新事物的人,但往往是,有些人喜欢和流动,并喜欢为他们布置的东西。没有某种方向,无论是高级工程师类型的授权,还是某种联合团队的讨论(参见敏捷开发人员的实践,如每周一次的午餐时间会议等一些想法),我认为你的机会是成功将是有限的。
答案 5 :(得分:0)
在团队情况下,您的代码很可能被其他人使用,测试具有附加优势,可以减少缺陷,甚至无需改进任何人的代码。
如果文档很差(在开发过程中“常常”),那么测试就会对您希望调用代码的方式起到重要作用。因此,即使在代码非常脆弱的情况下,TDD仍然可以减少针对最终产品引发的缺陷数量 - 通过确保您的同事可以在使用您的代码之前看到编写良好的测试,您已经确保他们知道你打算如何在你的代码被调用之前使用它们。因此,它们不太可能以意想不到的顺序调用您的代码/没有配置您期望的东西(但忘记编写支票)作为先决条件。因此,它们不太可能触发失败条件,并且您不太可能看到它们或(人类)测试团队因为崩溃而引发缺陷。
当然,无论你是否看到“那里有一个隐藏的错误,它还没有被调用”,因为问题本身就是另一个好问题。