加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

tdd – BDD能否得到回报?

发布时间:2020-12-14 04:48:00 所属栏目:百科 来源:网络整理
导读:我对rspec [ Ruby]和specs [Scala]有点熟悉.星期六我通过了Cucumber的导师.我不喜欢Cucumber的是除了描述场景之外(就像你将使用spec或xUnit样式的测试一样),你必须实现额外的间接层:将场景步骤转换为ruby表达式.对我来说,创建不必要的(?)额外的间接层感觉
我对rspec [ Ruby]和specs [Scala]有点熟悉.星期六我通过了Cucumber的导师.我不喜欢Cucumber的是除了描述场景之外(就像你将使用spec或xUnit样式的测试一样),你必须实现额外的间接层:将场景步骤转换为ruby表达式.对我来说,创建不必要的(?)额外的间接层感觉就像“重量级”的J2EE方式,而不是像“轻量级”的ruby方式. “领域专家”的可理解性是黄瓜的唯一优势吗?或者开发人员/测试人员是否也有一些非显而易见的(技术?)优势?

解决方法

从实用的角度来看,BDD与TDD高度同义. Rspec是一个BDD测试框架,以及Cucumber.

利益相关者可以阅读和理解黄瓜验收规范当然是一个关键优势,但仅凭这一事实并不能真正实现黄瓜的实惠.您的功能和方案应该在某种程度上具有特定性,因为为它们完成的工作会在团队开发周期的价值流中进行.

有些团队可能会让分析师在周期开始时确定工作范围.有时这位分析师会写出小黄瓜验收规范,但是无论谁写了初稿,你都会期望它们的粒度相当粗糙.他们可能无法涵盖所有??不快乐的道路.

当开发人员开始工作时,他们经常会发现边缘情况和丢失的情况.此时,他们可以与分析师联系,并将此类对话的结果写入黄瓜功能.

根据我的经验,测试人员培养了更加批判的眼光,因此看到他们添加更多场景和功能并不罕见.测试人员也可能发现缺陷,这些缺陷应该添加到cukes中以保护我们免于回归.

关键是,除了为我们的代码提供可执行文档之外,Cucumber还提供了一个存储库,用于了解团队对话的状态以及正在开发的功能.

所有这一切都有额外的开销.但是,值得考虑的是团队流程中已经有多少开销,Cucumber可能会为此简化流程.我发现Cucumber有助于减少团队室内外通信中发生的捶打量.

我还应该提到黄瓜是用于全堆验收测试,因此相对于单元测试,黄瓜应该不那么细粒度.黄瓜不是单元和集成测试的良好替代品.我也绝不会建议使用黄瓜来验证应用UI的审美方面.只需使用它来验证用户在使用您的应用时可能采取的操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读