You are on page 1of 144

c 


    

c 



c  
    


 


Encryption of data plays a vital role in the real time environment to keep the data out of reach of
unauthorized people, such that it is not altered and tampered. The File Security System is software, which
tries to alter the originality of the text into some encrypted form. The major task of File Security System
is to provide the user the flexibility of passing the information implementing the encryption standards as
per the specification and algorithms proposed and store the information in a form that is unreadable. The
Application should have a reversal process as of which should be in a position to decrypt the data to its
original format upon the proper request by the user. While the Encryption and Decryption is done the
application should confirm the standards of authentication and authorization of the user.
The Entire application should strive to achieve a user friendly Graphical User Interface, which
need to be in a self-learning mode for the end user. The System Should provide all the functional
standards of proper navigation with in the environment, which makes it possible for the users to have a
smooth flow while working under the environment. The Overall system should provide proper menu
based navigation for easier navigation and operation. The Application should be designed in such a way
that, as soon as it starts create a Buffer and associate this buffer to some homogeneous data environment,
the application should ask the user for the Encryption Key details and should start its functionality upon
the logistics

that are provided with in this key. The key should be designed in such a way that it prevents the
unauthorized persons from stealing the information at any point of time.

The application of Decryption should be a reverse process at the other end and should be
translated only when the receiver of the data applies the proper reversal key. The Decryption process
should have a log-based methodology that will take care of any errors that may be encountered while the
system is under utilization and should record all those events, which are above the general standards of
security.


c  
    

 
 
!
 

System definition is the process of obtaining a clear understanding of the problem space such as

your business opportunities; user needs, or market environment and defining an application or system to

solve that problem.

In the existing system, file transfer is not a secured transaction. User Profiles and access controls

are not integrated to provide higher-level security in data transfer. Encryption and decryption

implementation through a character user interface is a complicated process where the user or the

administrator is to follow some complex process.

The information generated at the client side while under the standard of transfer should be secure

enough and protected by any intrusions and interceptions that may occur while the information is

transferred. The overall system should concentrate on the best algorithm that can be implemented for al

the resource standards that can be implemented as per the standards of the technical quality.

In the traditional 2-tier architecture there existed only the server and the client. In most cases the

server was only a data base server that can only offer data. Therefore majority of the business logic i.e.,

validations etc. had to be placed on the clients system. This makes maintenance expensive. Such clients

are called as µfat clients¶. This also means that every client has to be trained as to how to use the

application and even the security in the communication is also the factor to be considered.
Since the actual processing of the data takes place on the remote client the data has to be transported over
the network, which requires a secured format of

the transfer method. How to conduct transactions is to be controlled by the client and advanced

techniques implementing the cryptographic standards in the executing the data transfer transactions.

Present day transactions are considered to be "un-trusted" in terms of security, i.e. they are relatively easy
c  
    

to be hacked. Nevertheless, sensitive data transfer is to be carried out even if there is lack of an

alternative.

 Network security in the existing system is the motivation factor for a new system with higher-

level security standards for the information exchange to provide ease and secured file maintenance and

management in a distributed environment.

  

The proposed system should have the following features. The transactions should take place in a

secured format between various clients in the network. The validation code should be placed on the server

and not on the client such that file transfer takes place between only the registered users only. This leads

to a thin client, which is more desirable. The server should identify the type of request (GET/POST), file

access permissions and perform appropriate action. It should also identify the user and provide the

communication according to the prescribed level of security with transfer of the file requested and run the

required process at the server if necessary. When responding to the client, the server should send

necessary information such as User authorization and authentication information, Encryption, Decryption

types and their level of hierarchy etc.


c  
    

"   

 


#

In this system we are going to develop a facility to a user that he will not face any difficulty

at the time of usage like data missing, one way contacts, one view contacts. As we are

developing this system with an encoding technique of images the user will not be bothered

on which camera support is using, as well in sound. As we are maintaining one technique of

speed controlling the frame relay will not be a problem for the user like over speed display,

hanged display.

Feasibility Study

A feasibility study is a high-level capsule version of the entire System analysis and Design

Process. The study begins by classifying the problem definition. Feasibility is to determine if it¶s

worth doing. Once an acceptance problem definition has been generated, the analyst develops a

logical model of the system. A search for alternatives is analyzed carefully. There are 3 parts in

feasibility study.

$ %$&

Question that going to be asked are

6 Will the system be used if it developed and implemented.

6 If there was sufficient support for the project from the management and from the users.

6 Have the users been involved in planning and development of the Project.
c  
    

6 Will the system produce poorer result in any respect or area?

This system can be implemented in the organization because there is adequate support from

management and users. Being developed in Java so that the necessary operations are carried

out automatically.

$'%$

6 Does the necessary technology exist to do what is been suggested

6 Does the proposed equipment have the technical capacity for using the new system?

6 Are there technical guarantees of accuracy, reliability and data security?

6 The project is developed on Pentium IV with 256 MB RAM.

6 The environment required in the development of system is any windows platform

6 The observer pattern along with factory pattern will update the results eventually

6 The language used in the development is JAVA 1.5 & Windows Environment

$()$ %$&

The system developed and installed will be good benefit to the organization. The system will be

developed and operated in the existing hardware and software infrastructure. So there is no need

of additional hardware and software for the system.

Fact Finding Techniques

In this system we are going to develop a facility to a user that he will not face any difficulty

at the time of usage like data missing, one way contacts, one view contacts. As we are

developing this system with an encoding technique of images the user will not be bothered

on which camera support is using, as well in sound. As we are maintaining one technique of
c  
    

speed controlling the frame relay will not be a problem for the user like over speed display,

hanged display.

Feasibility Study

A feasibility study is a high-level capsule version of the entire System analysis and Design

Process. The study begins by classifying the problem definition. Feasibility is to determine if it¶s

worth doing. Once an acceptance problem definition has been generated, the analyst develops a

logical model of the system. A search for alternatives is analyzed carefully. There are 3 parts in

feasibility study.

$ %$&

Question that going to be asked are

6 Will the system be used if it developed and implemented.

6 If there was sufficient support for the project from the management and from the users.

6 Have the users been involved in planning and development of the project

Project.

6 Will the system produce poorer result in any respect or area?

This system can be implemented in the organization because there is adequate support from

management and users. Being developed in Java so that the necessary operations are carried

out automatically.

$'%$
c  
    

6 Does the necessary technology exist to do what is been suggested

6 Does the proposed equipment have the technical capacity for using the new system?

6 Are there technical guarantees of accuracy, reliability and data security?

6 The project is developed on Pentium IV with 256 MB RAM.

6 The environment required in the development of system is any windows platform

6 The observer pattern along with factory pattern will update the results eventually

6 The language used in the development is JAVA 1.5 & Windows Environment

$()$ %$&

The system developed and installed will be good benefit to the organization. The system will be

developed and operated in the existing hardware and software infrastructure. So there is no need

of additional hardware and software for the system.

 #
  


 
 

People for long time have tried to sort out the problems faced in the general digital
communication system but as these problems exist even now, a secured transfer system evolved and came
c  
    

