You are on page 1of 98

ONLINE BANKING

Not exactly online… But can be used as a pretty


poor design to understand what banking is… It’s
for the “NEWBIES”…

Nitish .J

AMCET

1
INDEX

S.NO TITLE PAGE NO

1 Initial Phase 1

1.0 Introduction 2
1.1 Schedule 4
1.2 S/W development life cycle 5

2 Analysis 7

2.0 Scope 8
2.1 Objective 8
2.2 Problem definition 9
2.3 Environmental requirements 10
2.4 Features of front end 11
2.5 Features of back end 17
2.6 Modules and description 21

3 Design 24

3.0 Project system Architecture 25


3.1 UML diagram 26

a) Use case diagram 26


b) Sequence diagram 28
c) Collaboration diagram 31
d) Activity diagram 34
e) Class diagram 35
f) State chart diagram 36

3.2 Database relationship 39


3.3 Form design 40

2
4 Coding 43

4.0 Sample coding with Database 44


connection
5 51
Software testing
5.0 52
5.1 Software Testing and Quality 56
5.2 Assurance 61
5.3 Testing methodologies 65
Test plan
6 Test case 67

6.0 Maintenance 68
6.1 70
6.2 Maintenance and its types 71
Software development lifecycle
7 model 72
Software maintenance cost
7.0 73
7.1 Conclusion 73

8 Conclusion 74
Future enhancement
75
Reference 78

Appendix 1 – screenshots
Appendix 2 – DB table data

3
1) INITIAL PHASE

4
1.1) INTRODUCTION

Banks have traditionally been in the forefront of harnessing technology to


improve their products, services and efficiency. They have, over a long time,
been using electronic and telecommunication networks for delivering a wide
range of value added products and services. The delivery channels include
direct dial – up connections, private networks, public networks etc and the
devices include telephone, Personal Computers including the Automated
Teller Machines, etc. With the popularity of PCs, easy access to Internet and
World Wide Web (WWW), Internet is increasingly used by banks as a channel
for receiving instructions and delivering their products and services to their
customers. This form of banking is generally referred to as Internet Banking,
although the range of products and services offered by different banks vary
widely both in their content and sophistication. Broadly, the levels of banking
services offered through INTERNET can be categorized in to three types:

• The Basic Level Service is the banks’ websites which disseminate


information on different products and services offered to customers
and members of public in general. It may receive and reply to
customers’ queries through e-mail,

• In the next level are Simple Transactional Websites which allow


customers to submit their instructions, applications for different
services, queries on their account balances, etc, but do not permit
any fund-based transactions on their accounts,

• The third level of Internet banking services are offered by Fully


Transactional Websites which allow the customers to operate on
their accounts for transfer of funds, payment of different bills,
subscribing to other products of the bank and to transact purchase
and sale of securities, etc.

The above forms of Internet banking services are offered by traditional


banks, as an additional method of serving the customer or by new banks,
who deliver banking services primarily through Internet or other electronic
delivery channels as the value added services. Some of these banks are
known as ‘virtual’ banks or ‘Internet only’ banks and may not have any
physical presence in a country despite offering different banking services.
From the perspective of banking products and services being offered through
Internet, Internet banking is nothing more than traditional banking services

5
delivered through an electronic communication backbone, viz. Internet. But,
in the process it has thrown open issues which have ramifications beyond
what a new delivery channel would normally envisage and, hence, has
compelled regulators world over to take note of this emerging channel.

Some of the distinctive features of i-banking are:

• It removes the traditional geographical barriers as it could reach


out to customers of different countries legal jurisdiction. This has
raised the question of jurisdiction of law supervisory system to
which such transactions should be subjected.

• It has added a new dimension to different kinds of risks


traditionally associated with banking, heightening some of them
and throwing new risk control challenges, Security of banking
transactions, validity of electronic contract, customers privacy,
etc., which have all along been concerns of both bankers and
supervisors have assumed different dimensions given that Internet
is a public domain, not subject to control by any single authority or
group of users.

Unlike its predecessors these internet only banks do not maintain brick and
mortar bank branches. Although to deposit cash or checks, you will still have
to spend time at the bank counter.

6
7
1.1) SCHEDULE

Start Date: 04-07-2010

End Date: 12-10-2010

SL NO. PHASE SUBMISSION NO OF DAYS


DATE

1 Initial phase 19-7-2010 16

2 Analysis Phase 02-08-2010 13

3 Design Phase 18-09-2010 46

4 Development phase 01-10-2010 14

5 Testing 12-10-2010 11

8
9
1.2) SOFTWARE DEVELOPMENT LIFECYCLE
The activity of testing begins during system development and spans all
subsequent phases. Some system development lifecycles describe testing
which is performed after the coding phase, but this may cause the software
to be delivered without sufficient testing.

The incremental model combines elements of the linear sequential model


with iterative philosophy of prototyping. Each linear sequential step produces
a deliverable “Increment” of the software. When an incremental model is
used, the first increment is often a core product. After users evaluation a
new plan addresses the modification of the core product to better meet the
needs of the customer and the delivery of additional features and
functionality. This process is repeated following the delivery of each
increment, until the complete product is produced.

Below are the advantages of the Iterative Life Cycle:

• The Design phase goes much faster, as designs are only done on the
items in the current release.
• Coding and Testing go much faster because there are fewer items to
code and test. If major design flaws are found, re-work is much faster
since the functional areas have been greatly reduced.
• As the software is implemented, the client can make recommendations
for the next iteration due to experiences learned in the past iteration.

If iterations are closer than that, you spend too much time on convergence
and the project timeframe expands. During the coding phase, code reviews
must be done weekly to ensure that the developers are delivering to
specification and all source code is put under source control. Also, full
installation routines are to be used for each iterative release as it would be
done in production.

The different phases involved in Software Development are as follows:

• Identification of required software

• Analysis of the software requirements

• Detailed specification of the software requirements

• Software design

10
• Programming

• Testing

• Maintenance

Iterative Model

Analysis Design Testing Maintenanc


e

Analysis Design
Testing Maintenanc
e

Analysis
Design
Testing Maintenanc
e

Analysis
Design
Testing
Maintenanc
e

11
ADVANTAGES:

• Requirements are obtained in every phase.

• Errors are simultaneously corrected.

• Feedback requirement is clear.

• Testing is quick and easy.

• Risk analyzer is to see whether the product is successful or not.

12
2) ANALYSIS PHASE

13
14
2.0) SCOPE OF THE PROJECT

• The bank management system is a application for maintaining a


person’s account in a bank.

• The system provides the access to the customer to create an account,


withdraw, deposit the cash from his account, view his recent
transactions.

• It also allows the administrator to view reports of all accounts.

2.1) OBJECTIVE OF THE PROJECT

• To develop a software for solving financial applications of a customer


in banking environment in order to nurture the needs of an end
banking user by providing various ways to perform banking tasks.

• Also to enable the user’s workspace with functionalities that enables


him to perform the banking transactions in an easy way.

15
16
2.2) PROBLEM DEFINITION

System analysis is a logical process; the objective of this stage is not actually
to solve the problem but to determine what must be done to solve the
problem. The basic objective of the analysis stage is to develop the logical
model of the system using tools such as UML (Unified modeling language).
First let’s take a look at the existing and proposed system.

Existing System:

Existing system is the traditional banking, where customers have to go


through the long queue, time wasted and still wouldn’t have access to
efficient and effective banking system.

Proposed System:

Considering the stress and time taken to go to bank and do transaction. The
development of a well structure and secured online banking system will
allow customer to perform objectives like, creating a banking system that is
easily accessible by customers from the comfort of their homes, offices 24/7.
Reduce the flow of human traffic and long queues at banks; Promote efficient
and effective banking for the banks by focusing on those services that still
require physical presence at the banking hall. Provides intra-bank funds
transfer services to their customers. Keep a detailed log of customer
transactions with the bank on his account.

The proposal is then weighed with the existing system analytically and the
best one is selected. The proposal is presented to the user for an
endorsement by the user. The proposal is reviewed on user request and
suitable changes are made. This is loop that ends as soon as the user is
satisfied with proposal. Preliminary study is the process of gathering and
interpreting facts, using the information for further studies on the system.
Preliminary study is problem solving activity that requires intensive
communication between the system users and system developers. It does
various feasibility studies. In these studies a rough figure of the system
activities can be obtained, from which the decision about the strategies to be
followed for effective system study and analysis can be taken

17
18
2.3) ENVIRONMENTAL SPECIFICATION

HARDWARE REQUIREMENTS:

Processor : X86 Compatible processor with 1.7 GHz Clock speed


RAM : 128 MB or more
Hard disk : 20 GB or more
Monitor : VGA/SVGA
Keyboard : 104 Keys
Mouse : 2 buttons/ 3 buttons

SOFTWARE REQUIREMENT:

Operating System : Windows XP


Front end : Visual Basic 6.0
Back end : Microsoft SQL Server 2000
Tool : IBM Rational Rose Enterprise Edition

19
2.4) FEATURES OF FRONTEND: VB 6.0

Visual Basic supports following features:

1. Data Access Features allows programmers to develop database


front end applications and server side components for most popular
database formats including MS SQL and other Databases.

2. Active X Technologies allows programmers to use the functionality


provided by other applications, such as MS Office [Word, Excel etc)
and other windows applications. You can even automate applications
and objects created using the professional or Enterprise editions of
Visual Basic.

3. Internet capabilities make it easy to provide access to documents


and applications across internet server applications.

4. Your finished application is a true executable (.exe) file that


uses a visual Basic Virtual Machine that you can freely distribute.

IDE Features of Visual Basic

Visual Basic posses a Integrated Development Environment [IDE] in which


users can develop, run and debug their applications. Visual basic is a ‘front
end’ which is used for design a screen [Called form] and also writing codes
for the specific controls.

There are different type applications we can develop with visual basic
enterprise edition. These types are referred as Projects; in visual basic we
create projects which include different types of modules and many forms. A
good project may have many forms as it can have. Following are the major
type of projects we can have in Visual Basic

1. Standard Exe: A standard EXE project is a typical application in which we


can use the database manipulation.

2. Active EXE, Active DLL: These types of project are available with the
professional edition. Active X components are basic code building
components that don’t have a visible interface and that can add special
functionality to our applications.

20
3. Active X Control: Using this type of project we can create our own
Visual Basic controls.

4. Active X Document EXE, Active X Document EXE: Active X


Documents are in essence Visual Basic applications that can run in the
environment of container that supports hyper linking, such as internet
explorer.

5. Data Project: it is identical to the Standard EXE project type, but it


automatically adds the controls that are used in accessing database to the
tool box. It also adds the database Active X Designer to the project explorer
window. Active X Designers are Visual tools for accessing and manipulating
databases and generating reports.

6. DHTML Applications: Using this project user can be developing web


pages that can be displayed in the browser’s window on the client computer.

7. IIS Applications: Visual Basic allows user to build application that run
on the web server and interact with clients over the internet with the internet
information server.

8. Add-in: We can create our own add-in for the VB IDE. Add-ins is the
special commands we can add to Visual Basic menus. Add-ins helps us to
extend the VB IDE.

Tool Box Description:

Icon Tool Name What This Tool Does

Pointer Selects objects

Picture box Draws a box to display graphics

21
Label Draws a box to display text

Text box Draws a box that can display text and let the user
type in text

Frame Groups two or more objects together

Command button Draws a command button

Check box Draws a check box

Option (or radio)Draws a radio button


button

Combo box Draws a combo box

List box Draws a list box

Horizontal scroll bar Draws a horizontal scroll bar

Vertical scroll bar Draws a vertical scroll bar

Timer Places a timer on a form

Drive list box Draws a drive list box that displays all
the disk drives available

Directory list box Draws a directory list box that displays a directory
on a particular disk drive

File list box Draws a file list box that displays files in a specific
directory

Shape Draws a geometric shape such as a circle or a


square

Line Draws a line

Image box Draws a box to display graphics

22
Data control Draws a control to link a program to a database file

OLE Draws a box to insert an OLE object

Significant Language Features:

Visual Basic is not only a programming language, but also a complete


graphical development environment. This environment allows users with
little programming experience to quickly develop useful Microsoft Windows
applications which have the ability to use OLE ( Object Linking and
Embedding ) objects, such as an Excel spreadsheet. Visual Basic also has the
ability to develop programs that can be used as a front end application to a
database system, serving as the user interface which collects user input and
displays formatted output in a more appealing and useful form than many
SQL versions are capable of.

Visual Basic's main selling point is the ease with which it allows the user to
create nice looking, graphical programs with little coding by the
programmer, unlike many other languages that may take hundreds of lines
of programmer keyed code. As the programmer works in the graphical
environment, much of the program code is automatically generated by the
Visual Basic program. In order to understand how this happens it is
necessary to understand the major concepts, objects and tools used by
Visual Basic. The main object in Visual Basic is called a form. When you open
a new project, you will start with a clear form that looks similar to this :

This form will eventually be incorporated into your program as a window. To


this form you add controls. Controls are things like text boxes, check boxes
and command buttons. Controls are added to your form by choosing them

23
from the Visual Basic "tool box" with the mouse and inserting them in the
form. Yours may look different, but the basic Visual Basic Tool Box looks like
this:

Once forms/controls are created, you can change the properties


( appearance, structure etc. ) related to those objects in that particular
objects properties window. From this window, you choose the property you
want to change from the list and change its corresponding setting. Here is an
example of a properties window:

24
Finally, you can add events to your controls. Events are responses to actions
performed on controls. For example, in the "Hello world" program sample on
this page, when you click on the command button on our form the event that
is triggered is the output of the message "Hello world" to the screen. Code
must be written to create an event. You can do this in Visual Basic's code
window. Yours will look similar to this (except of course, the body of the
sub-procedure where the actions are specified):

Once the code box is open, you select the object to create an event for and
the triggering action ( such as a certain mouse action ) from the drop down
menus in the code box. You can open a code box for a particular form by
choosing it from the project window and selecting the View Code button.
The project window contains a list of objects associated with that project.
Below is an example of a project window :

Once all your objects are created, you can combine them to form a single
executable program that can be run outside of the Visual Basic environment,
in Microsoft Windows.

25
26
2.5) FEATURES OF BACKEND: MS SQL SERVER 2000

Introduction

• Microsoft SQL Server 2000 includes powerful features to support


international operations and environments. Extensive multilingual
features make SQL Server 2000 a compelling database product and
applications platform. This article provides a complete overview of how to
use these features in a global context. This article is not limited to a list of
features but also will explain how international/multilingual requirements
can affect many aspects of a project.

• Microsoft SQL Server 2000 extends the performance, reliability, quality


and ease of use of SQL Server version 7.0. SQL Server 2000 includes
several new features that make it an excellent database platform for
large-scale online transactional processing (OLTP), data warehousing, and
e-commerce applications.

• The OLAP Services feature available in SQL server version 7.0 is now
called SQL Server 2000 Analysis Services. The term OLAP Services has
been replaced with the term Analysis Services. Analysis Services also
includes a new data mining component. The Repository component
available in SQL Server version 7.0 is now called Microsoft SQL Server
2000 Meta Data Services. References to the component now use the term
Meta Data Services. The term repository is used only in reference to the
repository engine within Meta Data Services.

Data types in SQL Server 2000:

• Non-Unicode Text Types : char, varchar, text

• Unicode Text Types : nvarchar, ntext

• Date/Time Types : date time, smalldatetime.

Query Execution scenarios:

27
• When evaluating a distributed query, SQL Server interacts with the OLE
DB provider in one or more of these scenarios:

• Remote query

• Indexed access

• Pure table scans

• UPDATE and DELETE statements

• INSERT statement

• Pass-through queries

Features of Backend:

Feature Description

Database Extend log shipping capabilities with the database mirroring


Mirroring solution. You will be able to use database mirroring to enhance
availability of your SQL Server systems by setting up automatic
failover to a standby server.

Online Restore With SQL Server 2005, database administrators are able to
perform a restore operation while an instance of SQL Server is
running. Online restore improves the availability of SQL Server
because only the data being restored is unavailable; the rest of
the database remains online and available.

Online Indexing The online index option allows concurrent modifications (updates,
Operations deletes, and inserts) to the underlying table or clustered index
data and any associated indexes during index data definition
language (DDL) execution. For example, while a clustered index
is being rebuilt, you can continue to make updates to the
underlying data and perform queries against the data.

Fast Recovery A new faster recovery option improves availability of SQL Server
databases. Administrators can reconnect to a recovering
database after the transaction log has been rolled forward.

28
Standards-based Any object, data source, or business intelligence component can
Information be exposed using standards-based protocols such as SOAP and
Access HTTP—eliminating the need for a middle-tier listener, such as IIS,
to access a Web services interface that is exposed by SQL Server
2005.

SQL Server SQL Server 2005 includes SQL Server Management Studio, a new
Management integrated suite of management tools with the functionality to
Studio develop, deploy, and troubleshoot SQL Server databases, as well
as enhancements to previous functionality.

Dedicated SQL Server 2005 provides a dedicated administrator connection


Administrator that administrators can use to access a running server even if the
Connection server is locked or otherwise unavailable. This capability enables
administrators to troubleshoot problems on a server by executing
diagnostic functions or Transact-SQL statements.

Snapshot Snapshot Isolation (SI) level is provided at the database level.


Isolation With SI, users can access the last committed row using a
transitionally consistent view of the database. This capability
provides greater scalability.

Data Data partitioning is enhanced with native table and index


Partitioning partitioning that enables efficient manageability of large tables
and indexes.

Replication For distributed databases, SQL Server 2005 provides


Enhancements comprehensive schema change (DDL) replication, next-
generation monitoring capabilities, built in replication from Oracle
to SQL Server, merge replication over https, and significant
merge replication scalability and performance improvements.
Additionally, the peer-to-peer transactional replication feature
improves support for data scale out using replication.

Feature Description

Hosted Common With SQL Server 2005 developers can create database objects
Language using familiar languages such as Microsoft Visual C# .NET and
Runtime Microsoft Visual Basic .NET. Developers can also create two new

29
objects—user-defined types and aggregates.

Native XML Native XML data can be stored, queried, and indexed in a SQL
Support Server database—allowing developers to build new classes of
connected applications around Web services and across any
platform or device.

ADO.NET version From new support for SQL Types to Multiple Active Result Sets
2.0 (MARS), ADO.NET in SQL Server 2005 evolves dataset access and
manipulation to achieve greater scalability and flexibility.

Security The security model in SQL Server 2005 separate users from
Enhancements objects, provides fine-grain access, and enables greater control of
data access. Additionally, all system tables are implemented as
views, providing more control over database system objects.

Transact-SQL SQL Server 2005 provides new language capabilities for


Enhancements developing scalable database applications. These enhancements
include error handling, recursive query capabilities, relational
operator PIVOT, APPLY, ROW_NUMBER and other row ranking
functions, and more.

Reliable Service Broker is a robust messaging infrastructure that provides


Messaging for reliable transactional delivery of critical messages between
Asynchronous servers—with the scalable high-performance that is expected
Applications with asynchronous queuing.

Visual Studio Tight integration with Microsoft Visual Studio and the .NET
Integration Framework streamlines development and debugging of data-
driven applications. Developers can build database objects, such
as stored procedures, using any .NET language and can
seamlessly debug across .NET and Transact-SQL (TSQL)
languages.

Web Services With SQL Server 2005 developers can develop Web services in
the database tier, making SQL Server a hypertext transfer
protocol (HTTP) listener and providing a new type of data access
capability for Web services-centric applications.

Embedded Use client-side reporting controls to embed real-time reports into

30
Reports an application at design time.

Full-Text Search SQL Server 2005 supports rich, full-text search applications.
Enhancements Cataloging capabilities provide greater flexibility over what is
cataloged. Query performance and scalability have been
improved dramatically, and new management tools provide
greater insight into the full-text implementation.

System Requirements:

• Microsoft Windows 95,Microsoft Windows 98,or Microsoft Windows NT


version 4.0 or later

• 40 MB of free disk space

• Microsoft Internet Explorer 5.0 or later

31
2.6) MODULES AND DESCRIPTION

LOGIN:

Allows user to enter his account by providing his ID and password to his
account. If the provided id or password is incorrect the fields are cleared and
user is asked to enter the id and password again.

NEW ACCOUNT CREATION:

If a new user is opening an account he must get the account id provided by


the admin and click on create an account in the login form to enter his/her
details in the fields provided. The user can select the type of account type
field which provides him with various types of accounts the bank is handling.

32
ACCOUNT DETAILS:

This module is directed as soon as the user enters his correct id and
password. It provides the summary of all the accounts with their account
number and the balance available in each account.

TRANSACTION DETAILS:

In this module the admin can see his transaction details also information’s
such as account id, name of the user his balance in a particular account is
displayed. Moreover it displays the users past few transactions done.

33
TRANSACTION CREDIT:

In this module the bank administrator transfers money into users account
when the user wishes to deposit money. This is done after the user deposits
the amount in the bank.

TRANSACTION DEBIT:

In this module the user can transfer amount from his account to another
account. This act can be considered as the transaction to withdraw amount.

34
The balance of the client should decrease by the amount and the recipients
balance should increase by the same.

35
3) DESIGN PHASE

36
3.0) PROJECT SYSTEM ARCHITECTURE

BANKING SYSTEM

LOGIN ACCOUNT DETAILS

ADD USER TRANSACTION SUMMARY

TRANSACTION CREDIT TRANSACTION DEBIT

37
3.1) UML DIAGRAMS FOR ONLINE BANKING

USE CASE DIAGRAM:

38
USE CASE SCENARIO:
USER LOGIN:

Allows user to enter his account by providing his ID and password to his
account. If the provided id or password is incorrect the fields are cleared and
user is asked to enter the id and password again.

WITHDRAW CASH:

In this module the user can transfer amount from his account to another
account. This act can be considered as the transaction to withdraw amount.
The balance of the client should decrease by the amount and the recipients
balance should increase by the same.

DEPOSIT CASH:

In this module the bank administrator transfers money into users account
when the user wishes to deposit money. This is done after the user deposits
the amount in the bank.

TRANSACTION DETAILS:

In this module the admin can see his transaction details also information’s
such as account id, name of the user his balance in a particular account is
displayed. Moreover it displays the users past few transactions done.

ACCOUNT DETAILS:

This module is directed as soon as the user enters his correct id and
password. It provides the summary of all the accounts with their account
number and the balance available in each account.

ACCOUNT CREATION:

If a new user is opening an account he must get the account id provided by


the admin and click on create an account in the login form to enter his/her
details in the fields provided. The user can select the type of account type
field which provides him with various types of accounts the bank is handling.

39
SEQUENCE DIAGRAM FOR LOGIN:

CUSTOMER USER BANK


INTERFACE DATABASE
Recieve (usrnam)

Recieve (passwrd)
validate (login details)
Return (validation result)

Display (validation result)

SEQUENCE DIAGRAM ACCOUNT DETAILS:

CUSTOMER USER BANK


INTERFACE DATABASE
Recieve (usrname)

Recieve (passwrd)

validate (login details)

Return (validation result)

View (validation result)

Account Details
Request (Account Details)
Return Details

View Details

40
SEQUENCE DIAGRAM FOR TRANSACTION DETAILS:

CUSTOMER USER BANK


INTERFACE DATABASE

Recieve (usrnam)

Recieve (passwrd)
validate (login details)
Return (validation result)

Display (validation result)

Transaction details

Request Transaction details

Return Details
View Details

SEQUENCE DIAGRAM FOR TRANSACTION DEPOSIT:

CUSTOMER USER BANK


INTERFACE DATABASE
Recieve (usrnam)

Recieve (passwrd)
validate (login details)
Return (validation result)

Display (validation result)

Transaction deposit(ammount)
request (transaction)

update account

Display (transaction result)


Show(result)

41
SEQUENCE DIAGRAM FOR TRANSACTION WITHDRAW:

CUSTOMER USER BANK


INTERFACE DATABASE
Recieve (usrnam)

Recieve (passwrd)
validate (login details)
Return (validation result)

Display (validation result)

Transaction withdraw(ammount)
request (transaction)
validate(amount)

update account
Display (transaction result)

Show(result)

SEQUENCE DIAGRAM FOR ACCOUNT CREATION:

CUSTOMER USER BANK


INTERFACE DATABASE
Recieve (usrnam)

Recieve (passwrd)
validate (login details)
Return (validation result)

Account Creation Form

Enter Details

Submit Details

Return result Update Database


View Result

42
COLLABORATION DIAGRAM FOR LOGIN:

CUSTOM
ER

1: Recieve (usrnam)
2: Recieve (passwrd)
5: Display (validation result)

3: validate (login details)


USER BANK
INTERFACE DATABASE
4: Return (validation result)

COLLABORATION DIAGRAM ACCOUNT DETAILS:

CUSTOM
ER

5: View (validation result) 1: Recieve (usrname)


9: View Details 2: Recieve (passwrd)
6: Account Details

3: validate (login details)


7: Request (Account Details)
USER BANK
INTERFACE DATABASE
4: Return (validation result)
8: Return Details
:

43
COLLABORATION DIAGRAM TRANSACTION DETAIS:

CUSTOM
ER

5: Display (validation result)


9: View Details
1: Recieve (usrnam)
2: Recieve (passwrd)
6: Transaction details

3: validate (login details)


7: Request Transaction details
USER BANK
INTERFACE DATABASE
4: Return (validation result)
8: Return Details

COLLABORATION DIAGRAM FOR TRANSACTION DEPOSIT:

CUSTOM
ER

1: Recieve (usrnam)
5: Display (validation result) 2: Recieve (passwrd)
10: Show(result) 6: Transaction deposit(ammount)
8: update account

3: validate (login details)


7: request (transaction)
USER BANK
INTERFACE DATABASE
4: Return (validation result)
9: Display (transaction result)

44
COLLABORATION DIAGRAM FOR TRANSACTION WITHDRAW:

CUSTOM
ER

1: Recieve (usrnam)
2: Recieve (passwrd)
5: Display (validation result) 6: Transaction withdraw(ammount)
11: Show(result) 8: validate(amount)
9: update account

3: validate (login details)


7: request (transaction)
USER BANK
INTERFACE DATABASE
4: Return (validation result)
10: Display (transaction result)

COLLABORATION DIAGRAM FOR ACCOUNT CREATION:

CUSTOM
ER

1: Recieve (usrnam)
2: Recieve (passwrd)
6: Enter Details
5: Account Creation Form
10: View Result 8: Update Database

3: validate (login details)


7: Submit Details
USER BANK
INTERFACE DATABASE
4: Return (validation result)
9: Return result

45
ACTIVITY DIAGRAM:

46
CLASS DIAGRAM:

47
STATECHART DIAGRAM FOR LOGIN:

STATECHART DIAGRAM ACCOUNT DETAILS:

48
STATECHART DIAGRAM FOR TRANSACTION DETAILS:

STATECHART DIAGRAM FOR TRANSACTION DEPOSIT:

Enter username and Verify from


password database

Return validation result

Validation
result

Request for transaction deposit

Update Enter
database amount

Show the new


balance

49
STATECHART DIAGRAM FOR TRANSACTION WITHDRAW:

STATECHART DIAGRAM FOR ACCOUNT CREATION:

validate

Enter user name Verify from


and password Database

Return validation withdraw

Enter account Request account registration Validation


details result

50
3.2) DATABASE RELATIONSHIP

51
3.3) FORM DESIGNS

LOGIN:

ACCOUNT REGISTRATION:

52
DEBIT:

CREDIT:

53
ACCOUNT DETAILS:

SUMMARY:

54
4) CODING

55
4.0) SAMPLE CODING WITH DATABASE CONNECTIVITY

LOGIN:
Private Sub cmdCancel_Click()
End
End Sub

Private Sub cmdOK_Click()


If (txtUserName.Text = "" Or txtPassword.Text = "") Then
MsgBox "enter username or password"
Else
If (txtUserName.Text = "1111" And txtPassword.Text = "admin")
Then
Form3.Label6.Visible = False
Form3.Label3.Visible = False
Form3.Label2.Visible = False
Form3.Label5.Visible = True
Form3.Label7.Visible = True
Me.Hide
Form3.Show
Else
Dim adoconn As ADODB.Connection
Dim constr As String
Set adoconn = New ADODB.Connection
adoconn.ConnectionString =
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist
Security Info=False;Initial Catalog=OnlineBanking"
adoconn.CursorLocation = adUseClient
adoconn.Open
Dim adorecset As ADODB.Recordset
Set adorecset = New ADODB.Recordset
Set adorecset = adoconn.Execute("select * from login
where accno='" & txtUserName.Text & "'")
If (txtPassword.Text = "" And txtUserName.Text = "") Then
MsgBox "Login not possible"
Else
If Not adorecset.EOF() Then
If (adorecset(1) = txtPassword.Text) Then
MsgBox "Login Successful", vbInformation,
"Sucessful"
Form3.Text14.Text = txtUserName.Text
Me.Hide
Form3.Show
Form3.Label5.Visible = False
Form3.Label7.Visible = False

56
txtUserName.Text = ""
txtPassword.Text = ""
Else
MsgBox "Login not success", vbCritical, "Error"
End If
Else
MsgBox "No record Found", vbCritical, "Error"
txtUserName.Text = ""
txtPassword.Text = ""
End If
End If
adoconn.Close
End If
End If
End Sub

Private Sub Label2_Click()


Dim adoconn As ADODB.Connection
Dim constr As String
Dim b As Integer

Set adoconn = New ADODB.Connection


adoconn.ConnectionString = "Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial
Catalog=OnlineBanking"
adoconn.CursorLocation = adUseClient
adoconn.Open
Dim adorecset As ADODB.Recordset
Set adorecset = New ADODB.Recordset
adorecset.Open "accno", adoconn, adOpenDynamic, adLockOptimistic,
adCmdTable
Text2.Text = adorecset("accno")
b = Text2.Text + 1
adorecset("accno") = b
adorecset.Update
Form2.Text14.Text = Text2.Text
Me.Hide
Form2.Show
End Sub

57
ACCOUNT REGISTRATION CODE:

Private Sub Command1_Click()


Dim adoconn As ADODB.Connection
Dim constr As String
Set adoconn = New ADODB.Connection
adoconn.ConnectionString = "Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=OnlineBanking"
adoconn.CursorLocation = adUseClient
adoconn.Open
Dim adorecset As ADODB.Recordset
Dim adorecset1 As ADODB.Recordset
Set adorecset = New ADODB.Recordset
Set adorecset1 = New ADODB.Recordset
adorecset.Open "login", adoconn, adOpenDynamic, adLockOptimistic,
adCmdTable
adorecset1.Open "registration", adoconn, adOpenDynamic,
adLockOptimistic, adCmdTable
adorecset.AddNew
adorecset1.AddNew
If Text8.Text = Text9.Text Then
adorecset("password") = Text8.Text
adorecset("accno") = Text14.Text
adorecset1("fullname") = UCase(Text1.Text)
adorecset1("gender") = Combo2.Text
adorecset1("DOB") = Text13.Text
adorecset1("email") = Text10.Text
adorecset1("addr") = Text2.Text
adorecset1("city") = Text3.Text
adorecset1("state") = Text4.Text
adorecset1("pincode") = Text5.Text
adorecset1("accno") = Text14.Text
adorecset1("teleph") = Text6.Text
adorecset1("secuqus") = Text11.Text
adorecset1("secuans") = Text12.Text
adorecset1("acctype") = Combo1.Text
If MsgBox("Create An Account", vbYesNoCancel + vbQuestion,
"UPDATE") = vbYes Then
adorecset.Update
adorecset1.Update
Me.Hide
Form1.Show
Else
adorecset.CancelUpdate
adorecset1.CancelUpdate
MsgBox "no record added", vbCritical, "ERROR"

58
End If
Else
MsgBox "Passwords doesnt match, Pls type password again", vbCritical,
"ERROR"
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text11.Text = ""
Text12.Text = ""
Text13.Text = ""
Text14.Text = ""
Combo1.Text = ""
Combo2.Text = ""
End If
Exit Sub
End Sub

Private Sub Form_Load()


Combo1.AddItem "SAVINGS"
Combo2.AddItem "MALE"
Combo2.AddItem "FEMALE"
End Sub

DEBIT CODE:

Private Sub Command1_Click()


Dim n As Double
Dim a As Double
Dim b As Double
Dim X As Double
Dim Y As Double
Dim adoconn As ADODB.Connection
Dim constr As String
Set adoconn = New ADODB.Connection
adoconn.ConnectionString = "Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=OnlineBanking"
adoconn.CursorLocation = adUseClient

59
adoconn.Open
Dim adorecset As ADODB.Recordset
Dim adorecset1 As ADODB.Recordset
Set adorecset = New ADODB.Recordset
Set adorecset1 = New ADODB.Recordset
adorecset.Open "summary", adoconn, adOpenDynamic, adLockOptimistic,
adCmdTable
adorecset1.Open "balance", adoconn, adOpenDynamic, adLockOptimistic,
adCmdTable
adorecset.AddNew
If (Text5.Text = "" Or Text7.Text = "" Or Text8.Text = "") Then
MsgBox "Enter the missing details", vbCritical
Text5.SetFocus
Else
Text4.Text = Date
a = Text6.Text
b = Text5.Text
If (b > a) Then
MsgBox "Transaction cannot be done"
Else
n=a-b
Y = Val(Text17.Text) + b
Text18.Text = Text8.Text
Dim c As Integer
Adodc2.Recordset.MoveFirst
Do While Adodc2.Recordset.EOF = False
c=0
If (Adodc2.Recordset.Fields("accno") = Text8.Text) Then
c=1
Exit Do
Else
Adodc2.Recordset.MoveNext
End If
Loop
If c = 1 Then
Text19.Text = Adodc2.Recordset.Fields(1)
z = Text19.Text + b
Adodc2.Recordset.Fields(0) = Text18.Text
Adodc2.Recordset.Fields(1) = z
Dim s As Integer
Adodc1.Recordset.MoveFirst
Do While Adodc1.Recordset.EOF = False
s=0
If (Adodc1.Recordset.Fields("toaccno") = Text8.Text) Then
s=1
Exit Do

60
Else
Adodc1.Recordset.MoveNext
End If
Loop
If s = 1 Then
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields(0) = Text8.Text
Adodc1.Recordset.Fields(1) = Text9.Text
Adodc1.Recordset.Fields(2) = Text4.Text
Adodc1.Recordset.Fields(3) = Text5.Text
Adodc1.Recordset.Fields(4) = "Credit"
Adodc1.Recordset.Fields(5) = z
adorecset.Fields("balance") = n
adorecset1.Fields("balance") = n
adorecset("accno") = Text9.Text
adorecset("toaccno") = Text8.Text
adorecset("date") = Text4.Text
adorecset("amount") = Text5.Text
adorecset("transaction") = Text15.Text
adorecset.Update
adorecset1.Update
Adodc1.Recordset.Update
Adodc2.Recordset.Update
MsgBox "your transaction successfully done", vbInformation
Text6.Text = n
Adodc1.Refresh
Adodc2.Refresh

End If
End If
End If
End If
End Sub

61
CREDIT CODE:

Private Sub Command4_Click()


Dim n As Double
Dim a As Double
Dim b As Double
Dim adoconn As ADODB.Connection
Dim constr As String
Set adoconn = New ADODB.Connection
adoconn.ConnectionString = "Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=OnlineBanking"
adoconn.CursorLocation = adUseClient
adoconn.Open
Dim adorecset As ADODB.Recordset
Dim adorecset1 As ADODB.Recordset
Set adorecset = New ADODB.Recordset
adorecset.Open "summary", adoconn, adOpenDynamic, adLockOptimistic,
adCmdTable
Set adorecset1 = New ADODB.Recordset
adorecset1.Open "balance", adoconn, adOpenDynamic, adLockOptimistic,
adCmdTable
adorecset.AddNew
If (Text10.Text = "" Or Text11.Text = "") Then
MsgBox "Enter the missing details", vbCritical
Text11.SetFocus
Else
a = Text11.Text
b = Text12.Text
n=a+b
adorecset1.Fields("balance") = n
adorecset.Fields("balance") = n
adorecset("accno") = Text13.Text
adorecset("toaccno") = Text16.Text
adorecset("date") = Text10.Text
adorecset("amount") = Text11.Text
adorecset("transaction") = Label7.Caption
adorecset.Update
adorecset1.Update
MsgBox "your transaction successfully done", vbInformation
Text12.Text = n
End If
End Sub

62
63
5) SOFTWARE TESTING

64
5.0) SOFTWARE TESTING AND QUALITY ASSURANCE

SOFTWARE TESTING:
Software testing is an investigation conducted to provide stakeholders with
information about the quality of the product or service under test. Software
testing also provides an objective, independent view of the software to allow
the business to appreciate and understand the risks at implementation of the
software. Test techniques include, but are not limited to, the process of
executing a program or application with the intent of finding software bugs.

Software testing can also be stated as the process of validating and verifying
that a software program/application/product:

• It meets the business and technical requirements that guided its


design and development;
• It works as expected; and
• It can be implemented with the same characteristics.

Software testing, depending on the testing method employed, can be


implemented at any time in the development process. However, most of the
test effort occurs after the requirements have been defined and the coding
process has been completed. As such, the methodology of the test is
governed by the software development methodology adopted.

Test Strategy:

How we plan to cover the product so as to develop an adequate assessment


of quality.

A good test strategy is:

• Specific

• Practical

• Justified

65
The purpose of a test strategy is to clarify the major tasks and challenges of
the test project. Test Approach and Test Architecture are other terms
commonly used to describe what I’m calling test strategy.

Different software development models will focus the test effort at different
points in the development process. Newer development models, such
as Agile, often employ test driven development and place an increased
portion of the testing in the hands of the developer, before it reaches a
formal team of testers. In a more traditional model, most of the test
execution occurs after the requirements have been defined and the coding
process has been completed.

Testing objectives include:


• Testing is a process of executing a program with the intent of finding
an error.

• A good test case is one that has a high probability of finding an as yet
undiscovered error.

• A successful test is one that uncovers an as yet undiscovered error.

Testing should systematically uncover different classes of errors in a


minimum amount of time and with a minimum amount of effort. A secondary
benefit of testing is that it demonstrates that the software appears to be
working as stated in the specifications. The data collected through testing
can also provide an indication of the software's reliability and quality. But,
testing cannot show the absence of defect -- it can only show that software
defects are present.

66
67
QUALITY ASSURANCE:
The QA toolbox is filled with things that make validation possible and easier.
It includes automated testing tools and the skills necessary to
validate APPLICATIONS, database values, and workflows when there is no
easy way to validate the correct answer.

The first step is patience:

Every test script in every test case must be run by hand. This process is
often exhausting but necessary to validate both the software being
developed but also the test scripts themselves. Screen capture utilities and
screen annotation tools can be very helpful in the process of communicating
the errors.

The next step is automated testing tools:

. These tools allow you to run a test script without the need to be manually
banging out keys on a keyboard or clicks of a mouse. These tools come with
recording software to allow you to record a set of steps and convert it into a
scripting language. The scripting language allows the steps to be
customized. By customizing the script from the recorded script it is possible
to parameterize the set of steps so that different data can be used. At least
one automated testing suite should be in your arsenal if you're a serious QA
professional.

The Good, the Bad, and the Ugly:

Never was it more true that each role is met with good things, bad things,
and truly ugly things as it is in the QA role.

The role in the right environment is a shining example of how one person, or
a few people, can make an impact. However, in the wrong situation it can
leave someone bitter, frustrated, and burnt out. Here are just a few of the
good, bad, and ugly things about the QA role.

• Good Quality - The QA professional can take pride in their ability to


instill quality in the result of the software development effort. More
than any other individual the QA professional can make sure that a
quality product is being produced.

68
• Good Involvement - Because all aspects of a system have to be
assured for quality, the QA role often allows a person to be involved in
many phases of a project, including the early ones.

• Bad: Don't shoot the messenger - One of the challenges is that the QA
role is designed to be the bearer of bad news. Because of this it's easy
for others on the software development team to develop a negative
attitude towards the QA professional. That means a lot of work on the
QA professional part to keep everyone in a positive frame of mind.

• Ugly: Balancing the amount of testing done - The ugly part of the QA
role is realizing that there's only a certain amount of quality that is
appropriate for any given program. Some programs, such as those
dealing with life or death situations, require substantial testing.
However, many of the systems that we operate with today are not life-
and-death situations and require only an appropriate level of quality
assurance. The ugly part is that no two people will draw the line; on
how much quality assurance must be done, in the same place.

Testing generally occurs after other things are done. This means that
testing is often close to the deadline of when something is due to be
completed. If others are late in completing their tasks, the QA person
may have their time squeeze d to near nothing.

The quality assurance role is one of the most undervalued and potentially
impact roles in the software development process.

Despite the public failures of software there is little progress in making the
quality assurance role takes its rightful position of importance. Cost
constraints are forcing organizations of all sizes to release earlier and earlier
betas that encourage users to find the quality problems of the software on
their own. In order for the software development industry to gain the
professional respect it needs the position of the quality assurance role must
be elevated.

Quality Assurance Standards:

These standards exist because many large organizations will not buy from
suppliers who cannot give them assurance that they have system which
support quality.

Names of QA Standards:

69
ISO 9001-Quality systems-Model for Quality assurance etc.

GMP -code of good manufacturing practice(GMP)

NATA -National Association of Testing Laboratories

70
5.1) TESTING METHODOLOGIES
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 behavior 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 product putting the product through its paces.

Testing objectives include:

• Testing is a process of executing a program with the intent of finding


an error.

• A good test case is one that has a high probability of finding an as yet
undiscovered error.

• A successful test is one that uncovers an as yet undiscovered error.

Testing should systematically uncover different classes of errors in a


minimum amount of time and with a minimum amount of effort. A secondary
benefit of testing is that it demonstrates that the software appears to be
working as stated in the specifications. The data collected through testing
can also provide an indication of the software's reliability and quality. But,
testing cannot show the absence of defect -- it can only show that software
defects are present.

TYPES OF TESTING:
STATIC TESTING:

The Verification activities fall into the category of Static Testing. During static
testing, you have a checklist to check whether the work you are doing is
going as per the set standards of the organization. These standards can be
for Coding, Integrating and Deployment. Reviews, Inspection's and
Walkthrough's are static testing methodologies.

71
DYNAMIC TESTING:

Dynamic Testing involves working with the software, giving input values and
checking if the output is as expected. These are the Validation activities. Unit
Tests, Integration Tests, System Tests and Acceptance Tests are few of the
Dynamic Testing methodologies.

BLACK BOX TESTING:

Knowing the specific function the product has been designed to perform,
tests can be planned and conducted to demonstrate that each function is
fully operational, and to find and correct the errors in it.

Black-box tests are used to demonstrate that the software functions are
operational; that input is properly accepted and output is correctly produced;
and that the integrity of external information (e.g., data files) is maintained.
It enables the developer to derive sets of input conditions (test cases) that
will fully exercise all functional requirements for a program.

It is the test method in which the user always test the application
functionality he need not to bother about the application structure because
of the customer always looks at the screens how it is developed. Usually Test
Engineer will do the Black Box Testing.

Black-box testing uncovers errors of the following categories:

• In-correct or missing functions


• Interface errors
• Errors in the data structures or external data base access
• Performance errors
• Initialisation and termination errors

Black-box testing is applied during the later stages of the testing as it


purposely disregards control structure and attention is focused on the
problem domain

WHITE BOX TESTING:

72
Knowing the internal working of a product, tests can be conducted to
ensure that the internal operation performs according to specification and all
internal components are being adequately exercised and in the process,
errors if any are eliminated.

White-box testing of software is designed for close examination of procedural


detail. Providing test cases that exercise specific sets of conditions and/or
loops tests logical paths through the software

Unfortunately, even for few LOC, the numbers of paths become too many
and present certain logistic problems. Due to this, a limited number of
important logical paths can be selected and exercised. Important data
structures can be probed for validity.

White box testing is a test case design method that uses the control
structure of the procedural design to derive test cases.

The test cases derived from white-box testing methods will:

• Guarantee that all independent paths within a module have been


exercised at least ones.

• Exercise all logical decisions on their true and false sides.

• Execute all loops at their boundaries and within their operational


bounds.

• Exercise internal data structures to ensure their validity.

White box testing needs to be adopted under Unit level testing strategy. It
can be adapted to a limited extent under integration testing if situation
warrants for it. Basis path testing and control structure testing are some of
the most widely used white-box testing techniques.

REQUIREMENTS TESTING:

Requirements seem to be ephemeral. They flit in and out of projects, they


are capricious, intractable, unpredictable and sometimes invisible. When
gathering requirements we are searching for all of the criteria for a system's
success. We throw out a net and try to capture all these criteria. Using
Blitzing, Rapid Application Development (RAD), Joint Application
Development (JAD), Quality Function Deployment (QFD), interviewing,

73
apprenticing, data analysis and many other techniques, we try to snare all of
the requirements in our net.

REGRESSION TESTING:

Regression testing is any type of software testing which seeks to uncover


regression bugs. Regression bugs occur whenever software functionality that
previously worked as desired, stops working or no longer works in the same
way that was previously planned. Typically regression bugs occur as an
unintended consequence of program changes.

PARALLEL TESTING:

As a test engineer, you may have explored ways to enhance test system
performance in the past though parallel testing. However, the latest off-the-
shelf test management software tools simplify parallel test system
implementation. These tools increase test throughput and drive down
test system costs.

VOLUME TESTING:

Volume Testing belongs to the group of non-functional tests, which are often
misunderstood and/or used interchangeably. Volume testing refers to testing
a software application for a certain data volume. This volume can in generic
terms be the database size or it could also be the size of an interface file that
is the subject of volume testing. For example, if you want to volume test
your application with a specific database size, you will explode your
database to that size and then test the application's performance on it.

Another example could be when there is a requirement for your application


to interact with an interface file (could be any file such as .dat, .xml); this
interaction could be reading and/or writing on to/from the file. You will create
a sample file of the size you want and then test the application's
functionality with that file to check performance.

74
STRESS TESTING:

Stress testing deals with the quality of the application in the environment.
The idea is to create an environment more demanding of
the application than the application would experience under normal
workloads. This is the hardest and most complex category of testing to
accomplish and it requires a joint effort from all teams.

A test environment is established with many testing stations. At each station,


a script is exercising the system. These scripts are usually based on the
regression suite. More and more stations are added, all simultaneous
hammering on the system, until the system breaks. The system is repaired
and the stress test is repeated until a level of stress is reached that is higher
than expected to be present at a customer site.

Race conditions and memory leaks are often found under stress testing. A
race condition is a conflict between at least two tests. Each test works
correctly when done in isolation. When the two tests are run in parallel, one
or both of the tests fail. This is usually due to an incorrectly managed lock.

A memory leak happens when a test leaves allocated memory behind and
does not correctly return the memory to the memory allocation scheme. The
test seems to run correctly, but after being exercised several times,
available memory is reduced until the system fails.

PERFORMANCE TESTING:

System performance is generally assessed in terms of response time and


throughput rates under differing processing and configuration conditions. To
attack the performance problems, there are several questions should be
asked first:

• How much application logic should be remotely executed?

• How much updating should be done to the database server over the
network from the client workstation?

• How much data should be sent to each in each transaction?

According to Hamilton, the performance problems are most often the result
of the client or server being configured inappropriately. The best strategy for
improving client-sever performance is a three-step process. First, execute
controlled performance tests that collect the data about volume, stress, and
loading tests. Second, analyze the collected data. Third, examine and tune

75
the database queries and, if necessary, provide temporary data storage on
the client while the application is executing.

76
5.2) TEST PLAN
Test Plan is the schedule for entire Testing process. The Test Plan describes
the approach to all development, unit, integration, system, qualification and
acceptance testing needed to complete a project properly. You should be
aware that many people use the term 'test plan' to describe a document
detailing individual tests for a component of a system. We are introducing
the concept of high level test plans to show that there are a lot more
activities involved in effective testing than just writing test cases. Test plan
involves the following stages they are

Test plan schedule:

S.NO PHASE PERIOD

1 ESTABLISH TEST PLAN 1 DAY

2 DESIGN TEST CASE 2 DAYS

3 EXECUTE TEST 5 DAYS

4 WRITE TEST REPORT 3 DAYS

5 REMOVE SOFTWARE DEFECT 3 DAYS

Test Design:

After completion of test plan finalization, selected test engineers involved in


required training sessions to understand business logic. This type of training
provided by business analyst or functional lead or business consultant. After
completion of required training sessions test engineers are preparing test
cases for responsible modules There are 3 methods to prepare core level
test cases (UI, Functionality, Input domain, error handling, and manual
support testing). They are

1)Business Logic based test case design (80%)

2)Input domain based test case design (15%)

3)User Interface based test case design (5%)

77
Test Case Format:

During test design, test enggs are preparing test case documents in IEEE
format.

Test Case ID: Unique name or number

• Test Case Name: Name of the test condition

• Feature to be tested: Module or feature or service or component

• Test Suite ID: Batch name, in which this case is a member

• Priority: Importance of test case

• Test Environment: Require H/W and S/W including testing tools

• Test Effort (person / hr): Time to execute this case, ex 20 min

• Test Duration: Date & Time

• Test Setup: Necessary tasks to do before starts this case execution

• Test Procedure *: Step by step procedure from base state to end state

• Test Case Pass or Fail Criteria : When this case is pass, when this is
case is fail?

Test Execution:

After completion of all possible test cases writing for responsible modules
and their review, testing team concentrate on test execution to detect defect
in build.

Software Testing Development Life Cycle:

• Obtain requirements, functional design, and internal design


specifications and other necessary documents

• Obtain schedule requirements

• Determine project-related personnel and their responsibilities,


reporting requirements, required standards and processes (such as
release processes, change processes, etc.)

78
• Identify application's higher-risk aspects, set priorities, and determine
scope and limitations of tests

• Determine test approaches and methods - unit, integration, functional,


system, load, usability tests, etc.

• Determine test environment requirements (hardware, software,


communications, etc.)

• Determine testware requirements (record/playback tools, coverage


analyzers, test tracking, problem/bug tracking, etc.)

• Determine test input data requirements

• Identify tasks, those responsible for tasks

• Set schedule estimates, timelines, milestones

• Determine input equivalence classes, boundary value analyses, error


classes

• Prepare test plan document and have needed reviews/approvals

• Write test cases

• Have needed reviews/inspections/approvals of test cases

• Prepare test environment and testware, obtain needed user


manuals/reference documents/configuration guides/installation guides,
set up test tracking processes, set up logging and archiving processes,
set up or obtain test input data

• Obtain and install software releases

• Perform tests

• Evaluate and report results

• Track problems/bugs and fixes

• Retest as needed

• Maintain and update test plans, test cases, test environment, and
testware through life cycle

79
Feasibility Study : A process that determines whether the solution under
analysis is achievable, given the organization's resources and constraints.

Ad Hoc Testing: A testing phase where the tester tries to 'break' the
system by randomly trying the system's functionality. Can include negative
testing.

Unit Testing: Testing of a module for typographic, syntactic, and logical


errors, for correct implementation of its design, and for satisfaction of its
requirements (or) Testing conducted to verify the implementation of the
design for one software element; e.g., a unit or module; or a collection of
software elements.

Functional Testing: Testing the features and operational behavior of a


product to ensure they correspond to its specifications. Testing that ignores
the internal mechanism of a system or component and focuses solely on the
outputs generated in response to selected inputs and execution conditions.

Integration Testing: Testing of combined parts of an application to


determine if they function together correctly. Usually performed after unit
and functional testing. This type of testing is especially relevant to
client/server and distributed systems

Recovery Testing: Confirms that the program recovers from expected or


unexpected events without loss of data or functionality. Events can include
shortage of disk space, unexpected loss of communication, or power out
conditions.

System Testing: The process of testing an integrated hardware and


software system to verify that the system meets its specified requirements.
Such testing may be conducted in both the development environment and
the target environment.

Regression Testing: Retesting a previously tested program following


modification to ensure that faults have not been introduced or uncovered as
a result of the changes made.

End-to-End testing: Testing a complete application environment in a


situation that mimics real-world use, such as interacting with a database,
using network communications, or interacting with other hardware,
applications, or systems if appropriate.

80
Acceptance Testing: Testing conducted to enable a user/customer to
determine whether to accept a software product. Normally performed to
validate the software meets a set of agreed acceptance criteria.

Alpha Testing: Simulated or actual operational testing by potential


users/customers or an independent test team at the developers’ site, but
outside the development organization. Alpha testing is often employed for
off-the-shelf software as a form of internal acceptance.

Beta Testing: Operational testing by potential and/or existing


users/customers at an external site not otherwise involved with the
developers, to determine whether or not a component or system satisfies the
user/customer needs and fits within the business processes. Beta testing is
often employed as a form of external acceptance testing for off-the-shelf
software in order to acquire feedback from the market.

81
5.3 TEST CASE TEMPLATE

Sl no Test Description Test data Expected Actual results Statu


case results s
id
1 T001 A valid account Acc num : 4231 The user name The user name Pass
number and the password :xxxx is found and and password
password is the system are checked and
given views the logged in to the
details from next form
the database.
2 T002 A wrong Acc num: 4546 A dialog box A dialog box Pass
account number password :xxxx asking to enter asking to enter a
and password is a valid valid account
given account number or
number or password is
password displayed
must appear
3 T003 An amount less Balance:5000 Dialog box Dialog box Pass
than the password:2000 saying saying
balance is transaction transaction
withdrawn complete must complete
appear and appears and
update the update the
clients clients database
database
4 T004 An amount Balance:5000 A dialog box A dialog box Pass
larger than the Amount:6000 saying invalid saying invalid
balance is transaction transaction
withdrawn must appear appears
5 T005 The summary Transaction The past The past few Pass
details is summary transactions of transaction
requested button is the client must details are
clicked be displayed displayed
6 T006 The admin Acc no:4231 The clients The clients Pass
requests for account account details
client details details with his with his past few
past few transactions is
transactions displayed
must be
displayed
7 T007 The admin Balance:5000 The clients The clients Pass
deposits money Amount:2000 account must account is

82
into users be credited credited with the
account. with the amount
amount

Sl no Test Description Test data Expected Actual results Statu


case results s
id
8 T008 Creating a new The fields to be The fields to The previously Fail
account. filled are be filled are entered data is
displayed displayed displayed.
9 T009 A new account User enters an A new entry is A new entry is Pass
is created. existing made in the made in the
username and database database
password
details.
10 T010 A new account The full name is Should give an Stores the part of Fail
is created. larger than the error the full name
size allocated message. that is allowed.
11 T011 Balance after Negative Should not Calculates the Fail
credit and Debit values are accept the balance and
transaction. given in the value. updates the
amount fields. database.
12 T012 Account details The admin The data is The data is Pass
wishes to see retrieved from retrieved from
the individual the database the database and
account details. and displayed. displayed

83
84
6) MAINTENANCE

85
6.0) MAINTENANCE AND ITS TYPES

The processes of supporting production software to detect and correct faults,


optimize performance, and ensure appropriate availability to end-users. The
key software maintenance issues are both managerial and technical. Key
management issues are: alignment with customer priorities, staffing, which
organization does maintenance, estimating costs. Key technical issues are:
limited understanding, impact analysis, testing and maintainability
measurement.

MAINTENANCE TYPES:

1.Breakdown maintenance

It means that people waits until equipment fails and repair it. Such a thing
could be used when the equipment failure does not significantly affect the
operation or production or generate any significant loss other than repair
cost.

2.Preventive maintenance ( 1951 )

It is a daily maintenance ( cleaning, inspection, oiling and re-tightening ),


design to retain the healthy condition of equipment and prevent failure
through the prevention of deterioration, periodic inspection or equipment
condition diagnosis, to measure deterioration. It is further divided
into periodic maintenance and predictive maintenance. Just like human
life is extended by preventive medicine, the equipment service life can be
prolonged by doing preventive maintenance.

2a. Periodic maintenance ( Time based maintenance - TBM)

Time based maintenance consists of periodically inspecting, servicing and


cleaning equipment and replacing parts to prevent sudden failure and
process problems.

2b. Predictive maintenance

This is a method in which the service life of important part is predicted based
on inspection or diagnosis, in order to use the parts to the limit of their
service life. Compared to periodic maintenance, predictive maintenance is
condition based maintenance. It manages trend values, by measuring and
analyzing data about deterioration and employs a surveillance system,

86
designed to monitor conditions through an on-line system.

3.Corrective maintenance ( 1957 )

It improves equipment and its components so that preventive maintenance


can be carried out reliably. Equipment with design weakness must be
redesigned to improve reliability or improving maintainability

4.Maintenance prevention ( 1960 )

It indicates the design of a new equipment. Weakness of current machines


are sufficiently studied ( on site information leading to failure prevention,
easier maintenance and prevents of defects, safety and ease of
manufacturing ) and are incorporated before commissioning a new
equipment.

87
6.1 INCREMENTAL DEVELOPMENT – SOFTWARE
MAINTENANCE

Incremental development is a method of software development in which the


process is broken into increments. An increment is performed for each new
feature added to the product. At the beginning of an increment, there is a
meeting to plan out steps to be taken during the process. During these
meetings, the developers and customers discuss user requirements, plan
steps to be taken, and estimate costs. Incremental development implements
just-in-time planning, in which decisions are made as changes occur. The
following figure shows how an incremants works in the maintenance phase

88
6.2 MAINTENANCE COST IN SOFTWARE DEVELOPMENT
Software Life Cycle

Requirement Analysis
(3%)

Specification (3%)

Development
Design (5%)

Coding (7%)

Testing (15%)

Operations and
Production Phase
Maintenance (67%)

Here Percentage indicates Relative Costs

89
7) CONCLUSION

7.0) CONCLUSION

90
As the world becomes more of a global village being ruined by paperless
systems, the idea of a cashless society is the hope of the future. Thus more
innovations will still evolve which will make cashless transactions easily
accessible and affordable.

“Banking Software " keeps the day by day tally record as a complete banking
system. It can keep the information of bank employee, transactions, loan
solution, ATM information and account information. The exciting part of this
project is; it displays the employee details, payment details, loan details and
transaction details.

7.1) FUTURE ENHANCEMENTS

• Make the application for online usage.

• Better user friendly interface.

• Provide access to all banks available.

• Allow ATM transactions and loan applications.

• Globalize banking system.

91
8) Reference
1. Ayo Charles. K and Babajide Daniel O, 2006, Designing a Reliable
Epayment System

2. www.google.com

3. www.wilkipedia.com

4. www.scribd.com

5. www.onestoptesting.com

6. www.softwaretestinghelp.com

92
APPENDIX-A-SCREENSHOTS
LOGIN:

REGISTRATION:

93
CREDIT:

DEBIT:

94
SUMMARY:

CLIENT ACCOUNT DETAILS:

95
APPENDIX 2-DATABASE TABLES
LOGIN:

BALANCE:

96
REGISTRATION:

SUMMARY:

97
98

You might also like