Bug-Tracking Mechanism

5 Chapters
|
35 Pages
|
8,124 Words
|

A bug-tracking mechanism is a fundamental component of software development and quality assurance processes. It serves as a systematic and dynamic system for identifying, documenting, and managing issues within a software application or system throughout its lifecycle. This integral tool enables development teams to pinpoint and rectify anomalies, ensuring the robustness and reliability of the software. Employing a meticulous bug-tracking mechanism not only streamlines the debugging process but also enhances collaboration among team members, fostering a more efficient development environment. By incorporating keywords such as “bug-tracking,” “software development,” and “quality assurance,” this mechanism becomes an indispensable asset in maintaining the integrity and functionality of digital solutions, thereby contributing to the overall success of the development lifecycle.

ABSTRACT

Bug-Tracking mechanism is employed only is some of the large software development houses. Most of the others never bothered with bug tracking at all, and instead simply relied on shared lists and email to monitor the status of defects. This procedure is error-prone and tends to cause those bugs judged least significant by developers to be dropped or ignored. Bug-Tracking System is an ideal solution to track the bugs of a product, solution or an application. Bug Tacking System allows individual or groups of developers to keep track of outstanding bugs in their product effectively. This can also be called as Defect Tracking System. The Bug Tracking System can dramatically increase the productivity and accountability of individual employees by providing a documented work flow and positive feedback for good performance.
Features:
 Product and Component based
 Creating & Changing Bugs at ease
 Query Bug List to any depth
 Reporting & Charting in more comprehensive way
 User Accounts to control the access and maintain security
 Simple Status & Resolutions
 Multi-level Priorities & Severities
 Targets & Milestones for guiding the programmers
 Attachments & Additional Comments for more information
• Robust database back-end
Technology Used
Operating System : Windows XP or above
User Interface : HTML, CSS
Client-side Scripting : PHP
Back End : MySQL
Web Server : Apache Tomcat 7.0.22
IDE : NetBeans 7.1

 

TABLE OF CONTENT

Title Page

Certification

Dedication

Acknowledgment

Abstract

Table of Contents

 

CHAPTER ONE

1.0     General overview  and introduction

1.1     Introduction

1.2     Statement of Problem

1.3     Aim and Objective         s

1.4              Scope and Limitation

1.5     Significance of the Study

1.6     Definition of Terms

 

CHAPTER TWO        

2.0     Literature Review and System Analysis

2.1     Literature Review

2.2     Feasibility Study

2.2.1 The technical feasibility

2.2.2 the operation feasibility

2.2.3 The Economic feasibility

2.3     System Analysis

2.3.1 Fact Finding

2.4     Analysis of the Existing System

2.5     Problems of the Existing System

2.6     Solution to the Problems of the Existing System

 

CHAPTER THREE

3.0     System Design

3.0.1 Overview of design

3.1     Architectural Design

3.2     Hierarchical Design

3.3    Abstract Specification

3.3.1  Input Specification

3.3.2  Output Specification

3.4     Interface Design

3.5     Data Structure Design

3.6     Algorithm Design

 

CHAPTER FOUR

4.0     System Implementation and Documentation

4.1     System Implementation

4.2     Choice of Programming Language

4.3.0  Installation Requirement

4.3.1  Hardware Requirement

4.3.2 Software Requirement

4.4     Process of Installation

4.5     System Testing

4.6     System Changeover

4.7     System Documentation

 

CHAPTER FIVE

5.0      Summary, Conclusions and Recommendations

5.1      Summary

5.2      Conclusion

5.3       Recommendations

Reference

CHAPTER ONE