to be known as the Encryption and Decryption of the data to be transferred using the cryptographic
standards. The advantages of this File Security System are:

6 High level Security


6 |ost effective transfer
6 Secured File transfer

In this fast growing world where every individual free to access the information on the network
and even the people are technically sound enough in hacking the information from the network for
various reasons. The organizations have the process of information transfer in and out of their network at
various levels, which need the process to be in a secured format for the organizational benefits.

If the organizations have the File Security System, then each employee can register himself/herself and
send the information to any other registered employee and thus can establish communication and perform
the prescribed task of maintaining and managing the file and directory services in secured fashion. The
file that the employee sends reaches the destination within no time in an encrypted format where the end
user needs to decrypt it and use for the purpose. The various branches of the organization can be
connected to a single host server and then an employee of one branch can send and receive files from/ to
the employee of another branch through the server but in a secured format.

The Encrypting File System (EFS) included with the Microsoft® Windows® 2000 operating
system is based on public-key encryption and takes advantage of the |rypto API architecture in
Windows 2000. Each file is encrypted using a randomly generated file encryption key, which is
independent of a user¶s public/private key pair; thereby stifling many forms of crypto analysis-based
attack.

File encryption can use any symmetric encryption algorithm. The release of EFS uses the Data
Encryption Standard X, or DESX (128 bit in North America and 40 bit International) as the encryption
algorithm. Future releases will allow alternate encryption schemes.

EFS support encryption and decryption of files stored on local drives as well as those stored on
remote file servers.
c  
    

: In the case of remote servers, you can encrypt files and folders on the server but your data is not
protected if you access a file over the network. Windows 2000 provides network protocols such as Secure
Sockets Layer/Private |ommunication Technology (SSL/P|T) to encrypt data access over the network.





The default configuration of EFS allows users to start encrypting files with no administrative
effort. EFS automatically generates a public-key pair and file encryption certificate for file encryption for
a user the first time a user encrypts a file.

File encryption and decryption is supported per file or for an entire folder. Folder encryption is
transparently enforced. All files (and folders) created in a folder marked for encryption is automatically
encrypted. Each file has a unique file encryption key, making it safe to rename. If you rename a file from
an encrypted folder to an unencrypted folder on the same volume, the file remains encrypted. However, if
you copy an unencrypted file into an encrypted folder, the file state will change²in this case the file
becomes encrypted. |ommand-line tools and administrative interfaces are provided for advanced users
and recovery agents.

You don¶t have to decrypt a file to open it and use it. EFS automatically detect an encrypted file
and locate a user¶s file encryption key from the system¶s key store. Since the key storage mechanism is
based on |rypto API, in the future, users will have the flexibility of storing keys on secure devices, such
as smart cards.

The initial release of EFS does not support file sharing. However, the EFS architecture is
designed to allow file sharing between any number of people by the simple use of their file encryption
certificates. Users can then independently decrypt files using their own private keys. Users can be added
easily (if they have a configured public key pair) or removed from a group of permitted sharers.

 * 

EFS provide built-in data recovery support. The Windows 2000 security infrastructure enforces
the configuration of data recovery keys. You can use file encryption only if the system is configured with
one or more recovery keys. EFS allows recovery agents to configure public keys that are used to recover
c  
    

encrypted data if a user leaves the company. Only the file encryption key is available using the recovery
key, not a user¶s private key. This ensures that no other private information is revealed to the recovery
agent.

Data recovery is intended for business environments where the organization expects to be able to
recover data encrypted by an employee after an employee leaves or if file encryption keys are lost.

The recovery policy can be defined at the domain controller of a Windows 2000 domain. This
policy is enforced on all computers in that domain. The recovery policy is under the control of domain
administrators who can delegate this to designated data security administrator accounts using
Windows 2000 directory service delegation features. This provides strong control and allows flexibility
regarding who is authorized to recover encrypted data. EFS supports multiple recovery agents by
allowing multiple data recovery certificates configurations. These features provide organizations with
redundancy and flexibility in implementing their recovery procedures.

In the default Windows 2000 installation, when the first domain controller is set up, the domain
administrator is the specified recovery agent for the domain. The way the domain administrator
configures the recovery policy determines how

EFS is implemented for users on their local computers. The domain administrator logs on to the
first domain controller to change the recovery policy for the domain. Table 1 helps you see the effect on
users of several recovery policy configurations.

Default recovery Domain administrator Administrator of local No recovery


agent computer agent

''    EFS is available locally EFS is available locally EFS cannot be
$$$ used

' Recovery policy in place No recovery policy at the Empty


configured with designated domain level recovery policy
c  
    

recovery agent(s)

 % () None required Delete recovery policy on Delete every
() first domain controller recovery agent

