In the world of outsourcing, development and programming web or software, ‘bug’ is a very common term to deal with. For the client, it is the most abhorred term. For the Project Manager, it is the word which steals his sleep. For the testing team, it is their bread earner and for programmer, bug is a day to day leaving phrase.

Yes!! the perspective of programmer is entirely different than others in realizing bugs. They are the mothers and fathers of this entity and yet they do not love it. First and before all why bugs are generated? Why not a programmer, writes a code for the first time which is bug free? As a representative of the programmer community, let me answer this.
When we write code, we first visualize the code in our mind and then start writing. When we visualize, we get a broad idea and when we write we narrowed it down to solution. While transcribing the code, we might falter on a section or we miss a very logical apprehension. This is very common and strikingly different as compared to the modus operandi of other profession. As the initial code we write in our mind and we then produce in the language editor, there remain enough chances, to miss out some logic altogether.
Another reason of bug, is the change in business logic. When the business logic model gets created and then implemented in the software design, programmer devises a plan to execute it. In the way of its execution, if there is any change in the model itself which requires editing or deleting some sections, ample scope remains to forget editing/deleting a key issue, already constructed.
The vision of a programmer is very poor and so is his aesthetic sense. 90 programmers out of 100, will think, other than logic all others are very minor. They are pretty interested in implementing new technologies, doing the code in more compact and reusable way. But will never try to think once about the color of interface. This is a general and recurring disease of a programmer.
Usability issue is an overall perspective which is just lost when coding a section of the project. To make a section more effective, much faster and robust, one gets away with the overall navigation. The object becomes so strong that subject goes into oblivion.
Kind of bugs: As per me Bugs primarily belong to four broad categories. namely
- Design Bugs : These are the bugs generated out of faulty application design. Like behavior of a key feature or totally absence of a feature. Primarily missing of key input or improper communication is mainly responsible for this bug.
- System Bugs : This also due to proper planning or not considering the behavior of the application in every possible system. Like non functioning of a feature in an old browser.
- Application Bugs : Totally programming bug. An interesting example is, application showing error when the database is fully empty. Or when some reserve characters like ( ‘ \ etc) are passed through a form.
- Cosmetic Bugs : Navigation error or difficult navigation, color, spelling mistakes etc belong to this category.
Identifying bugs: Obviously there are testing teams to find the bug and they are paid for it. But how can help the programmers in identifying bugs. To identify bugs, you first need to proceed category wise. As among all the categories, the last one is the most easy to fix, you shall least prioritize it. These are the steps if you follow can help you to get an application you looked for.
- First, chalk out, what were requirement were. You must keep a log of all communication with the development team. You need to find out if you have missed out any key feature. If you find that you really missed, or you later realized to include one, wait till the application is finished. And then request for it. It will help you to get a bug free application with a missing feature and not a complete package with bugs.
- Next, identify what are the things your application is solely dependent on. Like a shopping cart cannot survive with the bug in adding cart to item and then paying for it in payment gateway. Thoroughly test, if all is working fine.
- Try to judge, if the application behaves in the same way in all systems. Here, you need to understand some features may not work perfectly in all browsers. So, if it is covering all major browsers and if your selling point fails withing that class, you shall be quite happy.
- Don’t judge your application in terms of other successful application. As you do not like to compare your child and your neighbors’. Judge the application in its own merit.
- Try to keep it as simple as possible. As complexity will only add up to the bugs list.
- Demand test cases from testing team and check if the test cases cover all possible situation.
When in the beginning of the article, I wrote that bugs are something which a programmer produce, I would like to disprove it in the end. Bugs are something which come out of the hands of developers; there’s no doubt in it. But like the project, bugs are also a combined effect of all the stakeholders of the project. We belong to the world of bugs. So lets share it to keep the development environment bug free. ![]()





