0% found this document useful (0 votes)
135 views58 pages

Chandan

This document provides an overview of the key components and technologies used to develop a bulk mailer platform. It discusses the front-end technologies of Java, XML, JSP and servlets. It also discusses the back-end technology of HeidiSQL for interacting with MySQL databases. The platform will allow organizations to create and manage customer lists and launch email marketing campaigns. It provides scheduling, reporting and customization capabilities.

Uploaded by

Praveen Sehgal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
135 views58 pages

Chandan

This document provides an overview of the key components and technologies used to develop a bulk mailer platform. It discusses the front-end technologies of Java, XML, JSP and servlets. It also discusses the back-end technology of HeidiSQL for interacting with MySQL databases. The platform will allow organizations to create and manage customer lists and launch email marketing campaigns. It provides scheduling, reporting and customization capabilities.

Uploaded by

Praveen Sehgal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 58

Galgotias University Greater Noida Page 3

1. INTRODUCTION
Each service or product based organization need to run various marketing campaigns to provide
information of their products and services to existing and prospective customers, and to receive
their feedbacks etc. In the age of information age most of these campaigns are email based.
Running a professional mail based campaign require facility of managing user data, main
templates, campaign schedules, track record of executed campaigns etc. To manage all these
activities effectively a software platform is required which can be customized by different users
according to their requirements.

Email sending is a resource consumes action. It will consume much cpu and memory
resources while sending too much cpu and memory quota, your site may be recycled or even
shutdown while sending emails bulk emails together. Because most websites are hosting on 3rd
hosting vendors and dont have.












Galgotias University Greater Noida Page 4

2.OVERVIEW OF THE PROJECT

The bulk Mailer is proposed to be a web based platform using which different organizations can
create and manage their customers lists and can launch and manage bulk mail campaigns

The term "bulk mail" refers to larger quantities of mail prepared for mailing at reduced postage.
In Business Mail 101, the term "bulk mail" means commercial First-Class Mail and advertising
mail (called "Standard Mail" by the Postal Service). Commercial prices are available for other
classes of mail, too. The Postal Service uses the terms "bulk" and "presorted" interchangeably.

Bulk prices are lower than "single-piece" prices. "Single-piece" means that you pay the full
postage price; when you put a stamp on a letter, you're paying the single-piece postage. Many
mailers pay single-piece postage even though they are doing large mailings. Why? Because they
dont want to do any extra preparation workthey dont have the time, or its just not cost
effective for their business. Business Mail 101 will help you make smart choices about your own
mail to determine if commercial prices are right for you..
Key benefits of the platform:
Web based platform for managing user lists and bulk mail campaigns.
Extensive reporting to track to campaign result.
Customization according to the requirement.
Scheduling facility of campaigns at a future data or time



Galgotias University Greater Noida Page 5

3. SYSTEM ANALYSIS
3. 1 FRONT END ( JAVA& XML)

Overvi ew of Java:
Java is a powerful but lean object oriented programming language. It has generated a lot of
excitement because it makes it possible to program for Internet by creating applets, programs
that can be embedded in wed page. The context of an applet is limited only by ones imagination.
Applets can be just little decorations to liven up web page, or they can be serious applications
like word processors or spreadsheet.
But Java is more than programming language for writing applets. It is becoming so popular that
many people believe it will become standard language for both general purposes and Internet
programming.
Java is actually a platform consisting of three components:
Java Programming Language.
Java library of classes and interfaces.
Java virtual Machine.
But Java is more than programming language for writing applets. It is becoming so popular that
many people believe it will become standard language for both general purpose and Internet
programming.

Component s of Java:
Java is actually a platform consisting of three components:
Java Programming Language.
Java Library of classes and interfaces.
Java Virtual Machine.

Galgotias University Greater Noida Page 6


Java i s Obj ect Ori ent ed:
The Java programming language is object oriented, which makes program design focus on what
you are dealing with rather than on how you are going to do something. This makes it more
useful for programming in sophisticated projects because one can break the things down into
understandable components. Reusability of these components is another big benefit.
Object oriented languages use the paradigm of classes. In simple terms, a class includes
both the data and the functions to operate on that data. Object is an instance of the class forms
the actual run time entity of the class. Encapsulation of code and date makes it possible it make
the changes in code without breaking other programs that use that code.
Java includes inheritance, or the ability to derive new classes form existing class referred
to as the parent class. A subclass can add new data members to those inherited form the parent
class. As far as methods are concerned, the subclass can reuse the inherited methods as it is,
change them, and its own new methods.

