Questions tagged «bdd»

BDD代表“行为驱动的开发”,它是一种软件开发风格,通过从用户的角度识别和探索系统或较小的代码元素如何工作的方式,鼓励开发人员和利益相关者之间的合作。

3
当自然语言模棱两可时,行为驱动开发如何提高清晰度?
我目前正在探索诸如黄瓜之类的BDD测试框架,当有人说时我感到很好奇 由于功能文件使用简单的自然语言,因此可以提高清晰度并提供清晰的视野 但是,自然语言难道不是我们在软件工程中遇到的大多数麻烦的原因吗? 自然语言是模棱两可的,这就是许多软件项目由于对客户需求和开发人员的理解的错误理解而失败的原因。我没有在这里的利基。 是的,将测试分解为微小的简单可行的操作是有意义的,并且可以提供一定程度的清晰度,但这是否可以整体上提高生产率? PS:我不是专家,在这里也没有发表意见。我很好奇理解这个概念。
9 bdd  cucumber 

1
测试单元与集成之间的差距:小型,组件,单元集成测试中的集成
在过去的几周中,我一直在研究和研究如何填补我们的测试方法中的空白。简而言之,单元测试太小,而传统的集成测试太大。 经常出现的情况是A,B两者都使用component C。但是A,B对的要求略有不同,并且对做出略有不同的假设C。如果我是A如何以及在哪里测试我的假设的开发人员C? 显然,A带有模拟假设的单元测试C可以很好地进行A隔离测试,但是它不能测试假设本身。 另一种可能性是为添加单元测试C。但是,这不是理想的,因为A在开发过程中,C根据不断变化的假设更改测试A将非常笨拙。确实,A开发人员甚至可能没有足够的权限访问C(例如,外部库)的单元测试。 用一个更具体的例子来说明这一点:假设这是一个节点应用程序。 A,并B依赖于C读取文件(以及其他内容)并将文件内容存储在传递给的对象中C。最初,所有C处理的文件都很小,可以同步读取而不会产生明显的阻塞。但是,的开发人员B意识到他的文件越来越大,需要切换C到异步读取。这会导致中出现零星的同步错误A,该错误仍假定C是正在同步读取文件。 众所周知,这种错误很难从完整的集成测试中找到,并且根本不会在集成测试中发现。它也不受As单元测试的影响,因为As的假设是模拟的。但是,可以通过“ just” A和“ C。”行使的“迷你”集成测试轻松抓住它。 我只找到了关于这种测试的一些参考。小型集成,组件集成测试,单元集成测试。它还与BDD测试的方向有关,而不是正式的TDD单元测试。 如何填补这个测试空白?具体来说-我应该在哪里进行此类测试?如何嘲笑的投入A,并C为“迷你型”集成测试?在分离这些测试和单元测试之间的测试关注点上应该付出多少努力?还是有更好的方法来填补测试空白?

5
如何在BDD规范研讨会上取得成功?
今天,我们试图通过举办一个规范研讨会将BDD引入我们的软件开发过程中。 在这个研讨会上,我们有2个开发人员,1个测试人员和1个业务分析师。研讨会持续了1h30,到最后,我们设法为我们的新功能找出了一些BDD方案。我们试图集中精力寻找可能错过的场景和困难的场景。 在研讨会结束时,实际上有些人对研讨会不满意。 一位开发人员觉得他浪费了时间,因为业务分析师习惯于直接向他给出方案并与她一起进行审查。业务分析师对我们的方案覆盖范围没有信心(感觉我们可能会漏掉其他重要内容),但更重要的是,因为她本可以自己弄清楚所有这些方案,所以这次研讨会也是浪费时间并且在较短的时间内。 这个实验性的研讨会持续了1h30,到最后,我们对所做的事情没有足够的信心...确保我们可以花更多的时间在上面,但是老实说,大多数人在1h30的头脑风暴后精疲力尽以开展业务来自广管局的规则。 所以我的问题是,这种研讨会实际上如何运作。从理论上讲,给定要开发的新功能,您可以将树“ amigos”(dev / tester / ba)放在同一个房间中,以便他们可以协作使用示例编写新功能的不同要求。我可以看到所有的好处。特别是在知识共享和共同产品/最终目标/完成的愿景方面。 我们从这个实验的结论是,它实际上是更经济有效的方法首先对例子BA工作在他自己的,只有再有场景进行审查/由3“吾友”返工。通过让广管局独自工作,我们实际上更加自信,我们将不会错过任何东西,而我们仍然可以在事后审查方案以进行双重检查。我们认为,仅凭一次简单的头脑风暴/刻意发现会议就不足以真正满足一项新功能的所有要求。业务分析师实际上是此类人员的最佳人选。我们能做的最好的事情是回顾她写的内容,然后看看我们是否有共同的理解(这可能导致重写她的某些情况或添加她可能错过的新情况)。 那么,如何才能在实践中有效地发挥作用呢?
9 bdd 

3
BDD:入门
我从BDD开始,这是我的故事: Feature: Months and days to days In order to see months and days as days As a date conversion fan I need a webpage where users can enter days and months and convert them to days. 我有些疑惑 ... 我应该在编写任何代码之前先编写脚本还是先编写脚本然后编写代码,再编写脚本然后再编写代码,等等...? 如果我应该之前编写方案,是否可以批准我的步骤并且仍然无法完成生产代码? 什么时候应该对代码进行重构?完成该功能之后还是在每个方案实施之后?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.