调查:开发是 TDD/BDD 应用的主要障碍

阅读数:1465 2016 年 8 月 1 日

话题:语言 & 开发架构

近日,测试服务公司QASymphony发布了《2016 年测试优先方法现状报告》,该调查涵盖了来自 15 个国家的 200 多个人 / 组织。调查的目的是评估测试优先方法的应用——BDD/ATDD/TDD——以及受访者对它们的看法。

以下是我们从这份报告中提取出的主要结论。

有将近一半的受访者没有实施 BDD/ATDD/TDD 方法。在已经采用此类技术的受访者中,有 37% 是去年实施的,只有一小部分(大约 13%)具有 3 年或 3 年以上的实践经验。

在那些已经在软件开发中实施了测试优先方案的受访者中,有将近一半的受访者是为了提高软件质量,有 23% 的受访者是为了团队成员之间可以更好地协作以及增进对产品需求的理解,有 12% 的受访者是为了更快地交付,而 8% 的受访者是为了更高的自动化程度。

在一半(52%)的受访组织中,开发人员和测试人员共同负责编写测试,而另有 40% 的受访组织,其测试编写由指定的测试人员负责。只有一小部分的软件制造商(2.7%),其测试编写完全由开发人员负责。

至于妨碍测试优先方法应用的因素,“害怕迫使开发人员在编写代码之前就促成测试”的受访者最多(约 44%)。在某些程序员中间,似乎对做那些似乎“无用”的事情存在着强烈的不满,他们更愿意做他们喜欢的事情,编写实现特性的代码。 “害怕随着一种新的自动化测试框架改变现有的测试过程或框架”的受访者人数次之(约 36%)。

45% 的受访者不到 3 个月就切换到了一种测试优先的方法,而有 30% 的受访者需要长达 1 年的时间。有一些(约 12%)需要 3 年或更长的时间。至于向其他对测试优先感兴趣的人提供建议,该调查在总结中指出,文化因素至关重要:

让整个团队以及组织的所有层面都参与进来是关键,这让你可以获得测试优先成功转变所需要的理解和协作。此外,耐心是关键,既包括找到规模合适的项目入手,也包括设定现实的目标,并在看到结果之前等待足够长的时间。总之,大多数组织在回过头来看测试优先方法实施时都会觉得,似乎技术技巧和工具实现都成了次一级的关注对象。

受访者使用了大量各种各样的测试优先工具,大部分是开源的。JUnit 是单元测试工具中的佼佼者,而 Cucumber 在 BDD 工具中具有类似的地位。

对于那些想要了解更多调查结论的读者,比如人们之前使用了其他什么过程,他们认为测试领域的下一个大事件是什么,他们对 TDD/BDD 有什么担忧,等等,我们建议您阅读完整的报告

查看英文原文Survey: Devs Are the Main Roadblock in Adopting TDD/BDD