Bug驱动开发(Bug-driven development)

说实话,作为一个Domino开发人员,像测试驱动开发(Test-driven development)、功能驱动开发(Feature-driven development)之类软件开发的高大上的方法论(Methodology),只是偶尔在用其他语言开发的文章和程序员那里看到和听到过,Domino独特的体系架构使得这些方法论都不太适用。不过根据我最近参与的某国外大型Java产品的经验(也在聊天中得到了朋友的印证),在现实中无论是用什么语言开发什么样的项目,都普遍存在一种方法论,并且还没有得到理论家的重视,被系统总结和提出过。

我准备将这种方法命名为“Bug驱动开发”( Bug-driven development)。虽然名字同样高大上,但实际上各位程序员对它都不陌生。简单地说就是发现bug——消除bug——发现新的bug,这样一个不断循环的过程驱动着开发,是谓Bug驱动开发。要运用这种方法论非常简单,只需做到以下若干条中的某一条:

  • 选用初学者或对软件系统架构和设计原则没有经验的程序员开发复杂的系统。
  • 项目边界不清,需求频繁变动。
  • 人手不够,时间紧张。
  • 资源不足或重视不够,未经(充分)测试。
  • 产品经理急于推出新版本,项目经理使项目仓促上线。

Bug驱动开发,学习简单,易于实行,应用普遍,我今日首先将其作为一种方法论提出,希望与各位同仁共勉,更好地推动此一方法的研究和发展。

时间: 2024-10-14 11:13:50

Bug驱动开发(Bug-driven development)的相关文章

行为驱动开发BDD精粹

BDD脱胎于TDD 行为驱动开发(Behavior-Driven Development,简称BDD),是在测试驱动开发(Test-Driven Development,TDD)基础上发展而来的一种软件开发方法.TDD最大的弊端,是面对一大堆的功能需求和用例时,往往会感到无从下手.另一方面,由于TDD更侧重于测试本身,因此容易忽视对业务需求的表达,最终沉溺于琐碎细节而无法自拔. BDD避免了信息丢失 与传统的软件开发方法相比,BDD的本质在于尽可能避免在需求描述.用例撰写.代码实现.测试等各环节

软件工程 - Test-Driven Development (TDD),测试驱动开发

参考 https://baike.baidu.com/item/%E6%B5%8B%E8%AF%95%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91/3328831?fr=aladdin https://en.wikipedia.org/wiki/Test-driven_development https://github.com/mjhea0/flaskr-tdd 总结 先写测试,然后写程序pass掉测试,that is 测试驱动开发. TDD usually foll

Win10与VS2015搭建内核驱动开发环境遇到的问题

关于在Win10与vs2015环境下搭建内核驱动开发环境看这两篇文章: WIN10 + VS2015 + WDK10 + SDK10 + VM虚拟机驱动开发调试环境搭建 Win10下VS2015(WDK10)驱动开发环境配置 搭建过程中遇到的问题 本人环境介绍: 物理机win10企业版 10586.218 虚拟机win10专业版 10586.218 vs2015 update2 Windbg 10.0.10586.567 Windows Driver Kit 10.0.10586.0 Windo

测试驱动开发TDD(一)TDD的好处及介绍

背景 一个高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦.国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不耐,使大多数开发人员无所适从.最近兴起的一些软件开发过程相关的技术,提供一些比较高效.实用的软件过程开发方法.其中比较基础.关键的一个技术就是测试驱动开发(Test-Driven Development).虽然TDD光大于极限编程,但测试驱动开发完全可以单独应用.下面就从开发人员使用的角度进行介绍,使开发人员用最少的代价尽快理解.掌握.应用这种

如何成为优秀的驱动开发工程师

或许这样的标题,应该是由像Linus或Greg KH这样的大师级的高手才有资格写的吧.但是作为我来说,也许我更想把这个标题作为一个疑问句来使用,整理一下自己的认识,用来勉励自己,和大家一起努力实现这个目标.认识肤浅的地方,还请大家见谅. 何谓优秀的驱动开发工程师 首先要定义,我所认为的一个优秀的驱动开发工程师,应该具备什么样的能力,这里列一下按照从易到难的顺序,个人认为应该会有几个方面的要求吧: 能够独立完成驱动的功能开发任务 能够分析和优化驱动的性能,针对特定硬件扬长避短 能够充分了解模块相关

行为驱动开发(BDD) - 深入了解

行为驱动开发(BDD) - 一个快速的描述和示例 BDD表示乙 ehavior e里文e才有发展.用于描述行为的语法是Gherkin. 这个想法是尽可能自然地描述一种语言应该发生什么. 如果你熟悉单元测试,并且很容易编写单元测试,那么你熟悉它们的阅读方式.根据测试需要覆盖的程度,可以很难弄清楚它的作用,因为毕竟只是代码. 只有开发人员才能真正了解那里发生了什么. BDD以不同的方式解决问题. 让我们来隐藏代码,开始一个对话,所以现在任何人都可以阅读一个场景并了解它的测试. 举一个例子: 给定第一

python的行为驱动开发(BDD)

教程一: 基于Python的行为驱动开发实战: http://python.jobbole.com/81303/ 基于Python的行为驱动开发实战 英语原文地址: http://code.tutsplus.com/tutorials/behavior-driven-development-in-python--net-26547 Python BDD自动化测试框架初探: http://lovesoo.org/python-bdd-exploration-of-the-automated-tes

《Linux设备驱动开发详解(基于最新4.0内核)》前言

Linux从未停歇脚步.Linus Torvalds,世界上最伟大的程序员之一,Linux内核的创始人,Git的缔造者,仍然在没日没夜的合并补丁,升级内核.做技术,从来没有终南捷径,拼的就是坐冷板凳的傻劲. 这是一个连阅读都被碎片化的时代,在这样一个时代,人们趋向于激进.浮躁.内心的不安宁使我们极难静下心来研究什么.我见过许许多多的Linux工程师,他们的简历书写着"精通"Linux内核,有多年的工作经验,而他们的"精通"却只是把某个寄存器从0改成1,从1改成0的不

测试计划驱动开发模式 TPDD:一种比 TDD 更友好的开发模式

相信大部分开发团队都在使用TDD,并且还有很多开发团队都 对外声明 在使用 TDD 开发模式. 之所以说是"对外声明",是因为很多开发团队虽然号称使用的是 TDD 开发模式,实际开发过程中却无法满足 TDD 的要求. 实际上,测试驱动的开发模式确实有效,它将可能发生的问题用测试代码预先解决,只有通过测试代码后的代码才是可以接受.当前有很多公司都在应用 TDD,但 TDD 并不是一个开发者友好的开发模式,只是一个理想化的开发模式. 为什么 TDD 不是一个开发者友好的开发方式? 大家都知