0% found this document useful (0 votes)
11 views

Rescued Document 3

The document describes a bug tracking system that allows tracking bugs across different projects and modules from a centralized system. It provides authorization for users, handles bug details and statuses, and allows project and user administration. The system is developed using Java, Tomcat, and Oracle to allow distributed and centralized bug tracking.

Uploaded by

ernkjha
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Rescued Document 3

The document describes a bug tracking system that allows tracking bugs across different projects and modules from a centralized system. It provides authorization for users, handles bug details and statuses, and allows project and user administration. The system is developed using Java, Tomcat, and Oracle to allow distributed and centralized bug tracking.

Uploaded by

ernkjha
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 27

INTRODUCTION

The Bug Tracking System is developed with the aim of automatically tracking
all the bugs related to different modules of different projects. We can control or
view the status of or handle all these bugs at a remote place. It keeps track the
bug faced by any one who involved in the process of testing our one of the
projects. Like this it is very easy to monitor or operate the bugs project-wise and
module-wise and status-wise.

The purpose of this project is to handle bug details, the bugs that
occur in project during development stage, at the time of testing and after the
release of the project it also handles information like to which component or
module of project the bug occurred, by whom the bug reported, to whom the bug
allotted to cure, time when the bug was reported, the status of the bug like
whether it is a major bug, minor, critical or enhanced one. By this we are able to
maintain the bug status reports priority wise too. The main scope of this project
is any one who wants to release beta version of a project can handle the testers
reports using this application very easily. By this he can come out of the testing
phase very quickly without taking much burden on track or recording all the bug
details precisely. Every bus provides basic details like what is bug and what kind,
who discovered that, what is status of that bug, in which project and in which
module the bug was found, to whom this bug is assigned and so on.
Distributed System
# EMBED PBrush ###

Centralized System

# EMBED PBrush ###

Objectives:
Bug Tracking System is a tool is used to keep track of the bugs occurred among the
several projects. Lot of effort was put to make it user friendly.
Optimum utilization of tool is possible. All basic features are provided.
Reduces the user interaction work.
The wastage of time is reduced.
It also helps in optimum distribution of funds by the management among user groups
for procurement of new equipment.
More flexible it means user (administrator) can add his own number of filters if he
interested easily.
All the bugs are stored and controlled centrally. So no need to maintain separate
database in every branch.

PROJECT DIVISION

Authorization:
All the users will be given a user name and password for login into the
system.
Depending on the validity of the username and password entered, the users can
use the system.

Bug Handling:
The bugs with their complete details are stored and specified details can be
modifiable. The closed bugs are also maintained separately.

Project Administration:
The project administration deals with the projects for which the bug reports
are to be handled. This task includes to which the project is assigned to manage
i.e., to which administrator or manager the project is assigned to manage, to which
developers the bugs of the project assigned to cure, storing versions and
components of the project and status of the project.
User Administration:
The user administration deals with different uses management. The purpose of
this phase is to store the user list and their attributes. The attributes include
the type of user and permission given to the user these two attributes are
modifiable and is done by the user administrator.

Reasons for choosing the language


This is to describe all external requirements for the Bug Tracking System. It
also describes the interfaces for the system and reasons of choosing them. This
project will be implemented according to the following JSP/Servlets Architecture.

