Rescued Document 3
Rescued Document 3
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
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.
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
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
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.
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.
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.
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.
# Function specification
Behavioral specification
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:
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.
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.
PROJECT ARCHITECTURE
#EMBED Unknown###
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 the functional abstraction, the main four modules to taking the details and
computing for further actions. In data abstraction it provides some services.
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.
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.
#
figure 1: login sequence diagram
#
figure 2: detailed sequence diagram
interface diagram:
# SHAPE \* MERGEFORMAT ####
4.1. Solution to the problem:
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
#
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.
#
#
#
Figure 8: permission to manager
#
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
#
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
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
#
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.
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.
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.
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
PUBLICATIONS
VOLUME I AND II
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
Note: Before Install this software you must install the java runtime Environment
available in the market. So it can install, otherwise it cannot install.
*** 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:
#
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.
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.