Java s exci t i ng f eat ures are:
Ease in code correction.
Garbage collection.
Absence of pointers.

Galgotias University Greater Noida Page 7

Java is extensible.
Java is secure.
Java is robust.
Java is multithreading.
Simplicity.

Li brary Cl as s es :
The Java platform includes an extensive class library so that programmers can use
already existing classes, as it is, create subclasses to modify existing classes or implement
interfaces and augment the capabilities of classes.
Classes contain data members i.e. fields and functions i.e. methods. In classes fields may
be either variable or constant, and methods are fully implemented.

I nt erf aces :
Interfaces is also merely like class. Interfaces also contain data members and functions.
But the main difference is that in an interface, fields must be constants, and methods are just
prototypes with no implementations. The prototype give the method signature (the return type,
the function name and the number of parameters with the type for each parameter), but the
programmer must supply implementation. To use an interface, a programmer defines a class,
declares that implements the interfaces, and then implements all the methods in that interface as
the class.
The methods are implemented in a way that is appropriate for the class in which the
methods are being used. Interface let one add functionality to a class and give a great deal of
flexibility in doing it. In other words interfaces provide most of the advantages of multiple
inheritances without its disadvantages.

Galgotias University Greater Noida Page 8

XML
XML stands for Extensible Markup Language and was defined 1998 by the World Wide Web
Consortium (W3C).
An XML document consists of elements, each element has a start tag, content and an end tag.
An XML document must have exactly one root element (i.e., one tag which encloses the
remaining tags). XML differentiates between capital and non-capital letters.
An XML file must be "well-formed".
A well-formed XML file must apply to the following conditions:
An XML document always starts with a prolog (see below for an explanation of what a
prolog is)
Every opening tag has a closing tag.
All tags are completely nested.
An XML file is called valid if it is well-formed and if it is contains a link to an XML schema
and is valid according to the schema.
Using XML has the following advantages vs. using a binary or unstructured format:
XML is plain text.
XML represents data without defining how the data should be displayed.
XML can be transformed into other formats via XSL.
XML can be easily processed via standard parsers.
XML files are hierarchical.

JSP
JSP technology is used to create web application just like Servlet technology. It can be thought of as an
extension to servlet because it provides more functionality than servlet such as expression language, jstl
etc.

A JSP page consists of HTML tags and JSP tags. The jsp pages are easier to maintain than servlet because
we can separate designing and development. It provides some additional features such as Expression
Language, Custom Tag etc.
Galgotias University Greater Noida Page 9



Servl et
Servlet technology is used to create web application (resides at server side and generates dynamic web
page).

Servet technology is robust and scalable as it uses the java language. Before Servlet, CGI (Common
Gateway Interface) scripting language was used as a server-side programming language. But there were
many disadvantages of this technology. We have discussed these disadvantages below.

There are many interfaces and classes in the servlet API such as Servlet, GenericServlet, HttpServlet,
ServletRequest, ServletResponse etc













Galgotias University Greater Noida Page 10

3. 2 BACK END HeidiSQl

HeidiSQL is a useful and reliable tool designed for web developers using the
popular MySQL server, and Microsoft SQL databases. It enables you to browse and edit data,
create and edit tables, views, procedures, triggers and scheduled events. Also, you can export
structure and data either to SQL file, clipboard or to other servers
HeidiSQL has the following GUI features and capabilities.

Server connection
Multiple saved sessions with connection and credentials stored within
Compressed client/server protocol for compatible servers
Interface with servers via TCP/IP, named pipes (sockets) or Tunneling protocol (SSH)
Multiple parallelly running sessions in one window
Manage users on server: add, remove and edit users, and their credentials
Manage user privileges globally and per database
Export databases to SQL files or to other servers
Multiple query tabs, with each one having multiple subtabs for batch results
Galgotias University Greater Noida Page 11




