Rescued Document 1
Rescued Document 1
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
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.
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
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.
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.
INTERFACE DIAGRAM:
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
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
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.
5. Edit users : This form shows how to change users profile. The administrator
should select User name in the list to edit user profile.
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
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.
12. Project List Form: This form shows list of projects that are available. This
form is accessed by administrator only.
. Form that shows option to add new version to a project. The user should select
New Version present in the top on version table
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
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
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.
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
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.
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.
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:
1) 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 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:
1) 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