1. Java
Java provides a developer friendly environment for multithreaded programming,
which is essential to implement the parallel and distributed nature of the
application.
( Java makes writing Network programs easy with ready to use classes.
( Java is architecture neutral i.e. code once, run anywhere phenomenon helps
in developing an application which can be used over a wide variety

ABOUT SERVLETS
(Servlets are generic extension to java enabled .servers
(A servlet is a dynamically loaded module that services request from a web
server
( As servlets are provided with access to entire JDK they provide very powerful
and robust solutions

2. A Java Web Server: Tomcat 4.0


Tomcat is a commercial-quality web server solution based on the Java
platform that supports the Servlets and JSP specifications.

3. Relational Database server


The project uses Oracle 8 as back end.
Why Choose Oracle?
Oracle is a comprehensive operating environment that packs the power of mainframe
relational database management system in to a micro system, because application on
professional ORACLE are completely portable to other versions of a program, an
application can be create in a single user environment and then moved to a multi-
user platform.

FEATURES OF ORACLE
In oracle all data is stored and displayed in tables. Which consists of rows and
columns (fields). Oracle is a modular system that consists of Oracle database and
several functional programs (tools) and each has a special purpose and can be
accessed and used independently.
Oracle tools do 4 major kinds of work:
Database Management
Data access and manipulation
Programming
Connectivity.
Oracle provides efficient and effective solutions for major database features like:
( Large database and space management control.
( Many concurrent database users.
( High transaction processing performance.
( High Availability.
( Controlled Availability
( Industry accepted standards.
( Manageable security.
( Database enforces integrity.
( Client/Server environment.
( Distributed database systems.
( Compatibility.

4.HTML
HTML stands for Hyper Text Markup Language. It is useful to create web pages.
This is the language used to design and publish the information on the net. The
HTML document comprises of hypertext, images, hyper links and many related things.
This project uses HTML for designing the forms and linking different forms and for
user interface.
Features of HTML:
( This is a formatting language.
( These are structured documents.
( It is a platform independent language
( It is not case sensitive
( It is browser dependent
( It relays on data rather than page formats

2.1 Existing System:


The existing system is also computerized one. But it is standalone computer system
application. So in every branch we have to install the software and maintain a
database individually for tracking the bugs occurred in that Branch.

2.2 Drawbacks of Existing System:

It is very difficult to keep track of all bugs occurred around all the branches.
Totally is very time taking and risky process to collect all the bugs from every
branch and controlling them and taking the decisions on those collected data about
the bugs. Since there are so many projects in the organization to test, it is very
difficult to track all the bugs by using this system.

There is no communication between one branch to other branch, and no communication


between the administrator, manager, developer and tester.

2.3 Proposed System:


The first step of analysis process involves the identification of need. The
success of a system depends largely on how accurately a problem is defined,
thoroughly investigated and properly carried out through the choice of solution.
This application has been developed in order to overcome the difficulties
encountered while using the existing system. This is web-based distributed JSPBug.
An integration of JSP/Java-Servlets, application server and relational database.

One more motive to develop this new system is when we developed an application and
it is in beta version and is being tested by different peoples around the earth. If
any one find out a bug in a module of that application can report that bug to us
using this Bug System. Thus our Bug Tracking System collects all the bugs related
one/more projects and maintains them in a proper manner which helps us to take a
decision and to know quickly the status of bug in each project.

Advantages of proposed system:


Bug Tracking System is a tool is used to keep track of the bugs occurred among the
several projects. Lot of effort was put to make it user friendly.
Optimum utilization of tool is possible. All basic features are provided.
Reduces the user interaction work.
The wastage of time is reduced.
It also helps in optimum distribution of funds by the management among user groups
for procurement of new equipment.
More flexible it means user (administrator) can add his own number of filters if he
interested easily.
All the bugs are stored and controlled centrally. So no need to maintain separate
database in every branch.

2.4. Application of proposed system:


Applications of this project are followed below:
The main application of this proposed system is that it can be very helpful in
testing phase.
It is used in Software Quality Assurance Company for testing the software quality
in terms of occurring bugs in testing phase.
When we developed an application and it is in �beta version� and is being tested by
different peoples around the earth. If any one find out a bug in a module of that
application can report that bug to us using this Bug System. Thus our Bug Tracking
System collects all the bugs related one/more projects and maintain them in a
proper manner which helps us to take a decision and to know quickly the status of
bug in each project.

2.5. Software Requirement Specification (SRS):


The Bug Tracking System is developed with the aim of automatically
tracking all the bugs related to different modules of different projects. We can
control or view the status of or handle all these bugs at a remote place. It keeps
track the bug faced by any one who involved in the process of testing our one of
the projects. Like this it is very easy to monitor or operate the bugs project-wise
and module-wise and status-wise.

2.5.1. INTRODUCTION
2.5.1.1. Purpose: The purpose of this document is to describe all external
requirements for the Bug Tracking System. It also describes the interfaces for the
system. This project will be implemented according to the following JSP/Servlets
Architecture.

1. An internet browser as (html/web client)


� Microsoft Explorer

2. A Java Web Server


� Latest open source web server -- Tomcat 4.0.6
Tomcat is a commercial-quality web server solution based on the Java platform that
supports the Servlets and JSP specifications.

3. Relational Database server


( ORACLE 8

2.5.1.2. Scope:
This project work intends to maintain the bug details
project-wise and module-wise, Which makes easy to verify the bug reports. By this
we are able to maintain the bug status reports priority wise too. The main +scope
of this project is any one who wants to release beta version of a project can
handle the testers reports using this application very easily. By this he can come
out of the testing phase very quickly without taking much burden on track or
recording all the bug details precisely. Every bus provides basic details like what
is bug and what kind, who discovered that, what is status of that bug, in which
project and in which module the bug was found, to whom this bug is assigned and so
on.

2.5.1.2. Definition:
A Bug Tracking System can treat as a tool in testing
phase to handle all the bug reports, which occurred while testing the modules of
the projects.

2.5.2. GENERAL DESCRIPTION:


2.5.2.1. Product function�s overview:
Suppose we have developed different number of
projects and put all of them in testing. We are going to get the results from the
testers. So we have to keep track of all the bug details project-wise and module-
wise. We can use this application in another scenario also which is supposed we
released a beta version for testing then we have to collect all bug details if any
from the public or all those we have taken our product under testing. For this
reason also we can use this application to collect and record all the bug details
in database objects precisely. We can observe the product�s functional view as
follows:
2.5.2.2. Functional Specification (Bug Tracking Scenario) :
(Note: Following web front-end design is just a scenario. Enhancement will done at
final implementation.)
1. Main Page (List of user�s open bugs)
2. Project administration
3. Bug Tracking
� Creating a new bug
� Editing a bug
� Listing bugs
� Searching for bugs
4. User administration
5. Logout

2.5.2.3. System design model:

Software design is the kernel of the software engineering process. Once


the software requirements have been analyzed and specified, the design is the first
activity. The flow of information during this process is as follows.

# Function specification

Behavioral specification

Other requirement modules


Procedural design

2.5.3. Functional Requirements:


Functional requirements specify which outputs
should be produced from the given inputs. They describe the relationship between
the input and output of the system, for each functional requirement a detailed
description of all data inputs and their source and the range of valid inputs must
be specified. All the operations to be performed on the input data to obtain the
output should be specified.

Inputs: Inputs are nothing but Bug Details. Every bug must provide the details of
bug name, who discovered the bug, to whom that bug is assigned, the status of the
bug, in which project and in which module that bug is found, and the date of the
bug found. To add a project we have to give the new project details like who is
team leader of that project and how many modules that consists.
Outputs:

Reports: We can generate many varieties of reports related to the bugs.


Totally how many bugs exist? we can also get a report for the bugs project wise,
priority wise, manager or team leader wise and status wise also. Like this we can
generate any much number of reports. To generate the reports attractively and
effectively we used different kind of tools.

2.5.4. External Interface Requirements:

User Interface: Here user interface is developed using JSPs using which we
can design and develop the pages which are attractive and dynamic. It is also very
easy to navigate from one place to another place. We put lot of efforts to make the
user interface attractive and process the data which is fed by the user.

Software Interfaces: This interface requirements should specify the inter face
with other. Software which the system will use or which will use the system, this
includes the interface with the operating system and other applications. The
message content and format of each interface should be given.

Hardware Interfaces: Hardware interface is very important to the documentation.


If the software is execute on existing hardware or on the pre-determined hardware,
all the characteristics of the hardware, including memory restrictions, should be
specified. In addition, the current use and load characteristics of the hardware
should be given.

2.5.5. Performance Requirements:

There are two types of performance requirements � static and dynamic.


static Requirements are those that do not impose constraint on the execution
characteristics of the system. Dynamic requirements specify constraints on
execution behavior of the system. These typically include response time and
throughput constraints on the system.

The processing speed, respective resource


consumption throughput and efficiency measure performance. For achieving good
performance few requirements like reducing code, less use of controls, minimum
involvement of repeated data etc., are to be followed. Each real-time system,
software what provides required function but does not conform to performance of
software requirements is acceptable. These requirements are used to test run time
performance of software with the context of an integrated system.

2.5.6. DESIGN CONSTRAINTS:


2.5.6.1. SOFTWARE CONSTRAINTS:
Operating System : Windows2000 Server/NT
Reports : General Reports
Other Applications : Tomcat WebServer

2.5.6.2. HARDWARE CONSTRAINTS:


Pentium Processor : PentiumIII
RAM : 128MB
Hard Disk : 20 GB
Floppy Disk : 1.44 MB
CD/ROM Drive : 52 Bit
VDU : VGA
Key Board : 101 Standard

2.5.7. Design document:


2.5.7.1. Design fundamentals:
the essential fundamental concepts involved in the design of as
applications are
Abstraction
Modularity
Verification

2.5.7.2. Reliability:
The software should behave strictly according to the original
specification of satisfying customer�s requirements and should function smoothly
under normal and possible abnormal conditions. This product is highly reliable, can
handle any number of mails to filter.
2.5.7.3. Extendibility:
The design of the system must be such a way that any new additions to
the information functional and behavioral domain may be done easily and should be
adapted to new specifications. We provided this extensibility to this product. you
can add any number of filters to your product in the future.
System design is the process of developing specification for the
candidate system that meets the criteria established during the phase of system
analysis. Major step in the design is the preparation of input forms and design of
output reports in a form acceptable to the user. These steps in turn lead to a
successful implementation of the system.

2.5.8. Code design:


2.5.8.1. Architectural overview of the project:
This project will be implemented according to the following.
An internet browser as (html/web client)
� Microsoft Explorer
2. A Java WebServer
� Latest open source web server -- Tomcat 4.0.6
i. Tomcat is a commercial-quality web server solution based on the Java
platform that supports the Servlet and JSP specifications.
Figure-1 shows the basic structure of a J2EE application: a typical designed for
creating server-side scalable, transactional, multi-user secure enterprise-level
web applications. It provides a consistent component architecture framework for
creating distributed n-tier middleware.

PROJECT ARCHITECTURE

#EMBED Unknown###

Figure 1: Principal structure of a J2EE application, including the Web


server, application server, and data source. Used technologies are displayed below
the dashed line; normal application designations are displayed above it

3.1. Design Methodology:


To produce the design for large module can be extremely complex task. The
design principles are used to provide effective handling the complexity of the
design process, it will not reduce to the effort needed for design but can also
reduce the scope of introducing errors during design.

For solving the large problems, the problem is divided into smaller
pieces, using the time-tested principle of �divide and conquer�. This system
problem divides into smaller pieces, so that each piece can be conquered
separately. For software design, the problem is to divide into manageable small
pieces that can be solved separately. This divide principle is used to reduce the
cost of the entire problem that means the cost of solving the entire problem is
more than the sum of the cost of solving all the pieces.

When partitioning is high, then also arises a problem due to the cost of
partitioning. In this situation to know the judgment about when to stop
partitioning.

In design, the most important quality criteria are simplicity and


understandability. In this each the part is easily related to the application and
that each piece can be modified separately. Proper partitioning will make the
system to maintain by making the designer to understand problem partitioning also
aids design verification. Abstraction is essential for problem partitioning and is
used for existing components as well as components that are being designed,
abstracting of existing component plays an important role in the maintenance phase
and design process of the system.

In the functional abstraction, the main four modules to taking the details and
computing for further actions. In data abstraction it provides some services.

The system is a collection of modules means components. The highest-level


component corresponds to the total system. For design this system, first following
the top-down approach to divide the problem in modules. In top-down design methods
often result in some form of stepwise refinement after divide the main modules, the
bottom-up approach is allowed to designing the most basic or primitive components
to higher-level components. The bottom-up method operations starting from very
bottom.

In this system, the system is main module, because it consists of discrete


components such that each component supports a well-defined abstraction and if a
change to the component has minimal impact on other components. The modules are
highly coupled and coupling is reduced in the system. Because the relationships
among elements in different modules is minimized.

Data Flow Diagrams:

The Data Flow Diagram is a simple graphical notation that can be used to
represent a system in terms of the input data to the system various processing
carried out on these data, and the output data generated by the system. The main
reason why Data Flow Diagram technique is so popular is on account of the fact that
it is very simple formalism � it is simple to understand and use.

A Data Flow Diagram model uses a very limited number of primitive symbols to
represent the function performed by a system and the data flow among these
functions. Starting with a set of high-level functions that a system performs, a
DFD model hierarchy represents various sub functions.

There are essentially five different types of symbols used to construct


DFDs, they are Functional symbol, External Entity, Dataflow symbol, Data store
symbol, Output.

# EMBED Photoshop.Image.7 \s ###


figure 1: Context Diagram
# EMBED Photoshop.Image.7 \s ###
figure 2 low level DFD for login

# EMBED Photoshop.Image.7 \s ###


figure 3 low level DFD for Administrator

# EMBED Photoshop.Image.7 \s ###


figure 4 low level DFD for Manager
# EMBED Photoshop.Image.7 \s ###
figure 5 low level DFD for Developer and Client

Data Dictionary:
#

####

ER Diagram:
#

Sequence Diagrams:
A sequence diagram represents the sequence and the interactions of
given case or scenario. A sequence diagram shows an interaction arranged in a time
sequence. It shows the objects participating in the interaction by their life
times and messages they exchange, arranged in a time sequence.

A sequence diagram has two dimensions: the vertical dimension represents


time, the horizontal dimension represents different objects. The vertical line is
called the object's lifeline. The lifeline represents the object's existence during
the interaction. An object is shown as box at the top of a dashed vertical line. A
role is a slot for an object with in a collaboration that describes the type of
object that may play the role and its relationships to other roles. Each message
is represented by an arrow between lifetime of two objects. The order in which
these message is occur is shown top to bottom on the page. Each message is labeled
with message name.

#
figure 1: login sequence diagram
#
figure 2: detailed sequence diagram

interface diagram:
# SHAPE \* MERGEFORMAT ####
4.1. Solution to the problem:

This application has been developed in order to overcome the difficulties


encountered while using the existing system. This is web-based distributed JSPBug.
An integration of JSP/Java-Servlets, application server and relational database.

4.1.1. Project Scope and Objectives:

Bug Tracking System is a tool is used to keep track of the bugs occurred among the
several projects. Lot of effort was put to make it user friendly.
Optimum utilization of tool is possible. All basic features are provided.
Reduces the user interaction work.
The wastage of time is reduced.
It also helps in optimum distribution of funds by the management among user groups
for procurement of new equipment.
More flexible it means user (administrator) can add his own number of filters if he
interested easily.
All the bugs are stored and controlled centrally. So no need to maintain separate
database in every branch.

1. Login form: This is Login form for the users to login to their account and do
their job. The user has to give his/her correct login name and pass word to enter

#
Figure 1: Login form

2. Welcome Form: This is welcome form to the users who are logged in and the
permissions given to the users are available in terms of enabled buttons. The users
can not access buttons that are disabled.
#
Figure 2: Welcome Form to users

3. User Administration form: this form can only be viewed by administrators. In


this administrators can view users present and can change user status.
Administrators can also remove users and can assign permissions on different
projects to different users.

#
Figure 3: User Administration form

4. User Creation Form: User creation form is to create a new user to by the
administrator by entering user details and assigning the user to a group.

#
Figure 4: New user creation form

5. Edit users : This form shows how to change users profile. The administrator
should select User name in the list to edit user profile.

#
Figure 5: The form shows how to edit users

6. User Edit Form: This form is to edit user profile that is this form used to
change user profile by changing his group or his e-mail id and other details

#
Figure 6: User Edit form.

7. The form that displays after editing of the user.


#
Figure 7: form displayed after editing of user

#
#

8. Permission Form: This form is used by the administrator to assign permissions to


different users on different projects. The following form shows permissions that
can be assigned to the manager

#
Figure 8: permission to manager

9. Permission Form: This form is used by the administrator to assign permissions to


different users on different projects. The following form shows permissions that
can be assigned to the developer.

#
Figure 9: Permission form

10. Permission Form: This form is used by the administrator to assign permissions
to different users on different projects. The following form shows permissions that
can be assigned to the tester.

#
#
Figure10: Permissions to the tester.
11 New Project Form: This form used to add new project. The used has to give
project name and its description

#
Figure 11: New Project form

12. Project List Form: This form shows list of projects that are available. This
form is accessed by administrator only.

#
Figure 12: Project list form.
#

13. Edit Project Form: This form is to edit project which is already created.
Editing of project include adding new versions, new components and changing
description of the project

#
Figure 13: Edit Project Form

. Form that shows option to add new version to a project. The user should select
New Version present in the top on version table

#
Figure 14: Option to add new version

15. Version Form: This form is to add new version to existing project. The user has
to specify version name and description of version to add it.
#
Figure 15: Add version to project

16. View of Project form after addition of version to project

#
Figure: Project form after addition of version.

17. Form that shows option to add new component to a project. The user should
select New Version present in the top on component table

#
Figure 17: Option to add new component

18. Component Form: This form is to add new component to existing project. The
user has to specify version name and description of component to add it.

#
Figure 18: Add component to project
19. View of Project form after addition of component to project

#
Figure 19: Project form after addition of component

20. List of bugs in a project that are closed

Main page: Main page consist of list of bugs present in all projects which are not
closed.
The list of these bugs can be filtered by different options. The following form
shows list of bugs grouped by priority of bugs. The priority order is Critical,
Major, Minor, Resolved

#
Figure: Main page filtered by priority

Main page: Main page consist of list of bugs present in all projects which are not
closed.
The list of these bugs can be filtered by different options. The following form
shows list of bugs grouped by project of bugs. The project order is in alphabetical
order.

#
Figure: Main page filtered by project

Main page: Main page consist of list of bugs present in all projects which are
not closed. The list of these bugs can be filtered by different options. The
following form shows list of bugs grouped by status of bugs. The order of status is
Opened, Resolved, Assigned and Closed.

Main page: Main page consist of list of bugs present in all projects which are
not closed. The list of these bugs can be filtered by different options. The
following form shows list of bugs grouped by user assigned bugs

Create New Bug: this form used to add new bug in a project. The user has to give
name of bug and its project

#
View of main page after creation of new bug named connection error

Bug Tracking: This report consist of list of bugs that are assigned filtered based
on priority

Bug Tracking: This report consist of list of bugs that are assigned filtered based
on project

Bug Tracking: This report consist of list of bugs that are assigned filtered based
on status
#

Form that specify option for editing bugs

Bug Editor: This form is used to edit bugs. The editing includes changing name of
bug, description, priority, status and to whom the bug is to assign.

TESTING

INTRODUCTION:
Testing is one of the most important phases in the software
development activity. In software development life cycle (SDLC), the main aim of
testing process is the quality; the developed software is tested against attaining
the required functionality and performance.
During the testing process the software is worked with some particular test
cases and the output of the test cases are analyzed whether the software is working
according to the expectations or not.
The success of the testing process in determining the
errors is mostly depends upon the test case criteria, for testing any software we
need to have a description of the expected behaviour of the system and method of
determining whether the observed behaviour confirmed to the expected behaviour.

Levels Of Testing:
Since the errors in the software can be injured at any stage. So, we
have to carry out the testing process at different levels during the development.
The basic levels of testing are Unit, Integration, System and Acceptance Testing.
The Unit Testing is carried out on coding. Here different modules are tested
against the specifications produced during design for the modules. In case of
integration testing different tested modules are combined into sub systems and
tested in case of the system testing the full software is tested and in the next
level of testing the system is tested with user requirement document prepared
during SRS.
There are two basic approaches for testing. They are
Functional testing:
In Functional Testing test cases are decided solely on the
basis of requirements of the program or module and the internals of the program or
modules are not considered for selection of test cases. This is also called Black
Box Testing

Structural testing:
In Structural Testing test cases are generated on actual code of
the program or module to be tested. This is called White Box Testing.

7.1. TESTING CRITERIA:


Testing process:
A number of activities must be performed for testing software. Testing
starts with test plan. Test plan identifies all testing related activities that
need to be performed along with the schedule and guide lines for testing. The plan
also specifies the levels of testing that need to be done, by identifying the
different testing units. For each unit specified in the plan first the test cases
and reports are produced. These reports are analyzed.

Testplan:
Test plan is a general document for entire project, which defines
the scope, approach to be taken and the personal responsible for different
activities of testing. The inputs for forming test plane are
Project plan
Requirements document
System design

Testcase Specfication:
Although there is one test plan for entire project test cases
have to be specified separately for each test case. Test case specification gives
for each item to be tested. All test cases and outputs expected for those test
cases.

Test case specfication & Execution:


The steps to be performed for executing the test cases are
specified in separate document called test procedure specification. This document
specify any specify requirements that exist for setting the test environment and
describes the methods and formats for reporting the results of testing.

Unit Testing:
Unit testing mainly focused first in the smallest and low level
modules, proceeding one at a time. Bottom-up testing was performed on each module.
As developing a driver program, that tests modules by developed or used. But for
the purpose of testing, modules themselves were used as stubs, to print
verification of the actions performed. After the lower level modules were tested,
the modules that in the next higher level those make use of the lower modules were
tested.
Each module was tested against required functionally and test cases were developed
to test the boundary values.

Integration Testing:
Integration testing is a systematic technique for
constructing the program structure, while at the same time conducting tests to
uncover errors associated with interfacing. As the system consists of the number of
modules the interface to be tested were between the edges of the two modules. The
software tested under this was incremental bottom-up approach.
Bottom-up approach integration strategy was implemented with the following steps.
Low-level modules were combined into clusters that perform specific software sub
functions.
The clusters were then tested.

System Testing:
System testing is a series of different tests whose primary purpose is to
fully exercise the computer-based system. It also tests to find discrepancies
between the system and its original objective, current specifications.

CONCLUSION AND MORE ENHANCEMENTS

Bug Tracking System can be considered as a tool, lots of efforts


were put to make it work perfectly and efficiently. The developed system is tested
with real data and the users are satisfied with the performance of the system and
reports.
This project is developed using JSPs/Java Servlets, Application
Server and relational database. By using this tool we can make easy the work of
recording the bug details and producing the required reports on those bugs. Simply
it keeps track of the bug details. By this lot of work load will be reduced to the
administrator, who is handling the bugs and also a copy of deleted bugs can be
directed to specified location which is for verifications. This tool is very useful
for Administrating department. It provides extendibility also. So you can add your
own features in future very simply without disturbing the existing code. This tool
reduces the manual work and saves the time as well as manpower. The time for
processing and producing reports is considerably reduced. All the features are
implemented and developed as per the requirements.

FUTURE ENHANCEMENT:
Bug Tracking system will depend of the users to record
details about users, projects and bugs. The future enhancement of this project will
be to replace users who detect bugs and enter them in bug tracking system with a
new module that detects bugs automatically and report them to the system that is
the testers who test projects for bugs can be replaced by a code that test the
projects of their own on user request or with out user request.
The project enhancement also includes replacement of developers whose
job is to cure bugs that are assigned to them. The developers may be replaced by a
new module or code that cures bugs reported to it.
By these enhancements this project will servers well for software quality
assurance and it will become a good testing tool with advantage of handling multi
projects and can work in multi user mode.

REFERENCES

AUTHOR�SNAME TITLE NAME OFTHE BOOK

BRUCE ECKEL BASIC JAVA CONCEPTS THINKING IN JAVA

ANEESHA BAKHARIA JSP JAVA SERVER PAGES

WORX JAVA SERVLETS/JSP WROX

PUBLICATIONS

VOLUME I AND II

PANKAJ JALOTE SOFTWARE ENGINEERING AN INTEGRATED

APPROACH TO

SOFTWARE

ENGINEERING
I.T.HAWRYSZKIEWYCZ SOFTWARE ENGINEERING INTRODUCTION TO

SYSTEM ANALYSIS

AND DESIGN
WENDY BOGGS UML DIAGRAMS UML WITH RATIONAL ROSE
MICHAEL BOGGS 2002

SOME PREFERRED WEBSITES : # HYPERLINK "http://www.bruceeckel.com"


##WWW.BRUCEECKEL.COM#
# HYPERLINK
"http://www.sun.com/j2ee/mailapi" ##WWW.SUN.COM/J2EE/MAILAPI#
# HYPERLINK "http://www.sun.com/j2se"
##WWW.SUN.COM/J2SE#

9.1. Project Installation

9.1.1. Installing project:


This project can be load in server side only. There are following steps to
install :
Step1: Select the project directory in the given CD named � Kalyan's Project.�
Step2: Copy this directory into the server system on any where.
Step3: Create context for that directory in Tomcat 4.1.
Step4: Then run the project from the available Internet Explorer.
9.1.2. Installing Web Server:
Here we are using Tomcat Server 4.1 as a Web server. To install this first
download the file in the web site # HYPERLINK "http://jakarta.apache.org/tomcat"
##http://jakarta.apache.org/tomcat# . In this site there is file called
�TomcatServer4.1.exe�, Please download it. Double-click the installed file and then
it appears a screen that it gives option for where to download this file. Select a
directory and install it. At the end of installation it asks for �Port number:�
fill the field with �8080� and username, password is also appearing. Better not to
touch that one. Click finish to close the installation. Tomcat 4.1 has installed
successfully in your computer. To start the application open the following:
Start>Programs>Apache Tomcat 4.1> Start Tomcat
So it starts the dosprompt window as below shown:
#

If the screen looks like this your web server is ready.

Note: Before Install this software you must install the java runtime Environment
available in the market. So it can install, otherwise it cannot install.

9.1.3. Creating Our Own context:


To create our own context Follow the below steps:
Step1: Open the installed Tomcat server4.1 home directory.
Step2: In that there is a directory called conf. Open this directory.
Step3: Open the server.xml file in notepad and do the following procedure.
i) Find the word <context in the file.
ii) So the word appears only once if no context has been created.
iii) Copy the context TAG example is below:
<Context path="/examples" docBase="examples" debug="0"
reloadable="true" crossContext="true">
iv) Paste the tag above the tag and modify it like below
<Context path="/bugtrack" docBase="g:\Kalyan's Project" debug="0� />
Note: here �g:\kalyan�s project� is project directory which I have installed. Set
this directory as where you have installed this project
Step4: Save the server.xml file and close the file then run tomcat server

Example screen is shown below:

*** The blue marked one is written for creating context name �bugtrack�.

Note: Be careful while writing the server.xml. If written wrongly then server will
not open.
9.1.4. Installing Database and Setting up the database for Project:
We are using Oracle 8.0 as database in our project. Oracle8.0 is available in
the market. So get it from that. Install the Oracle 8.0 in the server system.
Do the following steps:

Step1: Insert the oracle 8.0 CD in your CD-drive and it will autorun the CD. if not
enter into CD and click setup.exe icon.
Step2: Then a window appears to install. Select Application Developer option.
Step3: After oracle 8.0 installed in the computer start oracle database on
selecting start> programs> Personal Oracle8 for Windows 95> Start Database.
After starting successfully it intimates as follows:

#
Step4: select start>programs>Oracle for Windows 95>SQL Plus 8.0 then a window
appears on the screen.

Step5: Enter into database with username: system and password: manager.

Step6: create new username and grant permission to that user by typing following
commands:
SQL>create user kalyan identified by chakri;
User created.
SQL> grant connect, unlimited tablespace, resource to kalyan;
Grant succeeded.
SQL>connect
Enter user-name: kalyan
Enter password: *****
Connected.
SQL>
Step7: From the new user login type the following command in SQL-prompt
SQL>start �g:\kalyan�s project\tables final.txt�;
Example screen is below:
#

Then all the tables in the txt file are created.


Step8: Your Database is now ready to run for Project Environment.
Note: Before shutting down the oracle database close all active connections.

9.2. OVERALL SITE MAP

Before using the application, one should go over all access paths of the screen
depicted in Figure 11. Right after logged-in, the user has five main categories of
JSP pages to select from the top menu bar.

1. Home Page (Filtering defects according to its assigned status)


2. Bug Tracking Page (Summary of available projects)
2.1 Reporting a new defect on a specific project
2.2 Listing all defects from authorized project.
2.2.1 Editing defects with its audit trail.
2.2.2 Viewing defects with its audit trail.
3 Project administrations Page (normally accessible to project manager)
3.1 Creating new project by administrator.
3.2 Editing existing projects by the project manager.
3.2.1 Defining new versions for a specific project by the project manager.
3.2.2 Defining new components for a project by the project manager.
3.3 Deleting existing project by project manager -- Cascade Deletion.
4 User administrations Page (normally accessible to administrator)
4.1 Creating new users by administrator.
4.2 Editing a user profile and its permission for a specific project.
4.3 Deleting existing users by the administrator.
5 Logoff.
#

9.3. USER MANUAL


9.3.1. LOGGED-IN PAGE
#
Figure 1: logged-in page

9.3.2. WELCOME PAGE


Right after logged-in, the user has five general categories of JSP pages to select
from the top menu bar depicted in Figure 2.
#
Figure 2: Welcome page right after user logged-in.
9.3.3. HOME PAGE CATEGORY
When the user clicks at the red hyperlink depicted in Figure 3, all defects related
to (or being assigned to) the currently logged-in user name will be listed on the
home page category. The goal of the home page is to help the all defects or
currently logged-in user�s related defects effectively and easily. The filter
options at the upper left hand corner of the page helps the user to categorize and
manage his or her defects according to the defect�s status, priority and project
wise.
#
Figure 3: Currently logged-in user�s Home page
Continue moving forward from home page -- Figure 3, the only available option to
the user view defects. Click New bug icon to create new bug that illustrate in new
bug-- Figure 4.The fields to fill in this form are
1) Defect�s name
2) Defect�s Description
3) Defect�s Project
4) Defect�s severity
5) Defect�s Priority
7) Defect�s Assign to
#Figure 4: Reporting new defect
9.3.4. PROJECT LIST CATEGORY:
The primary purpose of the �Project List� depicted in Figure 5, is to give the user
a summary of open, verify, closed, and total counts of the defects for each project
and help the user visualize and manage defects from a different point of view �
that is managing defects in terms of the project view. It also allows creating new
project, editing the project.
#
Figure 5: Project Administration.
Moving forward from the project�s summary page depicted in Figure 16, the user has
two options:
1) Click at the New project icon results in reporting a new defect depicted in
Figure 6 for the project.
2) Click at the Project name results in editing of project and also create new
components and new versions of the projects (Depicted in Figure 7)
#
Figure 6: Creating new project by system administrator.
#
Figure 22: Editing of existing project.

While editing for the project content depicted in the Figure 22, project managers
have the following two options in defining the project�s versions and its
components:
To create a new version for a project, the project manager must click on the new
versions icon from Figure 7.2 and start defining the project�s versions.
#
Figure 7.2: Creating new Version.
To create a new component for a project, the project manager must also click on the
new components icon from Figure 22 and start defining the subcomponent of the
project such as Unix, Windows XP, and Mac.
#
Figure 7.3: creating new Component.
9.3.5. USER ADMINISTRATION CATEGORY:
#
Figure 8: User administration main page where list all available users to the
system.
The primary purpose of the �User Administration� depicted in Figure 8 is to manage
the users� profile and the permission features on projects and its related defects.
The administrator is in charge of following three options in this category:
To create a new user, the system administrator must click on new icon that leads to
the create new user page -- depicted in Figure 9
#
Figure 9: Creating a new user by the administrator.
To edit or update an existing user�s profile, the administrator must click on edit
icon to get the edit user details � depicted in Figure 10.
#
Figure 10: Editing user profiles.
3) To delete an existing user, the administrator must click on the delete icon,
which gets to back to the user administration main page.
4) To assign permissions to the user administrator must click on Permission icon on
existing user�depicted in Figure 11.

#
Figure 11: Editing user permissions.
9.3.6. USER PERMISSIONS (APPLY TO NON-SUPER USER):
To define user permissions, the administrator must first make sure required users
and projects entries have been created so that administrator can get into the
individual user�s edit page depicted in Figure 11 and start defining permission
operating on a specific project.
The following are six basic types of permissions available for any non-super users
on a given project. User who has one of the following permissions being checked on
a given project will automatically be considered as members of that project:
1) Edit Projects and defects
2) Delete Project
3) Close and deleting defects
#
#
9.3.7 Bug Tracking Category:
In this category all assigned bug to the users are View to Edit them
depicted in figure 12
#
Figure 12: Bug tracking Module viewing bug list.
In editing part user can assign the bugs to others, change priority etc depicted in
figure 13
#
Figure13: editing the bug.

You might also like