Server host
View and filter all server variables, such as system_time_zone
Edit all server variables, either for this session or with global scope
View server statistic variables, and average values per hour & second
Currently running processes to analyze executed SQL and to kill bad processes
View command-statistics with percentage indicator bars per SQL command
Galgotias University Greater Noida Page 12




Databases
View all databases on server, connect to a single database to work with its tables and
data
View connected databases' total and table size in KB/MB/GB within the database/table
tree structure
Create new, alter existing databases' name, character set and coallation, drop (delete)
databases
Galgotias University Greater Noida Page 13



Tables, views, procedures, triggers and events
View all objects within selected database, empty, rename and drop (delete) objects
Edit table columns, indexes and foreign keys. Virtual columns on MariaDB servers are
supported.
Edit view query and settings
Edit procedure SQL body and parameters
Edit trigger SQL body and settings
Edit scheduled event SQL body time settings
Galgotias University Greater Noida Page 14


Tables




Galgotias University Greater Noida Page 15

Create db

View Editor

Galgotias University Greater Noida Page 16


Trigger Editor



Galgotias University Greater Noida Page 17


Event Editor


Galgotias University Greater Noida Page 18


Table Editor










Galgotias University Greater Noida Page 19

3. 2 MODULES:

There are 4 modules in this project.
Template
Campaign
User
Reporting

MODULES EXPLANATI ON:

Template
This Module provides functionality of managing templates such as create template, view
template, edit template, and delete templates. Templates simplify creation of campaigns
and facilitate reusability. Features of this module are used by the campaigner.

Campaign
This module provides functionality of managing campaign such as create campaign,
view campaign, edit campaign, schedule campaign, stop campaign etc. Features of this module
are used by campaigner.

User
This module provides functionality of managing user list such as create list, view list, edit
list, delete list, import list, and export list etc. User lists are used by the campaigner to
manage the target users of campaigns.



Galgotias University Greater Noida Page 20

Reporting
This module is used by campaigner to generate and view reports such as reports of
scheduled campaigns, reports of running campaigns, reports of successfully completed
campaigns, reports of delivered messages, reports of undelivered messages etc. These reports
provide insight to the senders for creating effective campaigns

Galgotias University Greater Noida Page 21

4. SYSTEM DESIGN

4. 1 UML DIAGRAMS

The Unified Modified Language prescribes a standard set of diagrams and notations for
modeling object oriented systems, and describe the underlying semantics of what these diagrams
and symbols mean. Whereas there has been to this point many notations and methods used for
object-oriented design, now there is a single notation for modellers to learn.
UML can be used to model different kinds of systems: software systems, hardware systems, and
real-world organizations. UML offers nine diagrams in which to model systems:
Us e Cas e di agram for modelling the business processes
Sequence di agram for modelling message passing between objects
Col l aborat i on di agram for modelling object interactions
St at e di agram for modelling the behaviour of objects in the system
Act i vi t y di agram for modelling the behaviour of Use Cases,
Objects, or Operations
Cl as s di agram for modelling the static structure of classes in the
system
Obj ect di agram for modelling the static structure of objects in the
system
Component di agram for modelling components
Depl oyment di agram for modelling distribution of the system.
UML is a consolidation of many of the most used object-oriented notations and concepts.
It began as a consolidation of the work of Grady Booch, James Rumbaugh, and Ivar Jacobson,
creators of three of the most popular object-oriented methodologies.
In 1996, the Object Management Group (OMG), a standards body for the object-oriented
community, issued a request for proposal for a standard object-oriented analysis notation and
semantic meta model. UML, version 1.0, was proposed as an answer to this submission in
Galgotias University Greater Noida Page 22

January of 1997. There were five other rival submissions. During the course of 1997, all six
submitters united their work and presented to OMG a revised UML document, called UML
version 1.1. This document was approved by the OMG in November 1997. The OMG calls this
document OMG UML version 1.1. The OMG is currently in the process of performing a
technical.

4. 1. 1 CLASS DI AGRAMS:

The class diagram is the main static analysis and design diagram for a system. In it, the
class structure of the system is specified, with relationships between classes and inheritance
structures. During analysis of the system, the diagram is developed with an eye for an ideal
solution. During design, the same diagram is used, and modified to conform to implementation
details.

4. 1. 2. ACTI VI TY DI AGRAMS:

The Activity Diagram is a multi-purpose process flow diagram that is used to model
behavior of the system. Activity Diagram can be used to model a Use Case, or a class, or a
complicated method. An Activity Diagram can show parallel processing. This is important when
using Activity Diagram to model business processes, some of which can be performed in
parallel, and for modeling multiple threads in concurrent programs.




Galgotias University Greater Noida Page 23

4. 1. 3 SEQUENCE DI AGRAM:

The Sequence diagram is one of the most effective diagrams to model object interactions
in a system. A Sequence diagram is modeled for every Use Case. Whereas the Use Case diagram
enables modeling of a business view of the scenario, the Sequence diagram contains
implementation details of the scenario, including the objects and classes that are used to
implement the scenario, and messages passed between the objects.


4. 1. 4 USE CASE DI AGRAM:

Use Case modeling is the simplest and most effective technique for modeling system
requirements from a users perspective. Use Cases are used to model how a system or business
currently works, or how the users wish it to work. It is not really an object-oriented approach; it
is really a form of process modeling. It is, however, an excellent way to lead into object-oriented
analysis of systems. Use Cases are generally the starting point of object-oriented analysis with
UML. The Use Case model consists of actors and Use Cases. Actors represent users and other
systems that interact with the system. They are drawn as stick figures. They actually represent a
type of user, not an instance of a user. Use Cases represent the behavior of the system, scenario
that the system goes through in response to stimuli from an actor. They are drawn as Ellipses.
Each Use Case is documented by a description of the scenario. The description can be
written in textual form or in a step-by-step format. Each Use Case can also be defined by other
properties, such as the pre- and post conditions of the scenario conditions that exist before the
scenario begins, and conditions that exist after the scenario completes.


Galgotias University Greater Noida Page 24



4. 1. 5 COLLABORATI ON DI AGRAM:

The Collaboration Diagram presents an alternate to the Sequence Diagram for modeling
interactions between objects in the system. Whereas in the Sequence Diagram the focus is on the
chronological sequence of the scenario being modeled, in the Collaboration Diagram the focus is
on understanding all of the effects on a given object during a scenario.
Objects are connected by links, each link representing an instance of an association
between the respective classes involved. The link shows messages sent between the objects, the
type of message passed, and the visibility of objects to each other.





















Galgotias University Greater Noida Page 25


DATAFLOW DI AGRAMS:









Bulk Mailer

Mail
Notification &
Feedback
Campaigns
Reports
Campaigner
Customer
Galgotias University Greater Noida Page 26

Figure 2 Activity Diagram


Create List
(1.0)
User Information
Campaigner
Users List

Create
Template
(2.0)
Templates

Create
Campaign
(3.0)
Campaigns
Template
Information
Campaign Information

Assign User
(4.0)
Users List
Campaign Created
Galgotias University Greater Noida Page 27




Select
Campaign
(5.0)
Campaign
Identifier
Mail/Message
Campaigner
Campaigns


Run
Campaign
(6.0)
Users List


Register
Response
(7.0)
User Response
Response

Generate
Report
(8.0)
User
Sender
Report
Galgotias University Greater Noida Page 28


Entity-Relationship Diagram

Campaigner User List
Creates
Have
Creates
Campaigns User
Templates
Have
Response
Receives
Have
Messages
Sends
Galgotias University Greater Noida Page 29


Entity attributes


User
Id
Name
mailId
mobileNo
Campaign
Id
Name
Type
Template
Id
Name
Contents
Status
Status
Type
Galgotias University Greater Noida Page 30



Message
Id
Content
Response
Id
Content
Type
Type
Campaigner
Id
MailId
mobileNo
Name
Password
Galgotias University Greater Noida Page 31


4. 2 DATA DICTIONARY
4. 2. 1 I NTRODUCTI ON:

DI CTI ONARY The logical characteristics of current system data stores including Name,
Address, longitude, latitude, zip code, mobile location etc identifies process where the data are
used and where immediate access to information required.
Us es of Dat a Di ct i onary:
To manage the details in large systems.
To communicate a common meaning for all system elements.
To document the features of the system.
To facilities analysis of the details in order to evaluate characteristics and determine
where system changes should be made.
To locate errors and omissions in the system.



Galgotias University Greater Noida Page 32

