转自: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. java ---运算符

    运算符简单来划分可以分为五大类:分别是算术运算符.关系运算符.逻辑运算符.三元运算符和赋值运算符.下面来分别介绍一下这几类运算符: 一.算术运算符 包含+  -  *  /  %  ++  --,这几 ...

  2. cordova -v 报错,必须用sodu cordova -v

    问题来源:MAC Caption EI 安装nodejs 4.5.0 之后,用命令:sudo npm install -g cordova ionic 安装cordova 和 ionic 然后用命令: ...

  3. ci获取当前url链接的分组,控制器,方法

    public function role() { $ci= &get_instance();//ci控制器超级对象,就是把所有执行的方法打印出来 $directory = substr($ci ...

  4. spring boot结合thymeleaf

    1.在pom文件中加入thymeleaf相关的依赖 spring-boot-starter-thymeleaf 2.在resource文件夹下创建 template文件夹,在template文件夹中创 ...

  5. ps命令交叉编译

    busybox中的ps命令是针对于嵌入式的,其中一些选项并不完整.因此需要将源码下载下来,进行交叉编译 官方下载地址 github下载地址 含有configure,我在此使用的是这个源码包,官方的包在 ...

  6. 如何使用Xcode分析调试在真机运行的UE4 IOS版游戏

    写本文的是因为UE4 官方文档虽然也有,但主要讲的是是用UE4Editor把游戏打成一个IPA包的形式发布的方法 而对于想通过Xcode分析UE4的渲染流程来学习或优化的朋友,那官方文档的资料还是不够 ...

  7. PHP面向对象程序设计的61条黄金法则

    PHP面向对象程序设计的61条黄金法则   你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚.但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起 . ----- Arthur J.R ...

  8. 20145235 《Java程序设计》第9周学习总结

    第十六章 整合数据库 JDBC Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Ja ...

  9. gcc的-D和-U参数:宏的设置与取消

    http://blog.chinaunix.net/uid-7213338-id-2658068.html  gcc的-D和-U参数:宏的设置与取消 2006-10-08 22:59:06 分类: L ...

  10. UISearchBar cover first cell of UITableView

    1.相当重要的是 tableView.tableHeaderView = searchBar; 这一句一定要在 UIViewController viewDidLoad 的时候执行,否则就会出现 se ...