SEARCH
新闻资讯

网站知识库

测试驱动开发与举动驱动开发有什么不同

2020/3/2 14:03:46

TDD的学习难度很大。我认为BD在许多方面都是对TD0的科充和修 BDD是在TDD出现5年之后才面市的,BDD是TDD的连续,由于正。BDD修正了我们对于例试的定义和命名,还对编写这些测试的方式以及适宜人员提出了肯定的建设性意见。在曩昔六七年中,BDD一向在向前发展一也可能有8年时间了,我认为是从200年开始的。所以,对于我而育,如今BD更多是关于利益相干者、测试人员、程序员和用户之间的交流。
 
在快速转变的环境中,持续集成和测试将发挥什么作用?它是否总是能发挥应有的作用?
 
我们在一天内总会收到很多代码修改请求,而且会在一天内做多次修改,也会在一天内多次部署代码。在这种快速转变的环境中,真的不必须要所谓的实行规范,由于我们可以用其他的反馈机制来替换BDD或实行规范。但是,这并不意味着实行规范、BDD、 Cucumber或类似的东西不紧张,现实上照旧要由详细环境而定的。


 
根本问题在于,为什么项目一开始就要编写测试?我们之所以编写测试,是由于我们信赖持续集成。什么是持续集成呢?持续集成是一种反馈机制,它能够说明我们正在做的事情正是营业所必须要的,所以它是一个用户必须要的特征,而且它要求编写的代码不会破坏现有的其他特征。我们编写测试来强化代码和保证代码不会出现问题,并且通过测试来获得反馈。持续集成的关键是给处于特定开发周期里的开发人员提供反馈周期。最紧张的就是反馈,而不是得到反馈的方法。所以,在一些转变速度不快的环境中,单元测试或 Cucumber测试(或其他测试框架)就是能够提供这种反馈的机制。在我们如今所处的环境中,它的不同之处是最终用户数量较少,所以我们获得反馈的速度更快。在部署到生产环境之后,因为不用编写测试就可以直接从用户获得反馈,所以可以更快更高效地获得反馈。更快的反馈方法是,用户直接面对面地告诉我们:“请帮我修改一下这个字体,请帮我修改一下这个单元格的背景颜色。”假如开发者可以直接获得反馈,修改后直接推送到生产环境,这种速度会快许多,由于他们不必须要花更多的时间去编写测试和等待反馈。
 
我已经熟悉到这一点,但是很多公司和大多数产品并没有采用这种方法。我认为,BDD能够提供更多的实行规范。我认为它有很大价值,道理很简单:当无法快速自适应和靠近最终用户时,我们必须要使用其他交流方式获取反馈,而 Cucumber这样的BDD框架恰好能发挥它们的作用运维人员和开发人员都可以使用 Cucumber等框架去编写测试。
 
在我的上一家公司里,有几位同事在 Norwegian National Dairy(家奶牛养殖公司)等公司的项目中使用了 Cucumber框架。他们的软件确实很难测试,由于不同的奶牛有不同的饲养流程。软件里有很多复杂的营业规则,而他们编写的体系必须要处理所有的营业规则。他们对一位年近60岁的养殖专家进行了培训。她并不是程序员,但了解养殖技术。他们教她如何用 Cucumber描述软件的工作方法,然后她就一向写这方面的东西。在她写出需求之后,开发人员就根据她描述的营业规则实现相应的特征。培训过程很简单,由于 Cucumber从一开始就是面向非程序员设计的。所以,我认为教会非技术人员编写可实行规范的方式确实适合很多团队使用。
 
Cucumber- Nagios的核心原理是用 Cucumber编写Wweb应用的一些最终可接受测试,然后在生产体系(使用 Nagios)上运行这些测试,通过这种方法来测试体系是否吻合要求。由于这些测试如今是真正运行在生产体系上,所以我们知道生产体系是正常的。此外,假如体系不正常那么测试会出错并生成警报,告诉我们生产体系出现了什么问题。当然,这只是整个测试驱动基础架构的一种模式。所以,我们改变了开发人员长期以来的工作方法,即编写代码和测试代码。如今,他们可以用这些方式来测试和开发代码,然后我们将它们应用到运维上。我们把基础架构也视为代码,可以编写测试,描述基础架构应该有的状况,然后再修改网站建设的基础架构,使这些测试能够通过,这时就说明基础架构是正常的。









如没特殊注明,文章均为成都网站建设公司唯赛网络原创,转载请注明来自http://www.weseo.cn/News/knowledge_675_11201.html

Contact

ADD:成都市青羊区光华东三路西环广场6楼

TEL:028-64232097

Wechat

微信二维码