转自:http://blog.csdn.net/benkaoya/article/details/8719257

本博下有许多实用技巧

1. 什么是问题跟踪系统

问题跟踪系统(Issue Tracking System)是专门用于记录、跟踪和管理各类问题的软件。

问题跟踪系统出现于上世纪80年代,最初被企业用于跟踪和管理客户投诉。 后来随着技术的发展,其应用范围逐渐扩展到了IT服务管理、产品研发过程管理、日常任务和事务管理等诸多方面。

在IT界,我们往往也称之为——缺陷跟踪系统(Bug-Tracking System),是软件开发和维护过程中重要的辅助软件,用于跟踪记录软件的bug,作为开发人员和测试人员之间沟通的桥梁。

2. 没有问题跟踪系统

◆用口头或Email的方式指派问题,问题很容易被忽略或遗忘,从而引发产品质量隐患或客户的不满。

◆使用Word或Excel记录问题时,往往要维护多个版本,难以保证各文件的同步。

◆信息记录在每个人的大脑或计算机中,形成诸多信息孤岛。随着记忆衰退、文件损坏或无意删除、人员离职,这些信息将会丢失。

◆作为开发者,由于信息无法及时共享,很容易造成重复工作,别人已经解决的bug。自己还在解决。我发现了一个bug(虽然不一定是我改),但没地方记录。

◆做为管理者,即使知道产品有bug,但却很难知道具体多少bug,bug都分布在哪些模块中,哪些bug已经解决了,有哪些bug是急于解决的(优先级最高)。

3. 使用问题跟踪系统

◆提供了一个集中的协同工作的平台。用户通过此平台提交问题、分配和指派问题、处理问题,或对问题发表建议和评论。大幅节省了人员直接相互沟通的时间。

◆可以建立规范的问题流转处理流程。保证所有的问题处理措施都被审核或验证。

◆所有信息都被保存下来,完成了从隐性知识到显性知识的转化。有价值的信息可以整理转换成知识库中的知识资源,在员工之间共享和传播。

4. 常用的bug跟踪系统

