当前位置: 首页 > news >正文

深圳沙头网站建设上海建筑公司排行榜

深圳沙头网站建设,上海建筑公司排行榜,wordpress接收邮件,杭州企业网站定制在软件开发或是软件测试中会遇到以下这些词#xff1a;TDD 、BDD 、ATDD以及SBE#xff0c;这些词代表什么意思呢#xff1f; 它们之间有什么关系吗#xff1f; TDD 、BDD 、ATDD以及SBE的基本概念 TDD#xff1a;#xff08;Test Driven Development#xff09;是一种…在软件开发或是软件测试中会遇到以下这些词TDD 、BDD 、ATDD以及SBE这些词代表什么意思呢 它们之间有什么关系吗 TDD 、BDD 、ATDD以及SBE的基本概念 TDDTest Driven Development是一种软件开发方法它强调在编写代码之前先编写测试。TDD 的主要思想是先编写一个测试用例然后编写能够通过该测试用例的最小代码实现接着运行测试用例并查看是否能够通过最后重构代码以增强代码质量。这种方法可以帮助开发人员更快地发现和解决问题并提高代码的可维护性、可重用性和可靠性。 ATDD代表Acceptance Test Driven Development它是一种敏捷软件开发方法。它的核心思想是在开发过程中首先关注用户需求和期望然后根据这些需求编写自动化的验收测试用例。开发人员与客户和业务用户密切合作确保开发的功能符合期望并满足用户需求。ATDD 可以帮助团队更好地理解问题并确保开发人员和业务利益相关者在开发过程中保持相关减少沟通障碍并提高软件质量和生产率。 BDD表示行为驱动开发Behavior-Driven Development是一种敏捷软件开发方法强调开发团队应该以用户行为为核心来开发软件而不是只关注功能。BDD强调通过明确定义的场景和用户故事来推动软件开发帮助团队更好地理解和满足用户需求同时加强开发团队内部的协作和沟通。在BDD中开发人员、测试人员和业务人员之间的交流是非常重要的他们需要共同制定和理解用户故事和场景并将它们转化为可执行的测试用例。这种方法可以促进软件质量的提高和快速交付。 SBE Specification by Example是一种敏捷方法旨在通过创建具体示例来建立软件开发所需的共同理解。它强调通过业务规则和用户需求的实际示例来描述软件的功能和行为。这种方法提倡开发团队和利益相关者之间的协作和交流并有助于确保整个团队对要交付的软件具有共同的理解。Specification by Example强调了功能测试驱动的开发方法并支持自动化测试的实现。 从概念上看 这四个词都是一种软件开发方法 都属于敏捷开发方法。TDD这个相对还比较好理解简单点说就是先写测试再去开发那么另外三个的区别又是什么呢 TDD 、BDD 、ATDD以及SBE的由来 TDD最早是由Kent Beck在2002年提出的他在一篇名为《Test Driven Development: By Example》的书中详细阐述了这种开发方法的原理和实践。TDD的出现是为了解决传统的软件开发中测试工作落后于开发工作的问题以及开发人员和测试人员之间没有足够的沟通和协作的问题。TDD强调了开发人员编写自动化测试用例的重要性这使得测试工作可以更早地开始并且帮助开发人员更好地理解业务需求编写更贴近实际需求的代码。 ATDD最早是由Kent Beck和Cynthia Andres在《Extreme Programming Explained》一书中提出的其目的是让开发人员与业务人员密切合作确保开发出的软件满足业务需求。ATDD的核心是编写验收测试用例这些测试用例描述了业务需求并且必须由业务人员审查和接受。 BDD则是由Dan North在其博客上首次提出的他认为传统的TDD缺乏对系统行为和设计的明确定义。BDD的核心是使用自然语言来描述系统的行为并将其转化为可以执行的测试用例。BDD强调使用文本描述来定义测试用例使得开发人员和业务人员都能理解测试用例的意义从而更好地确保开发出的软件满足业务需求。 SBESpecification by Example 则是由Gojko Adzic在著作Specification By Example实例化需求详细阐述介绍了如何通过实例去分析和沟通需求。 这四者出现的时间顺序依次是 TDD ATDD BDD SBE TDD 、BDD 、ATDD以及SBE 的区别和联系 TDD与ATDD TDD是测试驱动开发ATDD是验收测试驱动开发都是关于测试的是与所开发的系统紧密联系的。但TDD是开发人员和测试人员之间的沟通而ATDD则主要是开发人员和业务人员之间的沟通。 TDD与BDD BDD不是关于测试的其着重关注需求、关注客户的业务价值所描述的需求用例是可以独立于软件系统存在的因为客户的业务是始终存在的不取决于是否有软件系统来支撑。 对比一下TDD 和 BDD 的主要区别 TDD (测试驱动开发)BDD (行为驱动开发)1. TDD 是一种迭代的开发方法开发者首先编写测试然后产生代码使这个测试运行通过。1. 在 BDD 中开发者测试人员和业务人员一起确定可受验收的测试标准然后编写样例最后由开发者编写代码让样例通过。2. TDD 主要关注软件的技术功能。 是有关于单元测试的。2. BDD 更关注软件的业务和行为关注的不仅仅是代码的功能更多是用户体验。通常在验收测试和功能测试时会使用 BDD。3. TDD 是通过编写测试来驱动开发过程这种写法对于程序员来说更容易理解。3. BDD 是使用自然语言和具有描述性的句子来编写的测试。这为非技术人员理解何时以及如何测试提供了便利。4. 在 TDD 中开发者首先需要编写失败的单元测试然后编写代码使测试通过。4. 在 BDD 中从一开始就需要定义预期的行为。这种行为是为了确定在给定的情况下应用程序应做什么。 这两种开发方法并非相互排斥而是可以结合使用的。许多团队都会在项目中同时实施 TDD 和 BDD。 ATDD与BDD ATDDAcceptance Test Driven Development和BDDBehavior Driven Development都是敏捷开发方法中的测试驱动开发TDD实践的变体。它们的出现是为了解决传统的软件开发中开发人员和业务人员之间缺乏通信的问题这往往导致开发出来的软件无法满足业务需求。 因此虽然ATDD和BDD在一定程度上有所不同但它们的目的是相同的确保开发出的软件能够满足业务需求。同时它们也有一些共同点例如都强调了测试驱动开发的核心思想都强调了开发人员和业务人员之间的紧密合作等。 BDD与SBE SBE(Specification By Example实例化需求)是在BDD之后由Gojko提出来的也是关于需求的主要强调通过列举实例发现需求中的缺失概念。BDD也是关注需求的同样会使用实例来描述行为。两者的本质没有区别。 对比一下 TDD , ATDD , BDD 三者的区别 区别项次TDDATDDBDD参与者开发人员测试人员业务人员开发人员测试人员ATDD和TDD的组合重点一种模式或范例是客户进入设计阶段专注客户和开发者的系统行为方面引导客户进入测试阶段敏捷步骤不断重复1.测试2.编码3.重构不断重复1.讨论 2.开发 3. 发布按预期行为逐步构建功能输入文档需求文档验收标准示例GWT格式书写的实例化文档自动化必须非必须必须故事每个功能都需要对应一个测试每个故事对应一个验收测试每个故事对应一个行为测试主流工具xUnit.RobotFramework, .FitNesseCucumber,JBehave,Lettuce,Robt Framework最终用户开发人员测试人员客户客户和开发者 最简单的理解 到这里是不是感觉上面的内容很多看着看着还是有点迷惑接下来笔者尝试以最简单的方式来解释一下这四个概念 TDD , ATDD , BDD SBE 这四者基本都属于软件开发方法或者实践一个方法的出现基本是为了解决面对的问题 软件开发方法也是为了解决软件开发过程中出现的问题 从软件的洪荒时代开始开发软件最重要的是保障软件的质量不能开发运行一个错误的软件 比如一个计算器软件算出来113也不能开发一个软件运行着就崩溃了 于是软件需要有充分的测试也就有了TDD把事情做对不一定代表是对的事情软件的运行可能不会出错但是这不代表这个软件就是客户需要的软件客户要求开发一个计算器但是你却开发了一个计时器让客户很早的进入设计阶段关注客户的需求根据需求编写验收测试用例也就是ATDD引导客户参与但是开发人员和客户之间因为领域知识不同导致沟通存在一些鸿沟往往鸡同鸭讲彼此不能很好的理解于是是不是有一种通用的语言让开发人员和客户都能很好的理解对于开发人员来说 使用这种语言的话也就不仅仅关注的是代码层面的内容而且可以更好的理解用户的行为 也就是行为驱动开发-BDD在使用通用领域语言描述规格的时候通用领域语言其实也就是接近自然语言的一种方式 但是自然语言描述可能会存在歧义于是把一些冗余或是容易产生误解的描述使用示例的方式进行描述不就更准确了吗比如描述个人的信息XX的姓名是XX 年龄是多少如果换成示例的模式 使用一个表格 : | 姓名 | 年龄 | xx | | — | — |— | | oscar | 30 | xx | 这也就是SBE的大概思想。
http://www.sadfv.cn/news/204450/

