Click here to Skip to main content
Click here to Skip to main content

A Painless Web-Based Bug Tracking Tool

By , 30 Jun 2002
 

Introduction

In our small team, we needed a tool to track bugs found during the development cycle. Although many tools currently exist on the market, we needed something very simple, because we felt that to be effective, a bug tracking tool should allow a developer to enter a new bug in no time.

As far as I was concerned, I needed no other features, that may be found in other expensive packages, or even in the beast itself.

That is when I stumbled accross Joel Spolsky's most excellent Joel On Software that has provided me with hours of reading at lunch time ever since. I was particularly interested in the article that dealt with painless bug tracking. That was it! I decided to jump on the bandwagon, and developed this small project from scratch.

How to Use This?

Basically, bugz consists of a set of ASP server-side scripts that need to be processed by Microsoft's Internet Information Server. The data for the bugs are stored in a Microsoft Access database, but that can easily be changed, because that detail is centralized in one page.

The following picture shows a sample bug as rendered by the ASP pages. You will notice that it mimics as closely as possible what I have seen on Joel's page.

Features

bugz is designed to be extremely simple. There is no administration pages nor any pages not directely relevant to entering bugs. Currently, what you can do is:

  • list all bugs in the database
  • enter a new bug
  • update a bug assigned to you

The file config.asp contains some options that you will need to check. Make sure the baseURL variable is set to the address of the application. Additionnaly, you can set the bSendMail variable to True in order for e-mails to be sent automatically when a bug is entered or updated in the system.

bugz was designed to work with small teams. It doesn't use any authentication scheme. All that is required is to pass along the user login with the URL as explained below. The main pages for the application are:

  • list.asp: lists all bugs in the database
  • history.asp: displays history information for a specific bug
  • new.asp: allows for entering a new bug in the system

For instance, in your team, John would need to set the main page for the bug tracking tool in his web browser to point to the following URL:

http://base-url/bugz/list.asp?user=john

To enter a new bug in the system, the following URL would be used:

http://base-url/bugz/new.asp?&user=john

When a new bug is entered in the system, its status is Open and it is automatically assigned to the module owner, say Jack. Additionnaly, if the corresponding option is turned on in the config.asp page, an e-mail is sent to Jack.

When Jack wants to update a bug, he points his web browser to the following URL:

http://base-url/bugz/history.asp?bug=90002&user=jack

Where 90002 is the bug number. This is the address that is displayed in the first line of the e-mail that was sent to Jack. Because this bug is assigned to him, Jack is presented with the history for this bug, as well as with a form where he can enter informations in order to update the bug.

Upon update, a bug can be assigned to someone else and its status can be changed according to the rules described hereafter. Again, an e-mail is sent to the new person that now owns the bug. This goes on until the bug is closed.

  • When a bug is open (Open), it can stay open, or be resolved
    (one of Fixed, Won't Fix, Not Repro, Duplicate, By Design)
  • When a bug is resolved, it can be reactivated (Open) or closed (Closed)
  • When a bug is closed (Closed), it cannot be updated any longer

Conclusion

In this article, I have demonstrated the use of a simple, yet useful, bug tracking tool that is targeted at small development teams. I hope you will find a use for this with your own teams.

I'm looking forward to reading your comments and suggestions.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Maxime Labelle
Web Developer
France France
Member
Coming soon...

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralAnother painless tool for comparision, BugTracker.NET (free)memberctrager12 Aug '07 - 7:25 
GeneralAbout CustomizationmemberMoinus Samad Khan23 Apr '06 - 20:28 
GeneralAbout CustomizationmemberMoinus Samad Khan23 Apr '06 - 20:27 
Generalunable to connect to databasememberpamalam8 Aug '05 - 5:51 
GeneralNice Work! but...memberpeterchen17 Jun '04 - 6:33 
GeneralRe: Nice Work! but...memberMaxime Labelle2 Aug '04 - 3:00 
GeneralTiếng ViệtsussAnonymous21 Oct '03 - 0:09 
Generalerror while submitting new bugmembersamwise113012 Aug '03 - 6:57 
GeneralRe: error while submitting new bugmemberteepe2228 Dec '03 - 22:54 
Generalthis that and the othersussAnonymousToo1 Nov '02 - 9:59 
GeneralCannot Find Index File with latest downloadmemberveritycoder22 Oct '02 - 10:50 
GeneralRe: Cannot Find Index File with latest downloadmemberMaxime Labelle22 Oct '02 - 21:41 
GeneralNot working, is there a bugsussicskates6 Aug '02 - 6:20 
GeneralRe: Not working, is there a bugsussAnonymous6 Aug '02 - 6:31 
GeneralRe: Not working, is there a bugmemberMaxime Labelle6 Aug '02 - 20:44 
QuestionUpdated?memberJ.G. Hattingh1 Jul '02 - 23:06 
AnswerRe: Updated?memberMaxime Labelle2 Jul '02 - 1:04 
QuestionSort by open?memberMatt Newman1 Jul '02 - 10:07 
AnswerRe: Sort by open?memberMaxime Labelle2 Jul '02 - 1:13 
GeneralRe: Sort by open?memberMatt Newman2 Jul '02 - 5:49 
QuestionOther date formats?memberAndrás Földes27 Jun '02 - 6:11 
AnswerRe: Other date formats?memberMaxime Labelle27 Jun '02 - 7:42 
GeneralRe: Other date formats?memberAndrás Földes28 Jun '02 - 0:49 
GeneralRe: Other date formats?memberMaxime Labelle30 Jun '02 - 22:08 
GeneralHOWTO make use of this projectmemberTBiker24 Jun '02 - 6:44 
GeneralRe: HOWTO make use of this projectmemberMaxime Labelle24 Jun '02 - 23:50 
GeneralRe: HOWTO make use of this projectmembertward301710 May '04 - 15:21 
GeneralAny body can add a new bugmemberkoteswara23 Jun '02 - 22:49 
GeneralRe: Any body can add a new bugmemberMaxime Labelle24 Jun '02 - 3:30 
QuestionHow To Get Started?membermkennedy21 Jun '02 - 10:59 
AnswerRe: How To Get Started?memberMaxime Labelle24 Jun '02 - 3:25 
GeneralRe: How To Get Started?membermkennedy24 Jun '02 - 7:44 
GeneralSuggestions and PraisememberJ.G. Hattingh19 Jun '02 - 4:39 
GeneralRe: Suggestions and PraisememberMaxime Labelle20 Jun '02 - 3:37 
GeneralRe: Suggestions and PraisememberJon Pawley10 Jul '02 - 15:48 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web03 | 2.6.130516.1 | Last Updated 1 Jul 2002
Article Copyright 2002 by Maxime Labelle
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid