Bugs! Even the physical ones give people the chills. In the development world the word is usually met with frowns and sighs. When developers hear, “There’s a bug!” it usually means that there’s several hours, or even days, of work ahead to fix identify, track and fix the bug or else the software, program or app will malfunction in some way.
Some bugs are admittedly small, silly even. A typo here, a misplaced line of code there. But when it’s buried under thousands, maybe even tens of thousands of lines of code, manually looking for it and fixing it can be headache.
Depending on what the bug affects and the timelines associated with the project, a single debugger or an entire team can be assigned to deal with the issue. These individuals will usually utilize a bug tracker, a program which detects, tracks and alert the presence of a bug in a program.
Seeing as how some companies may have invested a significant sum of money to the development of the app or program, the importance of debuggers and bug trackers has never been greater.
Unsurprisingly there are a plethora of bug tracking solutions currently available on the market. Some are excellent at just a single component of the process whereas other bug tracking software take everything into equal consideration. When looking for the bug tracking solution for you and your company make sure to take the following into consideration:
The bug tracker shouldn’t just notify you that there’s a bug it should let you label it, categorize it, take screen shots and provide information of the environment it exists in.
Your chosen software should allow you to share or assign the bug to another person. In the case of a team of debuggers, the ability to do this becomes both important and convenient, as it promotes collaboration.
Being able to see the debugging process from identification to resolution is an important way to keep track of progress and deadlines.
Does your chosen solution have the capability to tell you what has been done to the bug? The presence of a work log saves time and resources.
This goes without saying but putting things in graphs and charts often helps in conveying the situation to someone not familiar with the debugging process such as managers, executives and stakeholders.
Storage and Retrieval
There is no point in painstakingly identifying every part of the bug if all the information is just thrown away at the end. Your solution should be able to generate a database of bug details and be able to recall the information using descriptors, keywords and specified labels.
And now, the golden question. Which solution to go with? It is easy to go with big names like HP and IBM. They are after recognizable and reputable. They are not bad choices, but there are bug trackers that have “born to do this”. They are programmer and debugger favorites, and any of these will do the job.
Undeniably one of the leaders in the space, Bugzilla is loved because it is as easy to use as it is effective. It offers convenience, flexibility and efficiency all at the right price…free!
Another cost effective (read: free) favorite. Mantis is dead-easy to use. It is so simple that it may make you feel like it’s too good to be true and that it may not be doing its job. But you’d be wrong, it is an effective bug tracker…a very effective bug tracker. Its makers have made it really convenient for the user by providing it as a web application (a hosted solution will cost you a little money) and as a mobile application.
It isn’t a bug tracking solution per se. It was originally designed as an incident management solution that was also really good at tracking bugs. Like the other top solutions on this list, Trac is also web-based. When integrated with SCM (source code management) systems it gives the debugger the ability to view code, history, debug and, of course, fix the problem.
Much like Trac, Redmine is not a standalone bug tracking solution. It is an issue management solution that tracks bugs superbly well. It is also a web-based application, with the only caveat being that it requires Ruby to function.
Bugs are fickle things. Sure there are bugs that exist on mobile, web and desktop apps in unison. However, the more likely scenario is that a bug will only exist on a single platform. This is because of the uniqueness of the code used in each platform. Likewise, there are specific methodologies and techniques used to identify, track and debug on each platform. When dealing with bugs on mobile apps it is a good practice to use a single, specialized mobile app bug tracker. For one thing this saves time migrating and translating information from one tracker to another. This also makes it very easy to “compare notes” on other mobile app bugs that you may have already encountered.
With all this talk about bugs one would be led to believe that they are world ending problems. The harsh truth is that the overwhelming majority of bugs result in small nuisances. With smartphones, many bugs are associated with touchscreen responsiveness, app function and data connectivity. iOS devices suffer from bugs such as “Device stuck on Slide to Upgrade screen”, “Wi-fi won’t connect” and “Can’t turn cellular data on for some apps”. Meanwhile, Android users encounter bugs such as, “Apps crashing, launcher redraw and lag”, “No call audio” and “Flashlight time out”.
Conclusion: With the number of new apps constantly being launched and new devices being released, there will not be a shortage of bugs. Fortunately, there are developers and engineers hard at work to develop fixes and find solutions for the inevitable glitches and hiccups that are bound to come up. And, equally fortunate for debuggers, there are efficient, powerful and cost effective solutions like Bugzilla, Mantis, Trac, Redmine and others like them readily available on the market.