5. IMPLEMENTATION
Modules of this project consist of following:-
1. Registrations Page
2. Login page
3. Home Page
4. Add Contact
5. Add Group
6. View Group
7. View Contact
8. Import Contact
9. Add New Mailer Account
10. View Mailer Account
11. Add New Template
12. View Template
13. Create Campaign
14. Run Campaign And View Campaign






Galgotias University Greater Noida Page 33







Registrations Page






Galgotias University Greater Noida Page 34










Login page






Galgotias University Greater Noida Page 35







Home Page









Galgotias University Greater Noida Page 36



Add Contact













Galgotias University Greater Noida Page 37




Add Group












Galgotias University Greater Noida Page 38



View Group












Galgotias University Greater Noida Page 39


View Contact














Galgotias University Greater Noida Page 40

Import Contact














Galgotias University Greater Noida Page 41


Add New Mailer Account




Galgotias University Greater Noida Page 42



View Mailer Account













Galgotias University Greater Noida Page 43




Add New Template












Galgotias University Greater Noida Page 44




View Template












Galgotias University Greater Noida Page 45




Create Campaign












Galgotias University Greater Noida Page 46




Run Campaign And View Campaign








Galgotias University Greater Noida Page 47

6. Coding

Login Action

import javax.servlet.*;
import javax.servlet.http.*;

import com.swinfosoft.bulkmailer.dao.UserDao;
import com.swinfosoft.bulkmailer.model.User;
import com.swinfosoft.mvc.web.*;


public class LoginAction implements Action {

@Override
public String processRequest() throws Exception {
User user=new User();
ServletRequest request=
ActionContext.getServletRequest();

user.setMailId(request.getParameter("mailId"));
user.setPassword(request.getParameter("password"));

UserDao dao=new UserDao();
if(dao.find(user))
{
HttpSession session=ActionContext.getSession();
session.setAttribute("user",user);
return "loggedIn";
}
else
{
ActionContext.addModelObject("message",
"Either mailId or password is incorrect.");
return "loggedOut";
}

}

}




Galgotias University Greater Noida Page 48


Change Password
import java.io.PrintWriter;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import org.apache.log4j.Logger;

import com.swinfosoft.bulkmailer.dao.UserDao;
import com.swinfosoft.mvc.web.Action;
import com.swinfosoft.mvc.web.ActionContext;


public class ChangePasswordAction implements Action {

@Override
public String processRequest() throws Exception {
Logger logger=Logger.getRootLogger();
ServletRequest request=
ActionContext.getServletRequest();
int id=Integer.parseInt(request.getParameter("id"));
String p=request.getParameter("password");
logger.info("changing password");
UserDao dao=new UserDao();
dao.changePassword(id,p);
logger.info("changed, sending message...");
ServletResponse response=
ActionContext.getServletResponse();
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.println("successfully changed.");
out.close();
return null;
}

}





Galgotias University Greater Noida Page 49

DbInitializerAction
package com.swinfosoft.bulkmailer.actions;

import java.io.File;
import java.io.FileInputStream;

import javax.servlet.ServletContext;

import org.apache.log4j.Logger;

import com.swinfosoft.bulkmailer.dao.InitializerDao;
import com.swinfosoft.mvc.web.Action;
import com.swinfosoft.mvc.web.ActionContext;


public class DbInitializerAction implements Action {

@Override
public String processRequest() throws Exception {
Logger logger=Logger.getRootLogger();
ServletContext ctx=
ActionContext.getServletContext();
logger.info("finding path of db.sql");
String path=ctx.getRealPath("/WEB-INF/classes/db.sql");
logger.info("path of db.sql on server is : "+path);
File f=new File(path);
FileInputStream fin=new FileInputStream(f);
byte data[]=new byte[fin.available()];
fin.read(data);
fin.close();
String queries=new String(data);
InitializerDao dao=new InitializerDao();
dao.initializeDb(queries, "/");
ActionContext.addModelObject("message",
"successfully initialized.");
return "dbInitialized";
}

}





Galgotias University Greater Noida Page 50

Registration Action

import javax.servlet.*;
import javax.servlet.http.*;

import com.swinfosoft.bulkmailer.dao.UserDao;
import com.swinfosoft.bulkmailer.model.User;
import com.swinfosoft.mvc.web.*;