1.0 INTRODUCTION
The system which enables to detect the defect or bugs is known as Defect tracking system. It is also referred as bug tracking system. This system not only detects the bugs but also provides complete information about the detected bugs. The use of bug tracking systems as a tool to manage maintenance activities is extensive in which the systems serve as a central repository for monitoring the progress of bug reports, requesting additional information from reporters, and discussing potential solutions for fixing the bug(Lee et al, 2017). The main advantage of a bug-tracking system is that it provides a clear centralized overview of development requests including bugs and improvements, and their state. During defining the product roadmap, the valuable input is provided by prioritized list of pending.
The information provided in bug reports is used by developers to identify the cause of defect and narrow down the reasonable files that need fixing. According to the customer requirements, the developers develop the project. The quality checker identifies the bugs during the testing phase. When ‘n’ number of bugs is encountered, then tester adds the bug id and information in the database. The quality checker reports to both developer and project manager. For both the developer and project manager, the bug details in the database table are accessible. Many bug-tracking systems like which are used by most open source software projects, allow users to enter bug reports directly, whereas other systems are used only internally in a company or organization doing software development. Usually, bug tracking systems are integrated with other software project management applications. Bud tracking system is essential in software development and they are used widely by companies developing software products. In a corporate environment, a bug-tracking system is used for generating reports on the productivity of programmers at fixing bugs. Sometimes, this yields inaccurate results as different bugs may have different levels of severity and complexity. The severity of a bug is not directly related to the complexity of fixing the bug.
According to Angel et al, 2018 “A survey conducted amongst developers from the APACHE, ECLIPSE, and MOZILLA projects found out which information items are considered useful to help resolve bugs and found that items such as stack traces, steps to reproduce, observed and expected behavior, test cases, and screenshots ranked high on the list of preferred information by developers”. Fox & Orlina (2015) suggest that “previous research has shown that reporters often omit these important items and developers are then forced to actively solicit information from reporters and, depending on their responsiveness, this may stall development.” This affects the bug fixing mechanism as the bugs take long time to be fixed. This results in the gathering of unresolved bugs in the databases.
The main reason for this is that most bug tracking systems today have ended up by just becoming a complex search engine with too big databases of reported bugs but do not help in any way is resolving a bug. Due to this, the work of the developers is more difficult as resolving the bug is limited to the prior experience of the developer which may or may not be sufficient in resolving the bug on his own. Also, the tracking becomes more difficult because of the bugs. The situation may go worse if the developer is working n multiple projects. Since most of the current systems have too many complex interfaces and roles and limited access, tracking and fixing bugs became a difficult job for the developers today.
Bug tracking is a system which is used to solve out any type of bugs in any software. It is mostly useful for any software company. In this system we have design different types of user permission like developer, tester having different rights to connect software.(German et al, 2016) A bug tracking system helps us to keep track of bugs detected by tester of software and provide complete details regarding bugs to the developer as well as project manager of the software being tested. Bug Tracking System ensures the user of it will be able track the bug details as well as the status of debugging. For many years, bug-tracking mechanism is employed only in some of the large software development houses. Most of the other small firms and developers never bothered with bug tracking at all, instead they simply relied on shared lists and email to monitor the status of defects. This procedure is error-prone and tends the developer to consider the bug as insignificant which ends up being dropped or ignored. Bug Tracking System plays a vital role in the testing phase. The Bug Tracking System maintains the different user interfaces separately i.e., it provides separate environments for project manager, developer and tester. Bugs will be assigned to a person along with a bug id, screenshot, description, project name, etc. Bug can be submitted to the tester with an attachment for detailed report of the bug. Admin can maintain users, projects, organizations, bug categories, bug priorities, status of bug etc.

1.1 AIM AND OBJECTIVE OF THE STUDY
The aim of this research is to study the bug and the mechanisms to resolve and its life cycle in which it is determined how the bug arises and its consequences.
This project aims at creation of a Bug Tracking System. This project will be accessible to all developers and its facility allows developers to focus on creating the database schema and while letting the application server define table based on the fields in JSP and relationships between them. This system provides the following facilities.
The objectives of this system are:
• To keep track of employee skills and based on the skills assigning of the task is done to an employee.
• Employee does bugs capturing. It can be done on daily basis.
Various Reports are generated by this System for an employee and as well as to a manager.

1.2 STATEMENT OF THE PROBLEM
• Information retrieval is a very big process.
• Lack of organization of the files may porn to information loss due to accidental deletion of files.
• No security because the files are visible to the users.
• Report generation will be a big task.