◆Bugzilla —专门为Unix而定制,Linux内核也是用这个来管理bug(见https://bugzilla.kernel.org/)

◆ProductStudio — 微软内部开发、测试管理平台

◆GNATS —http://www.gnu.org/software/gnats/

◆RequestTracker(RT) — http://www.bestpractical.com/rt/

◆Trac —http://trac.edgewall.com/

◆Roundup —http://roundup.sourceforge.NET/

◆Mantis —http://www.mantisbt.org/

◆Flyspray —http://www.flyspray.org/

◆Scarab —http://scarab.tigris.org/

◆Debian Bug跟踪系统(DBTS)—http://www.chiark.greenend.org.uk/~ian/debbugs/

◆Trouble-TicketTrackers

◆BluetailTicket Tracker (BTT) — http://btt.sourceforge.net/

◆TestDirector

◆BugFree — 国产、开源,一件让人欣慰的事情

5. 版本控制与Bug跟踪的集成

在软件开发中,版本控制管理和BUG跟踪管理十分重要。BUG跟踪管理能追踪你犯的所有疏忽或错误,版本控制能追踪你修改代码的所作作为。发现一个bug,然后修改,在开发中十分常见。为了能知道哪个版本对应的哪个BUG,则需要将版本控制与BUG跟踪管理集成起来(比如Trac+Git),便于查看。

6. 选择国产Bugfree

考虑到此前都没有用过bug跟踪系统,这一次我支持国产货bugfree(虽然它跟洋货比起来还是有点差距),容易上手。

BugFree基于PHPMySQL开发,是免费且开放源代码的缺陷管理系统。服务器端在Linux和Windows平台上都可以运行;客户端无需安装任何软件,通过IE,FireFox等浏览器就可以自由使用。

Bugfree具体使用流程是:首先创建Test Case(测试用例),运行Test Case产生Test Result(测试结果),运行结果为Failed的Case,可以直接创建Bug。

为了简化使用,我们直接手动建立bug(省略了创建测试用例和测试的过程)。

7. Bugfree安装

安装BugFree 3前需要部署配置PHP, Apache Http Server,MySQL环境。可以使用XAMPP,EASYPHP等集成环境快速部署。

7.1. 安装XAMPP

官网:http://www.apachefriends.org/zh_cn/xampp.html

我下载的版本:xampp-win32-1.8.0-VC9-installer.exe

XAMPP到底是什么东东,以下官网的这段话足以解释清楚:许多人通过他们自己的经验认识到安装 Apache 服务器是件不容易的事儿。如果您想添加 MySQL、PHP 和 Perl,那就更难了。XAMPP 是一个易于安装且包含MySQL、PHP 和 Perl 的 Apache 发行版。XAMPP 的确非常容易安装和使用:只需下载,解压缩,启动即可。

我是将Bugfree安装在Windows XP上,在安装Bugfree之前先安装Windows版本的XAMPP。安装步骤非常简单,一路默认即可。安装完启动Apache和MySQL服务。

7.2. 安装Bugfree

官网:http://www.bugfree.org.cn/

官网中帮助说明里有详细的安装指导说明:http://testing.etao.com/node/120

我用的版本:bugfree3.0.4.zip

1、 下载BugFree 3安装包,解压后复制到XAMPP系统的htdocs子目录下。

#Windows 一般情况下htdocs在C:\xampp\htdocs\bugfree

move bugfree C:\xampp\htdocs\bugfree

2、 浏览器访问http://<servername>/bugfree/install

环境检查

这时候如果提示因为没有BugFile文件夹而没法继续,你就手动创建一个文件夹:C:\xampp\htdocs\BugFile

配置


默认用户名为root,秘密为空。

完成安装


这里的admin就是超级管理员。

3、完成安装,进入BugFree

初始用户名: admin 初始密码:123456

4、修改访问的网址

安装好的bugfree服务器,访问的网址就定下来了,如果后悔将名字命名为bugfree,想改下名字,如:想从原来的

http://172.16.1.6/bugfree

改为

http://172.16.1.6/bugfree-fy3

如何做到不影响已经存在的数据库数据?按如下步骤操作:

◆先通过XAMPPControl Panel停止bugfree服务;

◆对文件夹C:\xampp\htdocs\bugfree做个备份,以备出错。

◆重命名C:\xampp\htdocs\bugfree文件夹为C:\xampp\htdocs\bugfree-yf3

◆修改C:\xampp\htdocs\bugfree-yf3\protected\config\main.php文件的如下内容:

'basePath' => 'C:\\xampp\\htdocs\\bugfree\\protected\\config\\..',

改为

'basePath' => 'C:\\xampp\\htdocs\\bugfree-yf3\\protected\\config\\..',

◆通过XAMPPControl Panel开启bugfree服务

◆输入http://172.16.1.6/bugfree-fy3即可访问新的网址。

Bugfree实用心得_转的更多相关文章

  1. [DeeplearningAI笔记]改善深层神经网络1.4_1.8深度学习实用层面_正则化Regularization与改善过拟合

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 正则化(regularization) 如果你的神经网络出现了过拟合(训练集与验证集得到的结果方差较大),最先想到的方法就是正则化(re ...

  2. 读EntityFramework.DynamicFilters源码_心得_整体了解01

    前两天同事发给我一个连接地址:实体框架高级应用之动态过滤 EntityFramework DynamicFilters为什么会找到动态过滤的内容,是源于前段时间,我们想做一个个人blog 后端用.NE ...

  3. 读EntityFramework.DynamicFilters源码_心得_设计思想_04

    前几次,我们从说明文档,示例,单元测试了解了怎么用这个动态过滤器,那么如果仅仅是为了实现目的,知道怎么用就可以完成相应的功能开发,但我还想了解的问题是 作者是怎么将动态过滤器与EF结合的 有哪些设计思 ...

  4. 读EntityFramework.DynamicFilters源码_心得_单元测试03

    上个星期我们只是显示了一个示例,怎么在EF的框架内,注入我们拓展的动态过滤器 第一步:安装EntityFramework.DynamicFilters 第二步:重写OnModelCreating方法 ...

  5. 读EntityFramework.DynamicFilters源码_心得_示例演示02

    上次对EntityFramework.DynamicFilters整体的项目结构有了一个认识,这次我们就通过阅读说明文档,示例项目,和单元测试,来动手构建一个我们的体验项目,通过对动态过滤器的使用,使 ...

  6. DevExpress实用心得:XtraGridControl动态添加右键菜

    在使用GridControl的时候经常需要添加右键菜单. 一般的做法是自己创建菜单项,然后注册GridView的Mouse-Click事件,然后Show出定义好的菜单. 但是涉及到一些单击事件会收到编 ...

  7. scratch学习研究心得_逐步更新

    2019-10-30: Scratch对对象a克隆,不能选择克隆自己,这样可能下次一下子同时产生两个克隆体,要设置克隆a scratch3.0采用全新html5技术,图片和其他对象放大缩小,效果几乎不 ...

  8. Android_实验小心得_持续补充中......

    1.LineLayout布局控件宽度百分比显示 其中,宽度百分比 = 控件权重 / 所在parent中所有控件权重和 <LinearLayout android:layout_width=&qu ...

  9. git gui 学习

    目的 自己以前使用过3,4个月的SVN,因为公司使用的是git,git gui.所以打算自学git gui,并记录一下学习心得.^_^ 原因 为什么不是学命令行而是用git gui呢.我觉得首先因为公 ...

随机推荐

  1. 通过IP的方式建立PSSession

    Import-Module PoshWSUS Connect-PoshWSUSServer -WsusServer cnhzsrv09 Get-PoshWSUSClient | Select-Obje ...

  2. php isset() empty() 区别, 判断 变量存在与否神器

    先看PHP手册: bool empty ( mixed $var ) 判断一个变量是否被认为是空的.当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在.如果变量不存在的话,empty ...

  3. word 使用宏批量设置表格

    Sub ChangeTable() Application.Browser.Target = wdBrowseTable To ActiveDocument.Tables.Count ActiveDo ...

  4. Networking with PHP

    PHP Advanced and Object-Oriented Programming 3rd Edition

  5. 出现upstream sent too big header while reading response header from upstream错误

    一个POS系统,出现upstream sent too big header while reading response header from upstream错误. 1.反向代理端,可以放到se ...

  6. 在HCI层ACL Connection的建立

    一.概述     上一篇博文介绍的是inquiry的整个过程中HCI层的command和event.在寻找到有效的远端蓝牙设备后,开始建立ACL连接,这里仅仅反应HCI层的数据包,对于LM层和Base ...

  7. Scrum 的相关概念

    Scrum 的相关概念 4.1   Scrum 的起源 Scrum 是一种灵活的敏捷软件开发管理过程,这个名词来源于英式橄榄球.Scrum方法由Ken Schwaber和Jeff Sutherland ...

  8. docker es and es cluster

    How to use this image You can run the default elasticsearch command simply: $ docker run -d elastics ...

  9. qt cef嵌入web

    原文http://blog.sina.com.cn/s/blog_9e59cf590102vnfc.html 最近项目需要,研究了下libcef库. Cef(Chromium Embedded Fra ...

  10. NodeJS模块的使用

    在NodeJS中,每个js文件就是一个模块,而文件路径就是模块名, 在编写每个模块时,都有require.exports.module三个预先定义好的变量可供使用. require函数用于在当前模块中 ...