public class RegisterAction implements Action {

@Override
public String processRequest() throws Exception {
User user=new User();
ServletRequest request=
ActionContext.getServletRequest();
user.setName(request.getParameter("name"));
user.setMailId(request.getParameter("mailId"));
user.setPassword(request.getParameter("password"));
user.setQuestion(request.getParameter("question"));
user.setAns(request.getParameter("answer"));
user.setRole(User.user);

UserDao dao=new UserDao();
dao.save(user);

HttpSession session=ActionContext.getSession();
session.setAttribute("user",user);
return "loggedIn";
}

}







Galgotias University Greater Noida Page 51

FetchUserDetail

import java.io.PrintWriter;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;

import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;

import com.swinfosoft.bulkmailer.dao.UserDao;
import com.swinfosoft.bulkmailer.model.User;
import com.swinfosoft.mvc.web.Action;
import com.swinfosoft.mvc.web.ActionContext;


public class FetchUserDetailsAction implements Action {

public String processRequest() throws Exception {
Logger logger=Logger.getRootLogger();
ServletRequest request=ActionContext.getServletRequest();
String mailId=request.getParameter("mailId");
logger.debug("fetching user by following mailId: "+mailId);
UserDao dao=new UserDao();
User user=dao.findByMailId(mailId);
ServletResponse response=
ActionContext.getServletResponse();
PrintWriter out=response.getWriter();
if(user != null)
{
logger.debug("user found.");
response.setContentType("text/JSON");
JSONObject json = (JSONObject)
JSONSerializer.toJSON(user);

System.out.println(json+" is being sent as response...");
out.println(json);
}
else
{
logger.debug("no user found.");
response.setContentType("text/html");
out.print("Invalid MailId");
}
out.close();
return null;
}

}
Galgotias University Greater Noida Page 52

Update Profile

import java.io.PrintWriter;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;

import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;

import com.swinfosoft.bulkmailer.dao.UserDao;
import com.swinfosoft.bulkmailer.model.User;
import com.swinfosoft.mvc.web.Action;
import com.swinfosoft.mvc.web.ActionContext;


public class UpdateProfileAction implements Action {

@Override
public String processRequest() throws Exception {
Logger logger=Logger.getRootLogger();
HttpSession session=ActionContext.getSession();
User user=(User)session.getAttribute("user");
ServletRequest request=
ActionContext.getServletRequest();
user.setName(request.getParameter("name"));
user.setMailId(request.getParameter("mailId"));
user.setPassword(request.getParameter("password"));
logger.info("updating user");
UserDao dao=new UserDao();
dao.update(user);
logger.info("updated, sending message...");
ServletResponse response=
ActionContext.getServletResponse();
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.println("successfully updated.");
out.close();
return null;
}

}



Galgotias University Greater Noida Page 53

7.TESTING
7. 1 Int roduct i on

Testing is a process used to help identify the correctness, completeness and quality of
developed computer software. With that in mind, testing can never completely establish the
correctness of computer software.
There are many approaches to software testing, but effective testing of complex products is
essentially a process of investigation, not merely a matter of creating and following rote
procedure. One definition of testing is "the process of questioning a product in order to evaluate
it", where the "questions" are things the tester tries to do with the product, and the product
answers with its behaviour in reaction to the probing of the tester. Although most of the
intellectual processes of testing are nearly identical to that of review or inspection, the word
testing is connoted to mean the dynamic analysis of the productputting the product through its
paces.
The quality of the application can and normally does vary widely from system to system but
some of the common quality attributes include reliability, stability, portability, maintainability
and usability. Refer to the ISO standard ISO 9126 for a more complete list of attributes and
criteria.
Testing helps is verifying and Validating if the Software is working as it is intended to be
working. Thins involves using Static and Dynamic methodologies to Test the application.
Because of the fallibility of its human designers and its own abstract, complex nature,
software development must be accompanied by quality assurance activities. It is not unusual for
developers to spend 40% of the total project time on testing. For life-critical software (e.g. flight
control, reactor monitoring), testing can cost 3 to 5 times as much as all other activities
combined. The destructive nature of testing requires that the developer discard preconceived
notions of the correctness of his/her developed software.





Galgotias University Greater Noida Page 54

7.2 Type of Testing

7.2.1 Unit Testing

Unit testing is the process of testing a singular item of software. An example would be a
window/form which allows a user to choose two ways of launching the application. Option A
will launch exe A where Option B will launch exe B. The single form can be launched on its own
( normally by the developer ) and the function of launching each option can be confirmed before
adding the code to the main application.




7.2.2 Integrated Testing
Integration testing is often set up with its own testing team who only perform
integration testing. The main purpose of this type of testing is to check if the new
software interferes with any other functionality of any other software which is running on
the companies machines. Many companies may have load sets for each department ( ie.
the accounts departments pcs will have different software to the art departments pcs.
One would be the Accounts load set where the other would be the Art departments load
set ) Personally I would look to automate a large proportion of Integration testing along
with developing a DLL/OCX database which would highlight immediate concerns just be
looking at the installation files of any new software.

7.2.3 Security Testing
Tests are performed to compromise the systems security. This include as an
example, accessing an oracle data base containing the data using multiple logins or
unauthorised ids.. Additionally hacking tools could be considered if the system could be
access externally, such as over the internet..



Galgotias University Greater Noida Page 55


7.2.4 Performance Testing
Performance testing is the most effective way to gauge an application or an
environments capacity and scalability. This type of testing must be automated and record
the systems response times to a simulation of users logging onto the system. The
expected performance ratio of users to response times will be identified before the tests
are carried out. With good planning the performance tool can be used for ongoing
analysis of the system and the behaviours of the users. Data can be assessed to identify
the most popular times users log on and consequently the key time when the system will
under the greatest loads.

7.2.5Black-box Testing
Black box testing is the process of testing a function ( such as a program which
converts the format of an interface file ) without having access to the code which is
converting the data. The testing stages would consist of specifying the file before the
conversion takes place and then confirming the changes which occur after the program
has been run and converted the file. The name Black Box comes from not being how to
see how the function works


7.2.6 White-box Testing
White box testing on the other hand allows the tester to see the code which is
converting the data. Consequently the tester can write tests to include data which will
trip up the code.







Galgotias University Greater Noida Page 56


7.2.7 TEST CASES:
TEST
CASE
INPUT EXPECTED RESULT ACTUAL RESULT
Success Login for User
1. mailId=email id at time of
registration
Password=Required same as at
time of registration
WELCOME Name Welcome UserName
Unsuccessful Login for User
2. User id =xyz
Password=zyz
You are not registered mailId or password is
incorrect




Successful new registration
3. First Name=Rajeev
[email protected]
Available
password=raj123
SecurityQuestion=What is
You are successfully
registered!!!

Galgotias University Greater Noida Page 57

name of your first school?
Answer=St. Fransis



TEST
CASE



INPUT



EXPECTED RESULT



ACTUAL RESULT
Unsuccessful new registration
4. First Name=Rajeev
[email protected] Not
Available
password=Rajeev
please enter alphabet and
numeric combination
Security Ques=who is ur best
friend
Answer=aa

You are not registered!!! Welcome User
TEST
CASE
INPUT EXPECTED RESULT ACTUAL RESULT
Forgot Password/Change Password
5. [email protected] Success
Galgotias University Greater Noida Page 58

6. Security question=What is name of your first school?
Ans=St. Fransis You are allowed to change password.

Galgotias University Greater Noida Page 59

8 CONCLUSION
This proposal is advantageous in that the location of a mobile telephone can be accurately
tracked even in the multi-path fading environment, by using more accurate tracking curves
connecting the intersection points among circles with the radii being the distances between
corresponding BSs and the mobile telephone in a cellular mobile communication system.
I have described about accurate positioning of mobile telephones, which can be used for
several applications. The important considerations to be undertaken while selecting a location
based technology are location accuracy, implementation cost, reliability, increasing functionality.















Galgotias University Greater Noida Page 60



8. REFERENCE
Websites

http://www.javatpoint.com
http://stackoverflow.com
http://www.tutorialspoint.com/

Books

Introduction of Software Engineering, 8
th
Edition
The complete reference of Java TM 2 , 5
th
Edition
SQL Bible, 2nd Edition (Paperback)
Database Development

You might also like