%$+&''', $'

EFS can also be used in a home environment. EFS automatically generates recovery keys and
self-signed certificates when the local administrator logs on, making the local administrator the default
recovery agent. Home users can also use the command line tool to recover data using the administrator¶s
account. This reduces the administrative overhead for a home user.

The remainder of this paper provides sample procedures that demonstrate the end-user and
administrative capabilities of Windows 2000 EFS. These are intended for use when evaluating EFS for
your network. Please walk through these examples sequentially.

)&
The File security system is designed basically in three different modules they are

1. GUI module

2. Authorization and authentication module

3. |onnection Manager Module

4. Security System module

($& GUI Module basically deals with the design of the interface which includes the service
of providing the user with the flexibility of accessing the file system and selecting the required file for
the transfer. It should also provide the system to collect the information from the user to check the
authorization in providing the access to the file system. The interface is also to consider the design,
which includes the services of sending and receiving of the files with encryption and decryption
standards.
c  
    

-()($&

Authentication and Authorization Services module deals with the checking of user name and
corresponding password from the authentication server, the backend database where the table
containing the required information is stored. If the authentication server validates the user then he is
provided with the File Encryption/decryption and transfer services.

($& The |onnection Manager deals with the architecture, which supports
the system to identify the end users for the communication and establish the communication.
|onnection and disconnection of the communication channel between the users for the access of file
system and file transfer services. The |onnection Manager receives the IP address to be connected
and the file to be sent then establishes the connection and transfers the file.

)$))($: Security implementation module considers the implementation of the


encryptions and decryption standards in transfer the files from one system to another in a distributed
environment. The system

design, even need to support the user to select the level of encryption he/she needs to perform
depending upon the file to be transferred. The basic algorithm used in this purpose is the DES where
the user can enter the key depending upon level encryption he is interested.

  
c  
    

  

This document play a vital role in the development of life cycle (SDL|) as it describes the

complete requirement of the system. It means for use by developers and will be the basic

during testing phase. Any changes made to the requirements in the future will have to go
through formal change approval process.

SPIRAL MODEL was defined by Barry Boehm in his 1988 article, ³A spiral Model of

Software Development and Enhancement. This model was not the first model to discuss
iterative development, but it was the first model to explain why the iteration models.

As originally envisioned, the iterations were typically 6 months to 2 years long. Each phase

starts with a design goal and ends with a client reviewing the progress thus far. Analysis and

engineering efforts are applied at each phase of the project, with an eye toward the end goal
of the project.

The steps for Spiral Model can be generalized as follows:

6 The new system requirements are defined in as much details as possible. This usually
involves interviewing a number of users representing all the external or internal users
and other aspects of the existing system.

6 A preliminary design is created for the new system.

A first prototype of the new system is constructed from the preliminary design. This is usually a
scaled-down system, and

6 represents an approximation of the characteristics of the final product.

6 A second prototype is evolved by a fourfold procedure:


c  
    

1. Evaluating the first prototype in terms of its strengths, weakness, and risks.

2. Defining the requirements of the second prototype.

3. Planning an designing the second prototype.

4. |onstructing and testing the second prototype.

6 At the customer option, the entire project can be aborted if the risk is deemed too

great. Risk factors might involved development cost overruns, operating-cost

miscalculation, or any other factor that could, in the customer¶s judgment, result in a
less-than-satisfactory final product.

6 The existing prototype is evaluated in the same manner as was the previous prototype,

and if necessary, another prototype is developed from it according to the fourfold


procedure outlined above.

6 The preceding steps are iterated until the customer is satisfied that the refined
prototype represents the final product desired.

6 The final system is constructed, based on the refined prototype.

6 The final system is thoroughly evaluated and tested. Routine maintenance is carried
on a continuing basis to prevent large scale failures and to minimize down time.

'$$.()..$)($$/&
c  
    

+012$($

*
 &
c  
    

6 Estimates(i.e. budget, schedule etc .) become more relistic as work progresses,


because important issues discoved earlier.

6 It is more able to cope with the changes that are software development generally
entails.

6 Software engineers can get their hands in and start woring on the core of a project
earlier.

 
* 


2 


N-Tier Applications can easily implement the concepts of Distributed Application Design and

Architecture. The N-Tier Applications provide strategic benefits to Enterprise Solutions. While

2-tier, client-server can help us create quick and easy solutions and may be used for Rapid
Prototyping, they can easily become a maintenance and security night mare

The N-tier Applications provide specific advantages that are vital to the business continuity of
the enterprise. Typical features of a real life n-tier may include the following:

6 Security

6 Availability and Scalability

6 Manageability

6 Easy Maintenance

6 Data Abstraction
c  
    

The above mentioned points are some of the key design goals of a successful n-tier application
that intends to provide a good Business Solution.

 



Simply stated, an n-tier application helps us distribute the overall functionality into various tiers
or layers:

6 Presentation Layer

6 Business Rules Layer

6 Data Access Layer

6 Database/Data Store

Each layer can be developed independently of the other provided that it adheres to the standards
and communicates with the other layers as per the specifications.

This is the one of the biggest advantages of the n-tier application. Each layer can potentially
treat the other layer as a µBlock-Box¶.

In other words, each layer does not care how other layer processes the data as long as it sends the
right data in a correct format.


c  
    

+0+2
2

+0  



  

Also called as the client layer comprises of components that are dedicated to presenting

the data to the user. For example: Windows/Web Forms and buttons, edit boxes, Text
boxes, labels, grids, etc.

0 "
   
This layer encapsulates the Business rules or the business logic of the encapsulations. To have a
separate layer for business logic is of a great advantage. This is because any changes in Business
Rules can be easily handled in this layer. As long as the interface between the layers remains the
same, any changes to the functionality/processing

logic in this layer can be made without impacting the others. A lot of client-server apps
failed to implement successfully as changing the business logic was a painful process.
c  
    

Î0   

This layer comprises of components that help in accessing the Database. If used in the

right way, this layer provides a level of abstraction for the database structures. Simply put

changes made to the database, tables, etc do not affect the rest of the application because

of the Data Access layer. The different application layers send the data requests to this

layer and receive the response from this layer.

ù0 "  

This layer comprises of the Database |omponents such as DB Files, Tables, Views, etc.

The Actual database could be created using SQL Server, Oracle, Flat files, etc.

In an n-tier application, the entire application can be implemented in such a way that it is

independent of the actual Database. For instance, you could change the Database

Location with minimal changes to Data Access Layer. The rest of the Application should
remain unaffected.


c  
    

ù03 4#


The software requirement specification can produce at the culmination of the analysis
task. The function and performance allocated to software as part of system engineering are
refined by established a complete information description, a detailed functional description, a
representation of system behavior, an indication of performance and design constrain,
appropriate validation criteria, and other information pertinent to requirements. This project
requires the following H/W and S/W equipment in order to execute them. They are as given
below.

'.5)&

6 )

Windows NT/2000 (|lient/Server).

6 '.5)
Front-end: Java JDK 1.4, J2Sdk 1.1.4, Swings.

|ommunication Architecture: JDB|.

Database maintenance: Oracle 8i.


c  
    

4#


(.5)&

6 )'

Pentium III Processor with 700 MHz |lock Speed

256 MB RAM 20 GB HDD, 32 Bit P|I Ethernet |ard.













c  
    

 






  4






c  
    

 4 

 4 


A graphical tool used to describe and analyze the moment of data through a system

manual or automated including the process, stores of data, and delays in the system. Data Flow

Diagrams are the central tool and the basis from which other components are developed. The

transformation of data from input to output, through processes, may be described logically and

independently of the physical components associated with the system. The DFD is also know as
a data flow graph or a bubble chart.

DFDs are the model of the proposed system. They clearly should show the requirements on

which the new system should be built. Later during design activity this is taken as the basis for
drawing the system¶s structure charts. The Basic Notation used to create a DFD¶s are as follows:

+0'$.&Data move in a specific direction from an origin to a destination.

0 &People, procedures, or devices that use or produce (Transform) Data. The physical
component is not identified.


c  
    

Î0& External sources or destination of data, which may be People, programs,


organizations or other entities.

ù0& Here data are stored or referenced by a process in the System.


c  
    

'$.)


c  
    

+ ,$)&
c  
    

+t ,$)&

+ ,$)&

+ ,$)
c  
    

Î( ,$)
Low Level DFD¶s explaining the basic flow of the architecture implemented in the project development.


›   
   
 


   
    ›  


   
›     
c  
    


c  
    


c  
    

 
  
 › 
 
  

›   
     
 
  

    
› 
  

›   
 

  
  

  
› 
 

›      
 

 
   › 
 ! 

c  
    




c  
    

 
  
   › 


 "# 
 › 
 

    
› 
  

›   
 

  
  

  
› 
 

›      
 
c  
    


c  
    

# 
   › 
 ! 


 
›     

  


  › 


 
  
  › 


 '
 $  
 &
%&
 

$   (  & › 


   
%&


(  & › 
 $  

%&
c  
    

    $  


  %&

$     #  


%&   

 )
 * › 
   

*
›      
 

  + › 


, 
c  
    

 )

'(($ :

The Unified Modeling Language allows the software engineer to express an analysis model
using the modeling notation that is governed by a set of syntactic semantic and pragmatic rules.

A UML system is represented using five different views that describe the system from distinctly
different perspective. Each view is defined by a set of diagram, which is as follows.

6 User Model View

i. This view represents the system from the users perspective.

ii. The analysis representation describes a usage scenario from the end-users

perspective.

6 Structural model view

i. In this model the data and functionality are arrived from inside the system.

ii. This model view models the static structures.

6 Behavioral Model View

It represents the dynamic of behavioral as parts of the system, depicting the

interactions of collection between various structural elements described in the


user model and structural model view.
c  
    

6 Implementation Model View

In this the structural and behavioral as parts of the system are represented as they
are to be built.

6 Environmental Model View

In this the structural and behavioral aspects of the environment in which the
system is to be implemented are represented.

UML is specifically constructed through two different domains they are:

€ UML Analysis modeling, this focuses on the user model and structural model views of

the system.

€ UML design modeling, which focuses on the behavioral modeling, implementation

modeling and environmental model views.

Use case Diagrams represent the functionality of the system from a user¶s point of view. Use

cases are used during requirements elicitation and analysis to represent the functionality of the
system. Use cases focus on the behavior of the system from external point of view.
c  
    

Actors are external entities that interact with the system. Examples of actors include users like
administrator, bank customer «etc., or another system like central database.

)








| 




 
c  
    


  
<<Uses>> <<Uses>>
"
 ! 
! 
 

<<Uses>>

 $"   




<<Uses>>

  <<Uses>>


   





<<Uses>>



 

c  
    

 
  
Logs In
<<Uses>> 
Authenticate

the user

Check for any <<Uses>> Select the File from

Messages directory
<<Uses>>

Apply the required

Decryption
<<Uses>>

Save the File


c  
    

5)&

(&

Ê    
       Ê 

 
 




         

    

Ê    


c  
    

,&

p     
         


  

  




     

    

    


   


c  
    

$$%)&

(&

  

  
     
    

    
 


 
 



!    " 

#    
 
£ 

 


,&
c  
    

 

      


  
   
 
 

  ! 

  
"   #   $ #  

  




   
%
 

Sender Encryption System Receiver

!  "
)

 
  *
+ 
+



"
 ,"
" 

  
&
'
 
 

(


&
 
 
c  
    

)
The File security system is designed basically in three different modules they are GUI module,
Authorization and authentication module, |onnection Manager Module, Security System module

GUI Module basically deals with the design of the interface which include the service of providing the
user with the flexibility of accessing the file system and selecting the required file for the transfer. It
should also provide the system to collect the information from the user to check the authorization in
providing the access to the file system. The interface is also to consider the design, which include the
services of sending and receiving of the files with encryption and decryption standards.

Authentication and Authorization Services module deals with the checking of user name and
corresponding password from the authentication server, the backend database where the table containing
the required information is stored. If the authentication server validates the user then he is provided with
the File Encryption/decryption and transfer services.

The |onnection Manager deals with the architecture, which supports the system to identify the end users
for the communication and establish the communication. |onnection and disconnection of the
c  
    

communication channel between the users for the access of file system and file transfer services. The
|onnection Manager receives the IP address to be connected and the file to be sent then establishes the
connection and transfers the file.

Security implementation module considers the implementation of the encryptions and decryption
standards in transfer the files from one system to another in a distributed environment. The system design,
even need to support the user to select the level of encryption he/she needs to perform depending upon the
file to be transferred. The basic algorithm used in this purpose is the DES where the user can enter the key
depending upon level encryption he is interested.



This class diagram explains the main construct of File Security system where the actual process of the
software is initiated. This diagram shows the construct of parameters and methods of the program coded
for the purpose with the data types and the return types respectively.
c  
    


c  
    

0$

This class diagram explains the construct of conclass, which is included in the main program Screen. This
diagram shows the construct of parameters and methods of
c  
    

the class constructed for the purpose with the data types and the return types respectively.
c  
    

"

This class diagram explains the construct of DBS class, designed for collecting the file and initiating the
encryption process, saving the same after encryption. The

same process is initiated if the option is the decryption of file. This diagram also explains the parameters
and methods used for the purpose with their data types and return types.
c  
    

"0

This class diagram explains the construct of DBS.Encryption class designed for encryption process. The
same class also defines the process of decryption to be performed if the option is the decryption of file.
This diagram also explains the parameters and methods used for the purpose with their data types and
return types.
c  
    


c  
    

'$($

This class diagram explains the construct of filedialog class designed for getting the file for the process
initiated by the user. This diagram also explains the parameters and methods used for the purpose with
c  
    

their data types and return types. The following describe the process of encryption, decryption, sending
the file, displaying

the key information and other options that can be utilized by the user and their class constructs with the
parameters and methods used for the purpose.
c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    

,

This class diagram explains the construct of Server |lass, which is defined for the purpose of collecting
the file sent by the peer client to the current system user. This diagram shows the construct of ports and
socket designed for the purpose.
c  
    

|omponent Diagram:

| 

 





c  
    

Deployment Diagram:


|  

  
 


 

 
 


   
c  
    



















c  
    




 







  
 &

%c,&

Initially the language was called as ³oak´ but it was renamed as ³Java´ in 1995. The primary

motivation of this language was the need for a platform-independent (i.e., architecture neutral)

language that could be used to create software to be embedded in various consumer electronic

devices.

! Java is a programmer¶s language.

! Java is cohesive and consistent.


c  
    

! Except for those constraints imposed by the Internet environment, Java gives the

programmer, full control.

Finally, Java is to Internet programming where | was to system programming.

.&

Swing, which is an extension library to the AWT, includes new and improved components that enhance

the look and functionality of GUIs. Swing can be used to build Standalone swing Gui Apps as well as

Servlets and Applets. It employs a model/view design architecture. Swing is more portable and more

flexible than AWT.

Swing is built on top of AWT and is entirely written in Java, using AWT¶s lightweight component
support. In particular, unlike AWT, t he architecture of Swing components makes it easy to customize
both their appearance and behavior. |omponents from AWT and Swing can be mixed, allowing you to
add Swing support to existing AWT-based programs. For example, swing components such as JSlider,
JButton and J|heckbox could be used in the same program with standard AWT labels, textfields and
scrollbars. You could subclass the existing Swing UI, model, or change listener classes without having to
reinvent the entire implementation. Swing also has the ability to replace these objects on-the-fly.

6 100% Java implementation of components


6 Pluggable Look & Feel
6 Lightweight components
6 *
Model represents the data
View as a visual representation of the data
|ontroller takes input and translates it to changes in data
6 
|omponent set (subclasses of J|omponent)
Support classes
c  
    

Interfaces

In Swing, classes that represent GUI components have names beginning with the letter J. Some
examples are JButton, JLabel, and JSlider. Altogether there are more than 250 new classes and
75 interfaces in Swing ² twice as many as in AWT.

c,.$

The class J|omponent, descended directly from |ontainer, is the root class for most of Swing¶s user
interface components.

Swing contains components that you¶ll use to build a GUI. I am listing you some of the commonly used
Swing components. To learn and understand these swing programs, AWT Programming knowledge 
required.
c  
    

$($

An application is a program that runs on our |omputer under the operating system of that
computer. It is more or less like one creating using | or | .

Java¶s ability to create Applets makes it important. An Applet is an application designed, to be

transmitted over the Internet and executed by a Java ±compatible web browser. An applet is

actually a tiny Java program, dynamically downloaded across the network, just like an image.

But the difference is, it is an intelligent program, not just a media file. It can react to the user

input and dynamically change.

 c*&



Every time you that you download a ³normal´ program, you are risking a viral infection.

Prior to Java, most users did not download executable programs frequently, and those who

did scanned them for viruses prior to execution. Most users still worried about the possibility

of infecting their systems with a virus. In addition, another type of malicious program exists

that must be guarded against. This type of program can gather private information, such as

credit card numbers, bank account balances, and passwords. Java answers both of these

concerns by providing a ³firewall´ between a networked application and your computer.

When you use a Java-compatible Web browser, you can safely download Java applets

without fear of virus infection or malicious intent.

%$
c  
    

For programs to be dynamically downloaded to all the various types of platforms connected to the

Internet, some means of generating portable executable code is needed .As you will see, the same

mechanism that helps ensure security also helps create portability. Indeed, Java¶s solution to these two

problems is both elegant and efficient.

"(

The key that allows the Java to solve the security and portability problem is that the output of Java

compiler is Byte code. Byte code is a highly optimized set of instructions designed to execute by the Java

run-time system, which is called the Java Virtual Machine (JVM). That is, in its standard form, the JVM

is an interpreter for byte code.

Translating a Java program into byte code helps makes it much easier to run a program in a wide variety

of environments. The reason is, Once therun-time package exists for a given system, any Java program

can run on it.

Although Java was designed for interpretation, there is technically nothing about Java that

prevents on-the-fly compilation of byte code into native code. Sun has just completed its Just In

Time (JIT) compiler for byte code. When the JIT compiler is a part of JVM, it compiles byte

code into executable code in real time, on a piece-by-piece, demand basis. It is not possible to

compile an entire Java program into executable code all at once, because Java performs various

run-time checks that can be done only at run time. The JIT compiles code, as it is needed, during

execution.

c,*$6c*7
c  
    

Beyond the language, there is the Java virtual machine. The Java virtual machine is an important

element of the Java technology. The virtual machine can be embedded within a web browser or

an operating system. Once a piece of Java code is loaded onto a machine, it is verified. As part of

the loading process, a class loader is invoked and does byte code verification makes sure that the

code that¶s has been generated by the compiler will not corrupt the machine that it¶s loaded on.

Byte code verification takes place at the end of the compilation process to make sure that is all

accurate and correct. So byte code verification is integral to the compiling and executing of Java

code.

c 
 
«Ú 
 

 0c, 0$     

The above picture shows the development process a typical Java programming uses to produce
byte codes and executes them. The first box indicates that the Java source code is located in a.
Java file that is processed with a Java compiler called c*. The Java compiler produces a file
called a. class file, which contains the byte code. The class file is then loaded across

the network or loaded locally on your machine into the execution environment is the Java virtual

machine, which interprets and executes the byte code.


c  
    

c,

Java architecture provides a portable, robust, high performing environment for development.

Java provides portability by compiling the byte codes for the Java Virtual Machine, which is then

interpreted on each platform by the run-time environment. Java is a dynamic system, able to load

code when needed from a machine in the same room or across the planet.

)$'(

When you compile the code, the Java compiler creates machine code (called byte code) for a

hypothetical machine called Java Virtual Machine (JVM). The JVM is supposed to execute the

byte code. The JVM is created for overcoming the issue of portability. The code is written and

compiled for one machine and interpreted on all machines. This machine is called Java Virtual

Machine.

|ompiling and interpreting Java Source |ode


c  
    

« «
«
«  «
«
«
«  

« 
o ««

 «


«

  « «
«

  «

 «

«««

«« «
 o « ««o  



During run-time the Java interpreter tricks the byte code file into thinking that it is running on a

Java Virtual Machine. In reality this could be a Intel Pentium Windows 95 or Suns AR| station

running Solaris or Apple Macintosh running system and all could receive code from any

computer through Internet and run the Applets.

SIMPLE
c  
    

Java was designed to be easy for the Professional programmer to learn and to use effectively. If you are

an experienced | programmer, learning Java will be even easier. Because Java inherits the |/|

syntax and many of the object oriented features of | . Most of the confusing concepts from | are

either left out of Java or implemented in a cleaner, more approachable manner. In Java there are a small

number of clearly defined ways to accomplish a given task.

÷ ÷ 

Java was not designed to be source-code compatible with any other language. This allowed the Java team

the freedom to design with a blank slate. One outcome of this was a clean usable, pragmatic approach to

objects. The object model in Java is simple and easy to extend, while simple types, such as integers, are

kept as high-performance non-objects.

Robust

The multi-platform environment of the Web places extraordinary demands on a program, because the
program must execute reliably in a variety of systems. The ability to create robust programs was given a
high priority in the design of Java.

Java is strictly typed language; it checks your code at compile time and run time. Java virtually eliminates

the problems of memory management and de-allocation, which is completely automatic. In a well-written

Java program, all run time errors can ±and should ±be managed by your program.

^ 
 

|omputers running on the Internet communicate to each other using either the Transmission |ontrol

Protocol (T|P) or the User Datagram Protocol (UDP), as this diagram illustrates:
c  
    

When you write Java programs that communicate over the network, you are programming at the

application layer. Typically, you don't need to concern yourself with the T|P and UDP layers. Instead,

you can use the classes in the java.net package. These classes provide system-independent network

communication. However, to decide which Java classes your programs should use, you do need to

understand how T|P and UDP differ.

 

When two applications want to communicate to each other reliably, they establish a connection

and send data back and forth over that connection.This is analogous to making a telephone call.

If you want to speak to Aunt Beatrice in Kentucky, a connection is established when you dial her

phone number and she answers. You send data back and forth over the connection by speaking to

one another over the phone lines. Like the phone company, T|P guarantees that data sent from

one end of the connection actually gets to the other end and in the same order it was sent.

Otherwise, an error is reported.


c  
    

T|P provides a point-to-point channel for applications that require reliable communications. The

Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), and Telnet are all examples

of applications that require a reliable communication channel. The order in which the data is sent

and received over the network is critical to the success of these applications. When HTTP is used

to read from a URL, the data must be received in the order in which it was sent. Otherwise, you

end up with a jumbled HTML file, a corrupt zip file, or some other invalid information.

'& T|P (V
  

  ) is a connection-based protocol that provides a reliable

flow of data between two computers.

 

The UDP protocol provides for communication that is not guaranteed between two applications on the

network. UDP is not connection-based like T|P. Rather, it sends independent packets of data, called

3
, from one application to another. Sending datagrams is much like sending a letter through the

postal service: The order of delivery is not important and is not guaranteed, and each message is

independent of any other.

'& UDP (Y




  ) is a protocol that sends independent packets of data, called

datagram¶s, from one computer to another with no guarantees about arrival. UDP is not connection-based

like T|P.

For many applications, the guarantee of reliability is critical to the success of the transfer of

information from one end of the connection to the other. However, other forms of
c  
    

communication don't require such strict standards. In fact, they may be slowed down by the extra

overhead or the reliable connection may invalidate the service altogether.

|onsider, for example, a clock server that sends the current time to its client when requested to do so. If
the client misses a packet, it doesn't really make sense to resend it because the time will be incorrect when
the client receives it on the second try. If the client makes two requests and receives packets from the
server out of order, it doesn't really matter because the client can figure out that the packets are out of
order and make another request. The

reliability of T|P is unnecessary in this instance because it causes performance degradation and

may hinder the usefulness of the service.

Another example of a service that doesn't need the guarantee of a reliable channel is the ping

command. The purpose of the ping command is to test the communication between two

programs over the network. In fact, ping needs to know about dropped or out-of-order packets to

determine how good or bad the connection is. A reliable channel would invalidate this service

altogether.

The UDP protocol provides for communication that is not guaranteed between two applications

on the network. UDP is not connection-based like T|P. Rather, it sends independent packets of

data from one application to another. Sending datagrams is much like sending a letter through the

mail service: The order of delivery is not important and is not guaranteed, and each message is

independent of any others.


c  
    

& Many firewalls and routers have been configured not to allow UDP packets. If you're having

trouble connecting to a service outside your firewall, or if clients are having trouble connecting to your

service, ask your system administrator if UDP is permitted.

(( 
Generally speaking, a computer has a single physical connection to the network. All data destined for a
particular computer arrives through that connection. However,

the data may be intended for different applications running on the computer. So how does the computer

know to which application to forward the data? Through the use of portsÔ

Data transmitted over the Internet is accompanied by addressing information that identifies the

computer and the port for which it is destined. The computer is identified by its 32-bit IP

address, which IP uses to deliver data to the right computer on the network. Ports are identified

by a 16-bit number, which T|P and UDP use to deliver the data to the right application.

In connection-based communication such as T|P, a server application binds a socket to a

specific port number. This has the effect of registering the server with the system to receive all

data destined for that port. A client can then rendezvous with the server at the server's port, as

illustrated here:
c  
    

'& The T|P and UDP protocols use ports to map incoming data to a particular process running

on a computer.

In datagram-based communication such as UDP, the datagram packet contains the port number

of its destination and UDP routes the packet to the appropriate application, as illustrated in this

figure:

Port numbers range from 0 to 65,535 because ports are represented by 16-bit numbers. The port numbers

ranging from 0 - 1023 are restricted; they are reserved for use by well-known services such as HTTP and

FTP and other system services. These ports are called   
. Your applications should not

attempt to bind to them.

./$c8

Through the classes in java.net, Java programs can use T|P or UDP to communicate over the Internet.

The URL, URL |onnection, Socket, and Server Socket classes all use T|P to communicate over the

network. The Datagram Packet, Datagram Socket, and Multicast Socket classes are for use with

UDP.
c  
    

^ Y  

If you've been surfing the Web, you have undoubtedly heard the term URL and have used URLs

to access HTML pages from the Web.

It's often easiest, although not entirely accurate, to think of a URL as the name of a file on the World
Wide Web because most URLs refer to a file on

some machine on the network. However, remember that URLs also can point to other resources

on the network, such as database queries and command output.

'& URL is an acronym for Y


  
 
and is a reference (an address) to a

resource on the Internet.

The following is an example of a URL which addresses the Java Web site hosted by Sun

Microsystems:

As in the previous diagram, a URL has two main components:

6 Protocol identifier

6 Resource name

Note that the protocol identifier and the resource name are separated by a colon and two forward

slashes. The protocol identifier indicates the name of the protocol to be used to fetch the
c  
    

resource. The example uses the Hypertext Transfer Protocol (HTTP), which is typically used to

serve up hypertext documents. HTTP is just one of many different protocols used to access

different types of resources on the net. Other protocols include File Transfer Protocol (FTP),

Gopher, File, and News.

The resource name is the complete address to the resource. The format of the resource name

depends entirely on the protocol used, but for many protocols, including HTTP, the resource

name contains one or more of the components listed in the following table:


) The name of the machine on which the resource lives.

$) The pathname to the file on the machine.


)% The port number to which to connect (typically optional).

' A reference to a named anchor within a resource that usually


identifies a specific location within a file (typically optional).

For many protocols, the host name and the filename are required, while the port number and

reference are optional. For example, the resource name for an HTTP URL must specify a server

on the network (Host Name) and the path to the document on that machine (Filename); it also
c  
    

can specify a port number and a reference. In the URL for the Java Web site java.sun.com is the

host name and the trailing slash is shorthand for the file named /index.html.

5'/$$'2($&

)$$

Socket - create a descriptor for use in network communication. On success, socket system call returns a

small integer value similar to a file descriptor Name.

Œ3Œ3 33
3
  
   

When a socket is created it does not have nay notion of endpoint address. An application calls bind to

specify the local; endpoint address in a socket. For T|P/IP protocols, the endpoint address uses the socket

address in structure. Servers use bind to specify the well-known port at which they will await connections.

   
  

After creating a socket, a client calls connect to establish an actual connection to a remote server. An

argument to connect allows the client to specify the remote endpoint, which include the remote machines

IP address and protocols port number. Once a connection has been made, a client can transfer data across

it.

     

Accept creates a new socket for each new connection request and returns the descriptor of the new socket

to its caller. The server uses the new socket only for the new connections it uses the original socket to

accept additional connection requests once it has accepted connection, the server can transfer data on the

new socket.
c  
    

*$&

This system-call returns up to three values

An integer return code that is either an error indication or a new socket description

The address of the client process

The size of this address

Listen - place the socket in passive mode and set the number of incoming T|P connections the system

will en-queue. Backlog - specifies how many connections requests can be queued by the system while it

wants for the server to execute the accept system call it us usually executed after both the socket and bind

system calls, and immediately before the accept system call.

Send, send to, recv and recvfrom system calls

These system calls are similar to the standard read and write system calls, but additional arguments are

requested.

|lose - terminate communication and de-allocate a descriptor. The normal UNIX close system call is also

used to close a socket.


c  
    

  

c  
    

&

)9,:0.0;<

)9,:0.0,0;<

)9,0.0;<

)9,0.0,0;<

)9,00;<

)9,00;<

)0"<

)9,0)0;<

$'$:(c )

=

  %%>?<

  )<

 c %$$%@$+@$@)$%$+@)$%$@'<

c: $(<

 c"%+@%@'@:$@:@(<

 c $:$$@@)$@$<

  %$'$67
c  
    

 =

 6A $)A7<

  B 67<

  0 6."( 677<

  B.)6A'$09A7<

  $+B.c %$67<

  )$B.c $67<

  $$B.$6Cù@+Î @+D 7<

  )$0"/(6$7<

  )$0 6."( 677<

  )$%$+B.c %$6AA7<

  )$%$B.c %$6AA7<

  )$0((6)$%$+@"( 0
7<

  )$0((6)$%$@"( 0
7<

  )$0((6$+@"( 0 7<

 B.c $67<

  'B. 6A$A@ 0" @17<

  0"/(6$7<
c  
    

   (" (B. (" 67<

   ("B. ("67<

  0 6(7<

  0.:B+01<

 0.B101<

  0B ("0
<

  0'$$B ("0

<

 0(.(B ("0
<

)(B.)6+Î1@Î17<

  %+B.c"6AA7<

  %+0 '(-6(7<

  %B.c"6AA7<

  %0 '(-6(7<

  'B.c"6A')A7<

  '0 '(-6(7<

  (B.c"6A(A7<

  (0 '(-6(7<
c  
    

  :B.c"6A:A7<

  :0 '(-6(7<

  $%B.c %$67<

  %+0 '(-6(7<

%0 '(-6(7<

  '0 '(-6(7<

  (0 '(-6(7<

  :0 '(-6(7<

  %+0(( 6.677<

  %0(( 6.(677<

  '0(( 6.'677<

  :0(( 6.:677<

  (0(( 6.677<

  $B.c %$6AA7<

  $0 6'7<

  $+B.$6+CE@ C@Dù7<

  $0 (6+7<

  %+0 6'7<
c  
    

%+0 (6+7<

  %0 6'7<

  %0 (6+7<

  (0 6'7<

  (0 (6+7<

  :0 6'7<

  :0 (6+7<

  '0 6'7<

  '0 (6+7<

  (06$@7<

  c %$+B.c %$6AA7<

  c %$B.c %$6AA7<

  c %$ÎB.c %$6AA7<

  c %$ùB.c %$6AA7<

  0((6$7<

  (06%+@7<

  0((6%+7<

(06+@7<
c  
    

  0((6+7<

 (06%@7<

  0((6%7<

  (06@7<

  0((67<

  (06(@7<

  0((6(7<

  (06Î@7<

  0((6Î7<

  (06'@7<

  0((6'7<

  (06ù@7<

  0((6ù7<

  (06:@7<

  0((6:7<

  $B.c $67<

  c %$'B.c %$6A $)&A7<

  B.c: $(67<
c  
    

  )(B.)6+C1@Î17<

  0 '(-6(7<

$0"/(6$7<

  $0((6'7<

  $0((67<

  0"/(6$7<

  0((6$@"( 047<

  0((6)$@"( 0
7<

  0((6@"( 0
7<

  -6 11@C117<

  .67<

 F

$)$) 

 =

   %$,(
 ')(6,7=

   
((Bc  0.$6A((&A7<
c  
    

   ((<

  

  =

 B((0"
)6((7<

  )/B.)/67<

   $$'(B. $$6'$0@A$


'$A@ $$0 7<

  '(0.67<

  '6'(0 $67GB$$7

  =

   )B'(067H'(0 $67<

    $6)7<

    0:6)7<

   F

  05 67<

   

   $'B. $6)7<
c  
    

  %%>?<

  '6'0:677

  =

 $)'B. $)6'7<

-B'0,$%$67<

  %B.%>-?<

  '6B1<I-<HH7

  %>?B6%7'0(67<

 ) /B.
) /6%@1@%0$@@C17<

0(67<

  c  0.$6$$@A
'$$A@AA@c  0

J 7<

  F

  $

  c  0.$6$$@A $


'(A@AA@c  0

J 7<

 F69,00/.::7=
c  
    

  c  0.$6$$@A
'(A@AA@c  0

J 7<F

 6 ::7=

   c  0.$6$$@A%$
') A@AA@c  0

J 7<

  F

 F

 F<

$')$) 

=

 %$,( ')(6,7

 =

  

  "B."6Î@AA7<

 F

F<

$:)$) 

=
c  
    

 %$,( ')(6,7

 =

  )0:617<

 F

F<

$)$) 

=

 %$,( ')(6,7

 =

  $$'(B. $$6'$0@A$


'$A@ $$0 7<

  '(0.67<

  '6'(0 $67GB$$7

  =

   )B'(067H'(0 $67<

    $6)7<

    0:6)7<
c  
    

  F

  05 67<

   

   "B."6+@)7<

 F

 

   F<

$()$) 

=

 %$,( ')(6,7

 =

  

    $$'(B.
$$6'$0@A$'$A@ $$0 7<

  '(0.67<

  '6'(0 $67GB$$7

  =
c  
    

   )B'(067H'(0 $67<

    $6)7<

    0:6)7<

    F

  05 67<

   "B."6@)7<

 F

F<

F

%$$:(c )

=

 c %$$@.(@$%@$+@$@$%@$%+<

 c: $($<

 c .( $(<

 c $@@+<

 c"<

 67
c  
    

 =

  6A A7<

  B 67<

  0 6."( 677<

  B.)6A'$09A7<

  $%B.c %$67<

  )(B.)6+11@Î17<

 $%+B.c %$6AA7<

  $%B.c %$6AA7<

  $B.c %$6AA7<

  $+B.c %$6AA7<

  +B.c $67<

  $$B.$6+13@+ù@+ C7<

  +0"/(6$7<

  +0 6."( 677<

  +0((6$@"( 0
7<

  +0((6$+@"( 0
7<

  +0((6$%@"( 0 7<


c  
    

  B.c"6AA7<

  0)6KK7<

  0(( 6.$677<

  $B.c %$6A
&A7<

  .(B.c %$6A
.(&A7<

  $B.c: $(67<

  B.c .( $(67<

  $0 '(-6(7<

  0 '(-6(7<

  $0 6. 6A$A@ 0 


@+377<

   (" (B. (" 67<

  ("B. ("67<

  B.c $67<

  0 6(7<

  0"/(6$7<

  0.:B+01<
c  
    

  0.B101<

  0B ("0
<

  0'$$B ("0

<

  0(.(B ("0
<

  0((6$7<

  (06$@7<

  0((6$7<

  (06$%+@7<

  0((6$%+7<

  0((6.(7<

  (06@7<

0((67<

  0"/(6$7<

  (06$%@7<

  0((6$%7<

  (06@7<

  0((67<

  0((6@"( 0
7<
c  
    

  0((6+@"( 0
7<

  -6 11@C117<

  .67<

 F

 $$)$) 

 =

  )Bc  0.$6A


)A7<

  %$,( ')(6,,7

  =

  

  =

  )
B
)0$/6ALLAH)HA&AH+1 HAL %9A7<

 )*$(,B6)*$(7<

  B$0:67<

  .(B0:67<

  '6,0,$(6@.(77
c  
    

  =

  '$B.'$67<

  F

 $

   c  0.$6$$@A,$(


A@AA@c  0

J 7<

  F6::7=F

  F

 F<

 %$,()6>?7

 =

  B.67<

  0((4(. 6.4(.(67=

  %$,(.(.$64(.,7=

   )0:617<

  F

 

 F7<
c  
    

 F

F

 


c  
    




Testing |oncepts

6 V
 


6 V
     


! Black box Testing:

! White box Testing.

! Gray Box Testing.

6 Ñ
V
 
c  
    

! Unit Testing.

! Module Testing.

! Integration Testing.

! System Testing.

! User Acceptance Testing.

6 V 
÷V
 

! Smoke Testing.
c  
    

! Sanitary Testing.

! Regression Testing.

! Re-Testing.

! Static Testing.

! Dynamic Testing.

! Alpha-Testing.

! Beta-Testing.

! Monkey Testing.

! |ompatibility Testing.

! Installation Testing.

! Adhoc Testing.

! Ext«.

VV



6 ÊVÑ
! Test Planning.

! Test Development.

! Test Execution.

! Result Analysis.

! Bug-Tracing.

! Reporting.


c  
    

6 
 
Ê 


6 V
 

6 aV
 V

! Win Runner.

! Test Director.

&

6 The process of executing a system with the intent of finding an error.

6 Testing is defined as the process in which defects are identified, isolated, subjected for

rectification and ensured that product is defect free in order to produce the quality

product and hence customer satisfaction.

6 Quality is defined as justification of the requirements

6 Defect is nothing but deviation from the requirements

6 Defect is nothing but bug.

6 Testing --- The presence of bugs

6 Testing can demonstrate the presence of bugs, but not their absence

6 Debugging and Testing are not the same thing!

6 Testing is a systematic attempt to break a program or the AUT

6 Debugging is the art or method of uncovering why the script /program did not execute

properly.
c  
    

($&

6 "$/%:: is the testing process in which tester can perform testing on an

application without having any internal structural knowledge of application.


Usually Test Engineers are involved in the black box testing.

6 4%:: is the testing process in which tester can perform testing on an

application with having internal structural knowledge.


Usually The Developers are involved in white box testing.

6 ":: is the process in which the combination of black box and white

box tonics¶ are used.

,$'&


c  
    

     


 
 


i/p   o/p i/p  

Ê
V
 !
" 


" 



0aV 



 6 4
    7



c  
    

 $&

+0Test Plan is defined as a strategic document which

describes the procedure how to perform various testing on the total application in
the most efficient way.

0This document involves the scope of testing,

Î0Objective of testing,

ù0 Areas that need to be tested,

30Areas that should not be tested,

D0Scheduling Resource Planning,

E0Areas to be automated, various testing tools

Used«.

,$):

+0Test case Development (check list)


c  
    

0 Test Procedure preparation. (Description of the Test cases).

+0Implementation of test cases. Observing the result.

$$: +0Expected value: is nothing but expected behavior

Of application.

0Actual value: is nothing but actual behavior of

application

"& |ollect all the failed cases, prepare documents.

& Prepare document (status of the application)

 '&

Úó )/: is the process of initial testing in which tester looks for the availability of

all the functionality of the application in order to perform detailed testing on them. (Main check
is for available forms)
c  
    

Úó & is a type of testing that is conducted on an application initially to check for

the proper behavior of an application that is to check all the functionality are available before the
detailed testing is conducted by on them.

Úó & is one of the best and important testing. Regression testing is the

process in which the functionality, which is already tested before, is once again tested whenever
some new change is added in order to check whether the existing functionality remains same.

Úó2& is the process in which testing is performed on some functionality which is

already tested before to make sure that the defects are reproducible and to rule out the
environments issues if at all any defects are there.

Ú& is the testing, which is performed on an application when it is not been


executed.ex: GUI, Document Testing

Ú)& is the testing which is performed on an application when it is being


executed.ex: Functional testing.
c  
    

Ú$& it is a type of user acceptance testing, which is conducted on an application


when it is just before released to the customer.

Ú"2&it is a type of UAT that is conducted on an application when it is released to


the customer, when deployed in to the real time environment and being accessed by the real time
users.

Ú/& is the process in which abnormal operations, beyond capacity operations


are done on the application to check the stability of it in spite of the users abnormal behavior.

Ú)%$&it is the testing process in which usually the products are tested on the

environments with different combinations of databases (application servers, browsers«etc) In

order to check how far the product is compatible with all these environments platform
combination.
c  
    

Ú$$& it is the process of testing in which the tester try to install or try to

deploy the module into the corresponding environment by following the guidelines produced in
the deployment document and check whether the installation is successful or not.

Ú(& Adhoc Testing is the process of testing in which unlike the formal testing
where in test case document is used, with out that test case

document testing can be done of an application, to cover that testing of the future which are not

covered in that test case document. Also it is intended to perform GUI testing which may involve
the cosmotic issues.

6)7&

)

6 67%9,

6 

6  (

6 
This is the sample test case document for the |ase Investigate details of |lient project:


c  
    

&

6 Test coverage is provided for the screen ³ Login check´ form of a Administration

module of Forensic Manager application

6 Areas of the application to be tested

&

6 When the office personals use this screen for the data entry, adding sections, courts,

grades and |ase Registration information on s basis and quit the form.

 (&

6 The procedure for testing this screen is planned in such a way that the data entry, status

calculation functionality, saving and quitting operations are tested in terms of GUI

testing, Positive testing, Negative testing using the corresponding GUI test cases, Positive

test cases, Negative test cases respectively


c  
    

&

6 Template for Test |ase

T.|.No Description Exp Act Result


c  
    

($':

+0 &

6 Total no of features that need to be check

6 Look & Feel

6 Look for Default values if at all any (date & Time, if at all any require)

6 Look for spell check

#$%V


:

T.|.No Description Expected Actual value Result

value

|heck for all the The screen


features in the screen must
1
contain all
the features

|heck for the The

alignment of the alignment


2
objects as per the should be in
c  
    

validations proper way

0 ,&

6 The positive flow of the functionality must be considered

6 Valid inputs must be used for testing

6 Must have the positive perception to verify whether the requirements are justified.

Î0 ,&

6 The positive flow of the functionality must be considered

6 Valid inputs must be used for testing

6 Must have the positive perception to verify whether the requirements are justified.
c  
    

#$!
V




T.|.No Description Expected value Actual value Result

1 Input UserName Redirect to Redirect to Redirect to


and Password HomePage Home Page Home Page

ù0
,&

6 Must have negative perception.

6 Invalid inputs must be used for test.

#$& V


:

T.|.No Description Expected value Actual value Result

1 Input username Login Page Login Page Login Page


and password

2
c  
    


c  
    






c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    


c  
    

 




It is not possible to develop a system that makes all the requirements of the user. User

requirements keep changing as the system is being used. Some of the future enhancements that
can be done to this system are:

6 As the technology emerges, it is possible to upgrade the system and can be adaptable to

desired environment.

6 Because it is based on object-oriented design, any further changes can be easily

adaptable.

6 Based on the future security issues, security can be improved using emerging

technologies.


c  
    







""    


c  
    

 


(1) Java |omplete Reference By Herbert Shield

(2) Database Programming with JDB| and Java By George Reese

(3) Java and XML By Brett McLaughlin

(4) Wikipedia, URL: http://www.wikipedia.org.

(5) Answers.com, Online Dictionary, Encyclopedia and much more, URL:


http://www.answers.com

(6) Google, URL: http://www.google.co.in

(7)Project Management URL: http://www.startwright.com/project.htm

(8) http://it.toolbLox.com/wiki/index.php/Warehouse_Management


c  
    

You might also like