bugfree安装及使用说明书

来源:互联网 发布:如何打开计算机端口 编辑:程序博客网 时间:2024/04/27 17:12
  • 1.  BugFree官网 .自由软件BugFree官方网站[引用日期2013-04-23]

  • 2.  自由软件BugFree交流群 .自由软件BugFree交流群[引用日期2013-04-23]

  • BugFree是借鉴微软的研发流程和Bug管理理念,使用PHP+MySQL独立写出的一个Bug管理 系统xx。简单实用、免费并且开放源代码(遵循GNU GPL)。 命名BugFree 有两层意思:一是希望软件中的缺陷越来越少直到没有,Free嘛;二是表 示它是免费且开放源代码的,大家可以自由使用传播。

  • 简介

    来源

    如何有效地管理软件产品中的 Bug,是每一家软件企业必须面临的问题。遗憾的是很多软件企业还是停留在作坊式的研发模式中,其研发流程、研发工具、人员管理不尽人意,无法有效的保证质量、控制进度,并使产品可持续发展。
    针对这个问题,我们独立做出了BugFree,并且半年多来每天都在使用。我们公司就是用它来管理Bug,不断提高产品质量的。
    1.3 为什么开放BugFree的源代码呢?
    根据半年多的实践,觉得BugFree非常有用,我们公司的日常工作已经离不开它 了。虽然没有微软的Bug管理系统(以前叫Raid,现在是 Product Studio)的功能那么强大, 但是处理方法和思想是完全一致的,起码我自己用起来的感觉和在微软时基本一样,值得向大家推荐。
    我们是用开放源代码的 PHP+MySQL开发的,目的就是希望跟大家分享BugFree。而 且开放源代码之后,期待高手不断改进它,大家都能用到更加强大的功能。也算为中国的软件业做点小小的贡献。
    BugFree代码在我们的“数字神经系统”中非常独立,很容易拿出来给大家共享。
    1.4 BugFree仅仅是个工具
    不过坦率的讲,BugFree 仅仅是个工具而已,重要的是掌握其中蕴含的软件研发的流程思想,才能用好这个工具。如果你以前没有用过 Bug管理系统,那么一开始的时候也许你会觉得这个工具是在浪费时间,因为一个测试人员需要费神把发现 Bug的详细步骤记录下来, 有时还要贴一张示意图,这一切都不如当面说来得直接。
    但是使用一段时间,你会发现 BugFree很有用,它忠实的记录着每个问题的处理过程, 不断提醒你存在的问题,永远不会丢失和忘记。如果你参与过较大软件项目或产品的研发, 就会理解它对软件可持续发展是至关重要的。而且研发的规模越大,BugFree 的作用就会越大。

    如何安装使用

    BugFree的安装和使用都非常简单,就像PHP+MySQL一样:
    INSTALL.htm 介绍了BugFree的安装
    HOWTO.htm 介绍了如何使用BugFree
    FILES.htm 介绍了BugFree的代码文件结构
    希望你能喜欢BugFree,就像我一样。
  • 为何开发

    一言以蔽之,「工欲善其事,必先利其器」。
    3.1 我在方正的困惑
    我曾在北京大学计算机研究所(方正技术研究院)学习、工作了七年,那里有我很多师长和好友,我参与研发的方正RIP (PSPNT) 至今仍是方正的核心软件产品。当自认为成了一名合格的 C++开发人员后,我发现面临一个无法解决的难题:如何有效地控制软件研发流程以保证产品质量和进度。我意识到做好一个软件,只靠技术好是很不够的,必须要有一套好的研发流程和配套的研发工具。恰好那时我在吴士宏的《逆风飞飏》中读到了微软的“数字神经系统”及相关叙述,很吃惊,想去那里看看。
    3.2 微软数字神经系统的妙处
    3.2.1 研发人员分工明确
    主要的三个角色: PM (Program Manager)、 Dev (Developer)、 Tester三者分工明确、接口清晰,PM来定义需求、书写出来每个功能特性 (Feature)的设计文档(Spec),Dev写代码来实现这个Spec,Tester来测试 Dev做出来的东西是否符合 PM定义的 Spec,三个角色之间并无必然的上下级关系,只是分工合作完成某个功能(Feature)。我将之形容为“三权分立”,三者之间有效合作并制衡。国内企业好像还没有PM这个角色,而测试人员又往往成为开发人员的附庸,一个 Bug是否要被解决全由开发人员说了算,这很糟糕,就像政治上一个权力没有被有效的制衡一样,一定会产生各种问题。
    3.2.2 研发工具很配套
    PM将写好的需求设计文档(Spec)保存到 SharePoint【见附录一】文档库中,所有相关的人都可以随时查看;Dev用Source Depot (功能类似CVS的微软内部源代码管理工具)来保存源程序;Tester把发现的Bug记录到Raid中以有效跟踪这个问题的处理流程。
    3.2.3 分阶段的研发流程
    和任何软件公司一样,微软的研发无非也分为规划、开发、测试、 发布等几个阶段。但是微软的研发流程不走形式,可以统一产品组所有员工的思想,并且能够有效地控制住进度。做完一个版本后,还会让所有员工匿名投票,找出这次研发过程中出现的各种问题以便在下个版本中解决 (此过程称为 Postmortem,挺吓人的一个词)。
    可以这么比喻,微软这套研发模式是让其中的每个人都成了一架高速运转的机器上的各 种零件,少数零件坏了不要紧,可以随时更换。当然微软有许许多多技术高手,但我认为更 重要是其研发模式保证了软件产品的高品质、可持续发展。
    3.3 微软的每一天
    我在微软经历了三个产品的研发:Office XP、Project 2002、Office 2003。微软所有产品的研发都遵循同样的研发模式、使用同样的研发工具来进行管理。在所有的工具中,我最佩服的就是Raid。可以说,遍布全球的微软研发人员能够保持统一的思维模式、做事及语言习惯,与整个研发流程的配套工具密不可分,其中最重要的就是通过Raid把整个产品的研发有机的联系起来。阅读每个 Bug,你可以详细的看到大家讨论解决该问题的完整思路。
    我曾读过微软Project 2002产品的Architect写的一个备忘录,其中提到 “Raid是微软最伟大的产品,为Bill Gates节省了无数金钱”,当时我“心有戚戚焉”,立即给这哥儿们发Email表示赞同之意:-) 他回信说希望Project能够做的像Raid一样成功,但可惜他要离开微软自己开公司了。
    在微软上班,我每天第一件事是打开 Outlook来处理有关自己的重要邮件,第二件事就是打开Raid来看看有关自己的Bug情况,赶快处理。我一直纳闷,微软为什么不把这个Bug管理系统作为软件来出售,那可是任何一家软件企业都需要的啊!
    3.4 西线的实践
    2004年4月我加盟朋友的公司(西线传媒科技有限公司)做网站。我发觉自己已经习惯了微软的研发模式,于是建议这几个朋友先做一个 “数字神经系统” (BugFree 就是其中有关软件研发的Bug管理部分) ,其目的是让一切可以数字化、文档化的信息被记录下来,为公司的进一步发展和决策提供基础信息支持。该系统可以用八个字来概括:数据、文档、自助、自动。其表现形式就是一个包括六个子系统的企业内部网:
    3.4.1 员工管理系统
    每个员工都有唯一的UserID,验证密码后方可登录数字神经系统,访问公司内部信息,查看上下级关系、每个员工的个人公开信息等,此处学习 SharePoint、Outlook和Exchange中的员工管理和展示;
    3.4.2 信息管理系统
    内部的信息发布展示平台,有点象 BBS一样,可发布公司正式通告、员工也可自由匿名发帖;
    3.4.3 Email系统
    现在Email的重要性对一个企业不言而喻,我们采用免费Qmail来搭建;
    3.4.4 文档管理系统
    一个集中管理公司所有文档(包括研发过程书写的各种文档)的地方,学习SharePoint中的文档库;
    3.4.5 源代码管理系统
    集成优秀且免费的CVS;
    3.4.6 BugFree
    虽然网上有免费的Bug管理系统,但是我看后觉得都不好使,和我在微软用 的差别太大,科泰世纪公司的 Bug管理系统【见附录二】倒也很像微软的,但是要花钱买。 于是决定用PHP+MySQL借鉴微软的研发流程和Bug管理工具自己开发一个,以便对我们开发新 网站、声讯软件、客户端软件和公司事务管理中出现的问题进行有效的跟踪处理。
    当然这个小小的“数字神经系统”还不全面,而且当时设计的时候更多的是站在为方便研发人员的日常工作而考虑的,以后还需要挂靠更多的公司业务相关模块。即使这样,它已经发挥了很大威力,现在公司每个员工都养成这样的工作习惯并乐在其中:每天使用邮件,到文档库中查找文档,发现问题上Bug等等。
    3.4.5 BugFree代码的完成
    “数字神经系统”中的BugFree是用开放源代码的PHP+MySQL写成、基于浏览器方式运行的。我以前没有任何Linux+Apache+MySQL+PHP的开发经验,但我很幸运的招聘到两名优秀的 Web程序员,可以在短短的两个月时间内搭建起这样的系统。其中BugFree是由我的同事王春生开发的,他用了不到一个月的时间就把代码写完,让我很是惊讶,从而认识到基于Linux的Web开发魅力。
    之后我们测试一个多月,就可以在实际工作中使用。现在BugFree已经成了我们日常工作最重要的工具,每个员工也都习惯用Bug来记录跟踪事情,不仅仅是代码中的缺陷可以上Bug,新的需求、设计变化等都可以用这个Bug管理系统有效的管理起来。其实Bug 不仅仅可以用来记录软件中的缺陷,也可以用来跟踪公司的日常事务。比如在公司的网上报销系统还没有建立之前,我们就用 BugFree来处理报销的事情。甚至,一个同事给我上了这样的Bug:你的桌面太乱了,请整理一下:-)
    3.4.6 和Raid比较起来,BugFree有如下特点:
    Raid是Windows客户端软件,BugFree是基于浏览器的。基于此,Raid 有很强大的编辑展示功能,而BugFree简单、方便、易用;
    Raid可以进行极其复杂的组合查询,BugFree的查询功能相对弱一些,但我觉得已经够用了;
    一个Bug从创建到关闭这个“生命周期”的处理过程,BugFree 全面借鉴Raid的处理流程,处理方法甚至一些词汇都和Raid一样 (所以我现在用BugFree处理Bug的感觉和在微软时候基本一样);
    BugFree 还有一个独创的功能:当一个Bug被指派给你的时候,系统会自动给你发一封邮件,告诉你有个Bug需要你处理,这样结合 Email,BugFree被完美使用起来,成为我们现在网站开发、运行、维护必备的工具。我们还增加了两个Bug统计功能:一是每天早上8点钟每个同事都会收到一封Email,告诉他/她头上还有多少 Bug等待处理;二是每周一中午给所有人发一封邮件,告知上周Bug的处理情况和到目前为止所有Bug的统计数据;
    BugFree程序规模很小,一个中等水平的PHP程序员就可以在1~2周内看懂所有的代码,然后就可以根据自己的需要做相应的定制了;
    最最重要是,BugFree 是免费并且开发源代码的。你可以体验到微软的Bug管理精髓,按自己需要自由地增加功能、修改代码而不用担心版权问题。

    目前开发

    和任何软件系统一样,BugFree中还存在着一些Bug、还有很多地方可以改进、还可以增加很多新的功能。但是基于人力和时间的关系,没有太多精力去进一步完善它。开放源代码之后,希望有热心人不断完善 BugFree。以下是目前我想到的可以改进的地方:
    4.1 宣传推广BugFree的使用。
    一般中小企业没有很好的Bug管理系统,刚好可用BugFree来填补这个空白。其实 BugFree是一个非常简单的工具,可以让非技术人员快速上手使用。开源的目的是让它被广泛使用,只有被大家天天用,我们才能找到下一步不断改进这个软件的真正需求。有人天天用是软件生命力的保证。
    4.2 和源代码管理系统CVS有效的统一起来。
    当代码的改动是因为解决一个Bug引起的时候,系统可以自动把代码的Check-in结合起来,微软的源代码管理Source Depot好像早就有了此能力。可以考虑通过Eclipse把CVS和BugFree连通起来。
    4.3 搭建研发工具套件。
    更进一步,把BugFree和需求设计文档、开发文档、测试文档、测试用例等联系起来,做成一个软件研发工具套件,即可通过一个 Bug方便找到对应的文档、代码、测试用例等等,那将是一个比较完美的境界。微软现在的 Product Studio 正在向这个方面努力。不过,达到这一步,必须先做一个好的文档管理工具,就像微软的SharePoint 中的文档库一样,不仅仅存放文档,还要方便检索 (比如 Word文档内容)等,那可不是一件容易的工作。我目前初步的想法是,先借鉴“基于Java 的全文索引引擎 Lucene”去做一个易理解、易扩展的基于C++的全文索引引擎,我在微软做过SPS的PM,对搜索引擎这一块还是比较熟悉、可以做出来的。有了这样的引擎为基础后,再借鉴SharePoint做出文档库及门户功能。

原创粉丝点击