相关文章:

  • 网站的维护方案做网站需要哪些技术人员
  • php做的卖水果网站有哪些沈阳网络关键词排名
  • app开发和网站开发哪个好python做网站和php
  • 网站规划与建设 ppt荣耀手机商城官方网站荣耀60pro
  • 大连市住房和城乡建设部网站专业团队为您服务的句子
  • 家用电脑桌面做网站网站显示系统建设中
  • 珠海市公司网站建设郑州高端设计工作室
  • 网站服务器返回状态码404设置图片
  • 佛山企业网站建设服务京东的网站建设分析
  • 受欢迎的网站建设平台公司网站建设调研
  • 做基金的网站哪个好聊城做手机网站
  • 做网站的外包公司有哪些信誉好的常州做网站
  • 如何 网站优化一些做淘宝优惠券的网站
  • 百度做网站找谁网络维护协议范本
  • 整站seo优化一般多少钱建设沙滩车官方网站
  • 建设一个商城网站的成本店铺装修公司
  • 电子商务网站设计心得体会网页设计与制作代码软件
  • 杭州工程网站建设自己做店铺网站
  • 导购网站建设软件开发应该学什么专业
  • 公司网站怎么弄江苏省建设工程施工安全网站
  • 做网站应该画什么图中国北京出啥大事了
  • 怎么制作网站后台设计网站的关键点
  • 哪个网站做ppt赚钱锦州网站建设排行榜
  • 自己怎么建设购物网站wordpress pdf插件下载
  • 天津网站建设信息怎么做创意短视频网站
  • 成都网站建设全平台德邦公司网站建设特点
  • 不是做有网站都叫jwth网站设置不可粘贴
  • 视频网站开发前景网站开发数据库
  • 查看网站建设工作网站开发留言板
  • 网站开发交易平台福建网站模板