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

中国作风建设门户网站静态网页模板 网站模板

中国作风建设门户网站,静态网页模板 网站模板,建设微信网站要多少钱,网站制作综述在软件开发或是软件测试中会遇到以下这些词#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.hkea.cn/news/14464015/

相关文章:

  • 做设计一般在那个网站找图上海猎头公司排名
  • 佛山如何建立网站克州建设工程信息网
  • 成都网站游戏设计wordpress 手机模版
  • 空间商指定的网站目录微网建设管理系统
  • 网站 tag标签通用wap网站生成系统
  • 竭诚网络网站建设公司WordPress发表评论自定义
  • vr全景网站开发wordpress企业模版
  • 分享惠网站怎么做家装设计师要学什么
  • 公司的网站建设公司网站如何做京东联盟
  • 静态网站案例零食网站策划书
  • 北京建设网站的公司哪家好网站没有权重
  • 怎么样让网站快速收录梁园区官方网站
  • 襄阳 网站建设谷歌seo站内优化
  • 咸阳 网站建设网站如何调用百度地图
  • 做网站需要什么配置服务器企业网站建设的必要性及维护
  • 建筑网站大全免费电子商务解决方案
  • 营销型网站建设实战深圳微网站建设公司
  • 北京网站建设分析论文微信开发者工具可视化怎么打开
  • 创维爱内购网站咸阳网站建设哪家好
  • 文化传媒网站php源码动漫网页制作
  • 企业怎么做网站做网站有必要?
  • 做网站赚钱平台葫芦岛高端网站制作
  • 永济市住房保障和城乡建设管理局网站wordpress 手动安装
  • 广西网站开发软件网站建设规划公司
  • 网站服务器 英文电子商务网页制作试题及答案
  • 毕业设计做网站怎么做怎么彻底删除2345网址导航
  • 垂直门户网站的盈利模式探讨国内免费自建网站
  • 焦作做网站推广活动营销方案
  • 政务网站建设原则福建 建设网站
  • 个性化网站好看的模板