1.3 SIGNIFICANCE OF THE STUDY
Bug tracking is the process of reporting and tracking the progress of bugs from discovery through to resolution, where a bug is defined as a deviation from requirements. Other terminology frequently used to describe this process include
• problem tracking
• change management
• fault management
• trouble tickets

1.4 SCOPE AND LIMITATION OF THE STUDY
This study covers design and implementation of a Bug Tracking Mechanism. Bug tracking systems are most commonly used in the coding and testing phases of the software development process. However, tracking systems can in fact be used for many other purposes such as general issue tracking, simple task lists, help desk situations or contact management, where the focus is on the tracking aspect rather than what is being tracked. Even in software development, tracking systems are quite often not limited to simply tracking bugs, but extended to track feature requests or enhancements as well as enquiries.

1.5 DEFINITION OF TERMS
Bug :- A software bug (or just “bug”) is an error, flaw, mistake, failure, or fault in a computer program that prevents it from behaving as intended (e.g., producing an incorrect result). Most bugs arise from mistakes and errors made by people in either a program’s source code or its design, and a few are caused by compilers producing incorrect code.
Bug report:-A bug report is a document that contains all information on a certain bug. Usually, it includes the data of a person who has detected it and the information on the possible ways of its correction.
Bug list:-Each software development project has its own bug list. It is a document that contains all information on the bugs that were detected during a certain project.
Bug tracking tool:-A bug tracking tool is a software application designed to automate most stages of the bug tracking process.

Save/Share This On Social Media:
MORE DESCRIPTION:

Bug-Tracking Mechanism:

A bug-tracking mechanism, also known as a bug-tracking system or issue tracking system, is a software tool or process used by software development teams to identify, report, prioritize, track, and manage issues or bugs in a software application or system. These issues can include software defects, errors, feature requests, enhancements, and other tasks related to software development and maintenance.

Here are the key components and concepts of a bug-tracking mechanism:

  1. Issue Reporting: Users, testers, or developers can report issues they encounter in the software. This typically includes information such as a detailed description of the problem, steps to reproduce it, and any relevant attachments or screenshots.
  2. Issue Assignment: After an issue is reported, it needs to be assigned to a responsible person or team member who will investigate and fix it. This assignment can be manual or automated based on predefined rules.
  3. Issue Prioritization: Not all issues have the same level of urgency or importance. Bug-tracking systems allow issues to be categorized and prioritized so that critical problems are addressed first.
  4. Status Tracking: The system should provide a way to track the status of each issue, indicating whether it’s open, in progress, resolved, or closed. This helps in monitoring the progress of issue resolution.
  5. Version Control Integration: Bug-tracking systems often integrate with version control systems like Git. This allows developers to link issues to specific code changes, making it easier to trace and verify bug fixes.
  6. Communication and Comments: Users and team members can add comments and updates to issues. This facilitates collaboration and helps in documenting the resolution process.
  7. Notification and Alerts: Users involved in an issue are typically notified of status changes, comments, or assignments. This keeps everyone informed about the progress.
  8. Custom Fields and Tags: Bug-tracking systems often allow the customization of issue fields and tags to capture specific information relevant to the project or organization.
  9. Search and Reporting: Users can search for issues based on various criteria and generate reports to gain insights into the project’s status and trends.
  10. Workflow Automation: Many bug-tracking systems support workflow automation, allowing for the customization of how issues move through various stages (e.g., from open to in progress to resolved).
  11. Integration with Development Tools: Integration with development tools, such as IDEs (Integrated Development Environments) and continuous integration/continuous deployment (CI/CD) pipelines, can streamline the bug-fixing process.
  12. Security and Access Control: Bug-tracking systems often include access control mechanisms to ensure that sensitive information is only visible to authorized users.

Popular bug-tracking tools and systems include Jira, Bugzilla, GitHub Issues, GitLab Issues, Trello, and many others. The choice of a bug-tracking mechanism depends on the specific needs and preferences of the development team and the project’s complexity. Effective bug tracking helps ensure that software is of high quality, stable, and meets user expectations.