Anda di halaman 1dari 36



Project Based Learning (PBL)

Course: Data Structures & Algorithms (CSE-212)
III SEM ,B.Tech CSE-1 ( Batch 2014-15)

Submitted By
Shubham Lal (1413101273)
Kishor Kumar (1413101139)

Under the supervision of

Mr. Ashwini Kumar
Assistant Professor


November, 2015


I hereby certify that the work which is being presented in the Project Based Learning (PBL)
entitled, “Software Engineering”, in partial fulfillment of the requirements for the award of
degree of Bachelor in Technology in Computer Science and Engineering submitted in School of
Computing Science and Engineering of Galgotias University, Gr. Noida, is an authentic record of
my own work carried out under the supervision of Mr. Ashwini Kumar and refers other
researcher’s works which are duly listed in the reference section.

The matter presented in this project has not been submitted for the award of any other degree of
this or any other university.

Shubham Lal(1413101273)
Kishor Kumar(1413101139)

This is to certify that the above statement made by the candidate is correct and true to the best of
my knowledge.


Assistant Proffesor
School of Computing Science and Engineering
Galgotias University
Gr. Noida, India-201306

Countersigned by


Program Chair CSE
School of Computing Science and Engineering
Galgotias University
Gr. Noida, India-201306

I would like to take this opportunity to express my profound sense of gratitude and respect to all
those who helped me throughout the duration of this project. GALGOTIAS UNIVERSITY in
particular has been the source of inspiration for me.

I acknowledge the effort of those who have contributed significantly to my project.

I feel privileged to offer my sincere thanks and deep sense of gratitude to supervision of Mr.
Ashwini Kumar as project guide, for expressing his confidence in me by letting me work on a
project of this magnitude and using the latest technologies and providing his support, help &
encouragement in implementing this Project. I would also like to thank Dr. Parma Nand,
Professor & Dean, School of Computing Science & Engineering for providing me opportunity to
work on this project.
S.No. Description Page
i. Acknowledgement
ii. Certificate
1.2. Motivation
1.3. Problem definition
1.4. Objective of Project
1.5. Limitations of project
2.1. Introduction
2.2. Existing Banking System
2.3. Disadvantages of Existing System
2.4. Proposed System
2.5. Conclusion
3.1. Introduction
3.2. Software requirement Specification
3.2.1. Software requirement
3.2.2. Hardware requirement
3.3. Content diagram of Projet
3.4. Algorithms and Flowcharts
3.5. Conclusion
4.1. Introduction
4.2. ER diagram
4.3. Module Design and organization
4.4. Conclusion
5.1. Introduction
5.2. Explanation of Key functions
5.2.1. Result Analysis
5.3. Conclusion
6.1. Introduction
6.2. Design of test cases and scenarios
6.3. Validation
6.4. Conclusion
During the past several decades personnel function has been transformed from a relatively
obscure record keeping staff to central and top level management function. There are many
factors that have influenced this transformation like technological advances, professionalism, and
general recognition of human beings as most important resources.
A computer based management system is designed to handle all the primary information
required to calculate monthly statements of customer account which include monthly statement
of any month. Separate database is maintained to handle all the details required for the correct
statement calculation and generation.
This project intends to introduce more user friendliness in the various activities such as record
updation, maintenance, and searching. The searching of record has been made quite simple as all
the details of the customer can be obtained by simply keying in the identification or account
number of that customer. Similarly, record maintenance and updation can also be accomplished
by using the account number with all the details being automatically generated. These details are
also being promptly automatically updated in the master file thus keeping the record absolutely
The entire information has maintained in the database or Files and whoever wants to retrieve
can’t retrieve, only authorization user can retrieve the necessary information which can be easily
be accessible from the file. This system provides fast, efficient,reliable and User friendly
interfaces in banking and has no chance of losing data while processing of user data i.e.
customer account transactions. This software provides a good user interface such that a user of
basic computer knowledge can operate the application. It also reduces effort done by the
accountant and also reduces the load of real time computation. This software enables faster
transaction like new account creation, withdrawal of cash from the account, deposit of cash to
the account, checking account balance of the account holder even if there are large amount of
data in the system database.


A computer based management system is designed to handle all the primary information
required to calculate monthly statements of customer account which include monthly statement
of any month. Separate database is maintained to handle all the details required for the correct
statement calculation and generation.
This project intends to introduce more user friendliness in the various activities such as record
updation, maintenance, and searching. The searching of record has been made quite simple as all
the details of the customer can be obtained by simply keying in the identification or account
number of that customer. Similarly, record maintenance and updation can also be accomplished
by using the account number with all the details being automatically generated. These details are
also being promptly automatically updated in the master file thus keeping the record absolutely
The main objective of our project is providing the different typed of customers facility, the main
objective of this system is to find out the actual customer service. Etc.
 It should fulfill almost all the process requirements of any Bank.
 It should increase the productivity of bank by utilizing the working hours more and
more, with minimum manpower.
This project includes the entire upgraded feature required for the computerization banking
system. This system is very easy to use, so that any user can use without getting pre-knowledge
about this. Its very much user friendly and meet almost all daily working process requirements.
This system is completely GUI based and can be use by mouse and as well as keyboard. This
system is melded in such a way that has got all features to upgrade without making much change
in existing components.


Technology has changed the way many tech-savvy customers do their banking. The onset of
online banks has made it possible for customers to conduct all banking virtually, without ever
having to visit a brick-and-mortar location. Choosing between online banking and traditional
banking is mainly a matter of preference, but the latter does offer plenty of features many
customers would consider a major disadvantage.

Limited Accessibility
Accessibility at traditional banks is limited, as you can only conduct business at their brick-and-
mortar locations. If you’re traveling or unable to make it into the location during standard hours
of operation, you won’t be able to do business.
Less Efficient
Getting in the car, driving to a bank and waiting in line to be served takes up your valuable time.
It is more efficient to do your banking online, where you can open new accounts, set up auto bill
pay, check account balances and transfer funds all from your own computer.

2.1 Introduction

System analysis is a process of gathering and interpreting facts, diagnosing
problems and the information to recommend improvements on the system. It is a
problem solving activity that requires intensive communication between the
system users and system developers. System analysis or study is an important
phase of any system development process. The system is studied to the minutes
detail and analyzed. The system analystplays the role of the interrogator and
dwells deep into the working of the present system. The system is viewed as a
whole and the input to the system are identified. The outputs from the
organizations are traced to the various processes. System analysis is concerned
with becoming aware of the problem, identifying the relevant and decisional
variables, analyzing and synthesizing the various factors and determining an
optimal or at least a satisfactory solution or program of action.
A detailed study of the process must be made by various techniques like
interviews, questionnaires etc. The data collected by these sources must be
scrutinized to arrive to a conclusion. The conclusion is an understanding of how
the system functions. This system is called the existing system. Now the existing
system is subjected to close study and problem areas are identified. The
designer now functions as a problem solver and tries to sort out the difficulties
that the enterprise faces. The solutions are given as proposals. 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.


In the existing system the transactions are done only manually but in proposed
system we have to computerize all the banking transaction using the software
Banking system.


 Lack of security of data.

 More man power.
 Time consuming.
 Consumes large volume of pare work.
 Needs manual calculations.
 No direct role for the higher officials.
 Damage of machines due to lack of attention.
To avoid all these limitations and make the working more accurately the system
needs to be computerized.


The aim of proposed system is to develop a system of improved facilities. The
proposed system can overcome all the limitations of the existing system. The
system provides proper security and reduces the manual work.


The system is very simple in design and to implement. The system requires very low
system resources and the system will work in almost all configurations. It has got
following features
Security of data.
 Ensure data accuracy’s.
 Proper control of the higher officials.
 Reduce the damages of the machines.
 Minimize manual data entry.
 Minimum time needed for the various processing.
 Greater efficiency
. Better service.
 User friendliness and interactive.
 Minimum time required.


In many ways, consumer banking is like other types of consumer activity. But banking
customers expect more than an excellent mix of products: they are looking for superior
customer experiences that fulfill basic expectations while providing added value.
In our survey, customers selected “the way I am treated” as the second most important
reason for trusting their banking provider, trailing only the predictable “financial stability”
of their bank. Customer experience is also the most common reason for opening and
closing accounts, more so than fees, rates, locations and convenience.
This idea of trust is what transforms customers from static sources of revenue into
advocates for their banks. In an era where social and digital media enable consumers to
immediately share their experiences, customers who trust their bank will drive the most
referrals and be more willing to consolidate their banking needs with a single financial
services provider. This makes them the growth engines of any bank.
Creating customized banking
Each of the eight customer segments shares common behaviors and expectations
when it comes to their banking experience. By focusing on the type of customer rather
than the number of customers, banks can build a reputation for excellent customer
Although crafting common strategies can be more efficient, banks that approach each
customer the same way risk offering individual customers the wrong products, services
and advice across less-effective channels. To optimize investments in customer
experience, banks should deploy segment-based strategies that take advantage of
these inherent similarities – but also their differences.
Competition from all sides
The good news is that consumer confidence in the banking industry is on the rise, with
93% of survey respondents reporting moderate or complete trust in their banks.
Likewise, 77% of customers are satisfied enough with their banking relationship to
recommend their primary provider. The global economic recovery appears to be taking
hold, and banks are among the beneficiaries.
The challenge, however, is that an increasing number of financial service providers are
competing for the same customers. Emerging technology and the increasing use of
mobile devices for both banking and payments are making it easier for new entrants to
exploit areas of dissatisfaction and underinvestment. Customers have more options
than ever and do not view banks as having significant advantage over newer types of
banks and technology companies – even when it comes to financial advice.
The opportunity cost of falling behind the competition is extreme. More than half of all
customers opened or closed an account in 2013, and 40% plan to do so in 2014. Each
of these customers represents a new business opportunity for a competing bank or
financial service provider

There are many different important factors of having a computer within the banking
sector. It makes life a lot quicker and easier and there will no longer have to
be manual inputs of data on paper and within records, it can all be taken care of by the
computer and be stored and sent on accordingly. Previous transactions of certain
customers can be found in seconds as opposed to waiting for a long period of time, and
therefore problems and issues can be dealt with a lot quicker as the information can be
found instantly.

You can also see the importance of the computer within the banking sector as you can
now make transactions from your home with the technology and keep an eye on what
you have within your account when you are waiting for a statement to come through or
want to buy something online.

Within the computer being used within the banking sector, the banking system will still
be as long and as manual as it was many years ago and you would not be able to
transfer money and stay ahead of statementssuccessfully.

Electronic banking is now more popular than ever and this is due to theintroduction of
computers within the banking sector. Being able to communicate with different banks
from all over the world is also possible due to the new injection of technology and there
are much less problems with data imports and exports now that everything can be done
by a few clicks of a button.



Processor : X86 Compatible processor with 1.7 GHz Clock speed

RAM : 512 MB or more

Hard disk : 20 GB or more

Monitor : VGA/SVGA

Keyboard : 104 Keys

Mouse : 2 buttons/ 3 buttons


Operating System : Windows 2000/XP

Front end : Visual Studio 2008
Back end : SQL Server 2005



class account
int acno;
char name[50];
int deposit;
char type;
void create_account();
void show_account();
void modify();
void dep(int);
void draw(int);
void report();
int retacno();
int retdeposit();
char rettype();

void account::create_account()

cout<<"\nEnter The account No.";
cout<<"\n\nEnter The Name of The account Holder : ";
cout<<"\nEnter Type of The account (C/S) : ";
cout<<"\nEnter The Initial amount(>=500 for Saving and >=1000000 for current )
: ";
cout<<"\n\n\nAccount Created..";

void account::show_account()
cout<<"\nAccount No. : "<<acno;
cout<<"\nAccount Holder Name : ";
cout<<"\nType of Account : "<<type;

cout<<"\nBalance amount : "<<deposit;

void account::modify()
cout<<"\nThe account No."<<acno;
cout<<"\n\nEnter The Name of The account Holder : ";
cout<<"\nEnter Type of The account (C/S) : ";
cout<<"\nEnter The amount : ";

void account::dep(int x)

void account::draw(int x)

void account::report()
cout<<acno<<setw(10)<<" "<<name<<setw(10)<<"

int account::retacno()
return acno;

int account::retdeposit()
return deposit;

char account::rettype()
return type;

void write_account();
void display_sp(int);

void modify_account(int);
void delete_account(int);
void display_all();
void deposit_withdraw(int, int);
void intro();

int main()
char ch;
int num;
cout<<"\n\n\n\tMAIN MENU";
cout<<"\n\n\t01. NEW ACCOUNT";
cout<<"\n\n\t02. DEPOSIT AMOUNT";
cout<<"\n\n\t03. WITHDRAW AMOUNT";
cout<<"\n\n\t04. BALANCE ENQUIRY";
cout<<"\n\n\t05. ALL ACCOUNT HOLDER LIST";
cout<<"\n\n\t06. CLOSE AN ACCOUNT";
cout<<"\n\n\t07. MODIFY AN ACCOUNT";
cout<<"\n\n\t08. EXIT";
cout<<"\n\n\tSelect Your Option (1-8) ";
case '1':
case '2':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
deposit_withdraw(num, 1);
case '3':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
deposit_withdraw(num, 2);
case '4':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
case '5':
case '6':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
case '7':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
case '8':
cout<<"\n\n\tThanks for using bank managemnt system";
default :cout<<"\a";
return 0;
void write_account()
account ac;
ofstream outFile;"account.dat",ios::binary|ios::app);
outFile.write((char *) &ac, sizeof(account));

void display_sp(int n)
account ac;
int flag=0;
ifstream inFile;"account.dat",ios::binary);
cout<<"File could not be open !! Press any Key...";
cout<<"\nBALANCE DETAILS\n";
while( *) &ac, sizeof(account)))
cout<<"\n\nAccount number does not exist";

void modify_account(int n)
int found=0;
account ac;
fstream File;"account.dat",ios::binary|ios::in|ios::out);
cout<<"File could not be open !! Press any Key...";
while( *) &ac, sizeof(account)) && found==0)
cout<<"\n\nEnter The New Details of account"<<endl;
int pos=(-1)*sizeof(account);
File.write((char *) &ac, sizeof(account));
cout<<"\n\n\t Record Updated";
cout<<"\n\n Record Not Found ";

void delete_account(int n)
account ac;
ifstream inFile;
ofstream outFile;"account.dat",ios::binary);
cout<<"File could not be open !! Press any Key...";
while( *) &ac, sizeof(account)))
outFile.write((char *) &ac, sizeof(account));
cout<<"\n\n\tRecord Deleted ..";

void display_all()
account ac;
ifstream inFile;"account.dat",ios::binary);
cout<<"File could not be open !! Press any Key...";
cout<<"\n\n\t\tACCOUNT HOLDER LIST\n\n";
cout<<"A/c no. NAME Type Balance\n";
while( *) &ac, sizeof(account)))
void deposit_withdraw(int n, int option)
int amt;
int found=0;
account ac;
fstream File;"account.dat", ios::binary|ios::in|ios::out);
cout<<"File could not be open !! Press any Key...";
while( *) &ac, sizeof(account)) && found==0)
cout<<"\n\n\tTO DEPOSITE AMOUNT ";
cout<<"\n\nEnter The amount to be deposited";
cout<<"\n\n\tTO WITHDRAW AMOUNT ";
cout<<"\n\nEnter The amount to be withdraw";
int bal=ac.retdeposit()-amt;
if((bal<500 && ac.rettype()=='S') || (bal<1000 &&
cout<<"Insufficience balance";

int pos=(-1)* sizeof(ac);
File.write((char *) &ac, sizeof(account));
cout<<"\n\n\t Record Updated";
cout<<"\n\n Record Not Found ";
void intro()
cout<<"\n\n\n\t BANK";
cout<<"\n\n\t SYSTEM";
cout<<"\n\n\n\nMADE BY : KISHOR & SUBHAMLAL";




Banking systems have been with us for as long as people have been using money. Banks
and other financial institutions provide security for individuals, businesses and governments,
alike. Let's recap what has been learned with this tutorial:
In general, what banks do is pretty easy to figure out. For the average person banks accept
deposits, make loans, provide a safe place for money and valuables, and act as payment
agents between merchants and banks.

Banks are quite important to the economy and are involved in such economic activities as
issuing money, settling payments, credit intermediation, maturity transformation and money
creation in the form of fractional reserve banking.

To make money, banks use deposits and whole sale deposits, share equity and fees and
interest from debt, loans and consumer lending, such as credit cards and bank fees.

In addition to fees and loans, banks are also involved in various other types of lending and
operations including, buy/hold securities, non-interest income, insurance and leasing and
payment treasury services.

History has proven banks to be vulnerable to many risks, however, including credit, liquidity,
market, operating, interesting rate and legal risks. Many global crises have

Design is the first step into the development phase for any engineered product or
system. Design is a creative process. A good design is the key to effective
system. The term “design” is defined as “the process of applying various
techniques and principles for the purpose of defining a process or a system in
sufficient detail to permit its physical realization”. It may be defined as a process
of applying various techniques and principles for the purpose of defining a
device, a process or a system in sufficient detail to permit its physical realization.
Software design sits at the technical kernel of the software engineering process
and is applied regardless of the development paradigm that is used.
The system design develops the architectural detail required to build a system or
product. As in the case of any systematic approach, this software too has
undergone the best possible design phase fine tuning all efficiency, performance
and accuracy levels. The design phase is a transition from a user oriented
document to a document to the programmers or database personnel. System


The Administrator logs in using the admin login. In this module two operations
are done. During login the Login and Password is verified with that in the

The design of input focuses on controlling the amount of input required,
controlling the errors, avoiding delay, avoiding extra steps and keeping the
process simple. The input is designed in such a way so that it provides security
and ease of use with retaining the privacy. Input Design considered the following
o What data should be given as input?
o How the data should be arranged or coded?
o The dialog to guide the operating personnel in providing input.
o Methods for preparing input validations and steps to follow when error


Input Design is the process of converting a user-oriented description of the input
into a computer-based system. This design is important to avoid errors in the
data input process and show the correct direction to the management for getting
correct information from the computerized system.
It is achieved by creating user-friendly screens for the data entry to handle large
volume of data. The goal of designing input is to make data entry easier and to
be free from errors. The data entry screen is designed in such a way that all the
data manipulates can be performed. It also provides record viewing facilities.
When the data is entered it will check for its validity. Data can be entered with the
help ofscreens. Appropriate messages are provided as when needed so that the
user will not be ina maize of instant. Thus the objective of input design is to
create an input layout that is easy to follow
A quality output is one, which meets the requirements of the end user and
presents the information clearly. In output design it is determined how the
information is to be displaced for immediate need and also the hard copy output.
It is the most important and direct source information to the user. Efficient and
intelligent output design improves the system’s relationship to help user decision-
making. Designing computer output should proceed in an organized, well thought
out manner; the right output must be developed while ensuring that each output
element is designed so that people will find the system can use easily and
effectively. When analysis design computer output, they should :
Identify the specific output that is needed to meet the requirements.
Select methods for presenting information.
Create document, report, or other formats that contain information produced by
the system.

UML class diagrams are useful when modeling business data. By accurately
modeling attributes and associations of class entities, we can easily map these
class diagram specifications to entity beans with CMP. Class attributes map to
abstract access methods for persistent fields, and association roles map to
abstract access methods for relationship fields. Navigability determines whether
relationship access methods appear in both related entity beans or just one.
Furthermore, multiplicity notation determines the correct type for relationship
fields, life cycle issues, and cascading delete characteristics.
Implementation is the stage of the project where the theoretical design is turned into a
working system. It can be considered to be the most crucial stage in achieving a
successful new system gaining the users confidence that the new system will work and
will be effective and accurate. It is primarily concerned with user training and
documentation. Conversion usually takes place about the same time the user is being
trained or later. Implementation simply means convening a new system design into
operation, which is the process of converting a new revised system design into an
operational one.
The key functions used in this program are as follows:-
1) fstream.h- input/output stream class to operate on files.Objects of this class
maintain a filebuf object as their internal stream buffer, which performs
input/output operations on the file they are associated with (if any).File
streams are associated with files either on construction, or by calling
member open.

2)ctype.h- The ctype.h header file of the C Standard Library declares

several functions that are useful for testing and mapping characters.All the
functions accepts int as a parameter, whose value must be EOF or
representable as an unsigned char.All the functions return non-zero (true) if
the argument c satisfies the condition described, and zero(false) if not.

3)iomanip.h- for declaring several iostreams manipulators that take an argument.

4)conio.h- is a C header file used mostly by MS-DOS compilers to provide console

input/output. It is not part of the C standard library or ISO C, nor is it defined by POSIX.
This header declares several useful library functions for performing "console input and
output" from a program.

5)stdio.h- Most of the C file input/output functions are defined in stdio.h (or in the C++
header cstdio, which contains the standard C functionality but in the std
Software Testing is the process of executing software in a controlled manner, in order
to answer the question - Does the software behave as specified?. Software testing is
used in association with the terms verification and validation. Validation is the checking
or testing of items, includes software, for conformance and consistency with an
associated specification. Software testing is just one kind of verification, which also uses
techniques such as reviews, analysis, inspections, and walkthroughs. Validation is the
process of checking that what has been specified is what the user actually wanted.
Validation : Are we doing the right job?
Verification : Are we doing the job right?
Software testing should not be confused with debugging. Debugging is the process of
analyzing and localizing bugs when software does not behave as expected. Although
the identification of some bugs will be obvious from playing with the software, a
methodical approach to software testing is a much more thorough means for identifying
Debugging is therefore an activity which supports testing, but cannot replace testing.
Other activities which are often associated with software testing are static analysis and
dynamic analysis. Static analysis investigates the source code of software, looking for
problems and gathering metrics without actually executing the code. Dynamic analysis
looks at the behavior of software while it is executing, to provide information such as
execution traces, timing profiles, and test coverage information.
Testing is a set of activity that can be planned in advanced and conducted
systematically. Testing begins at the module level and work towards the integration of
entire computers based system. Nothing is complete without testing, as it vital success
ofthe system testing objectives, there are several rules that can serve as testing
objectives. They are11 Testing is a process of executing a program with the intend of
finding an error. A good test case is one that has high possibility of finding an
undiscovered error .A successful test is one that uncovers an undiscovered error.
If a testing is conducted successfully according to the objectives as stated above, it
would uncovered errors in the software also testing demonstrate that the software
function appear to be working according to the specification, that performance
requirement appear to have been met. There are three ways to test program.
For correctness
 For implementation efficiency
 For computational complexity
 Test for correctness are supposed to verify that a program does exactly what it was
designed to do. This is much more difficult than it may at first appear, especially for
large programs.

Sample test cases

For Admin

 Verify Admin login with valid and Invalid data

 verify admin login without data

 verify all admin home links

 verify admin change password with valid and invalid data

 verify admin change password without data

 Verify admin change password with existing data

 verify admin logout

For new Branch

 create a new branch with valid and invalid data

 create a new branch without data

 create a new branch with existing branch data

 verify reset and cancel option

 Update branch with valid and invalid data

 update branch without data

 update branch with existing branch data

 Verify cancel option

 verify branch deletion with and without dependencies

 Verify branch search option

For New Role

 create a new role with valid and invalid data

 create a new role without data

 verify new role with existing data

 verify role description and role types

 Verify cancel and reset option

 Verify role deletion with and without dependency

 verify links in role details page

For customer & Visitors

 Verify all visitor or customer links

 Verify customers login with valid and invalid data

 Verify customers login without data

 Verify bankers login without data

 Verify bankers login with valid or invalid data

For New users

 create a new user with valid and invalid data

 create a new user without data

 create a new user with existing branch data

 verify cancel and reset option

 Update user with valid and invalid data

 update user with existing data

 verIFy cancel option

 vefiry deletion of the user

Challenges in testing Banking domain & their Mitigation

Challenges tester might face during testing banking domain are

Challenge Mitigation
 Getting access to production data and  Ensure that test data meets regulatory
replicating it as test data, for testing is compliances requirements and guidelines
challenging  Maintain the data confidentiality by
following techniques like data masking,
synthetic test data, testing system
integration, etc.

 The biggest challenge in testing banking  Ensure Data Migration Testing is complete
system is during the migration of the system  Ensure Regression Test cases are executed
from the old system to the new system like on old and new systems, and the results
testing of all the routines, procedures and match.
plans. Also how the data will be fetched,
uploaded and transferred to the new system
after migration

 There may be the cases where requirements  The test should participate in the project
are not documented well and may lead to right from Requirement Analysis phases
functional gaps in test plan and should actively review the Business
 Many non-functional requirements are not Requirements
fully documented, and testers do not know
whether to test it or not

 The most important point is to check  Compliance or Regulatory Policies testing

whether the said system follows the desired must be done
policies and procedures

 The scope and the timelines increases as  Ensure Time budget for Integration testing
banking application are integrated with is accounted if your banking application has
other application like internet many external interfaces
or mobile banking

Banking domain is the most vulnerable area for cyber-theft, and safeguarding the
software requires precise testing. This tutorial gives a clear idea of what it takes for
banking domain testing and how important it is. One must understand that -

 Majority of banking software are developed on Mainframe and Unix

 Testing helps to lessen possible glitches encounter during software development
 Proper testing and compliance to industry standards, save companies from penalties
 Good practices help develop good results, reputation and more business for companies
 Both manual and automated testing have respective merits and usability


The system considered is tested for user acceptance; here it should satisfy the firm’s
need. The software should keep in touch with perspective system; user at the time of
13 developing and making changes whenever required. This done with respect to the
following points
Input Screen Designs,
Output Screen Designs,
Online message to guide the user and the like.
The above testing is done taking various kinds of test data. Preparation of test data
plays a vital role in the system testing. After preparing the test data, the system under
study is tested using that test data. While testing the system by which test data errors
are again uncovered and corrected by using above testing steps and corrections are
also noted for future use.
Test Phases in Testing Banking Applications
For testing banking applications, different stages of testing include

 Requirement Analysis: It is done by business analyst; requirements for a particular

banking application are gathered and documented
 Requirement Review: Quality analysts, business analysts, and development leads are
involved in this task. The requirement gathering document is reviewed at this stage,
and cross-checked to ensure that it does not affect the workflow
 Business Requirements Documentation: Business requirements documents are
prepared by quality analysts in which all reviewed business requirements are covered
 Database Testing: It is the most important part of bank application testing. This
testing is done to ensure data integrity, data loading, data migration, stored procedures,
and functions validation, rules testing, etc.
 Integration Testing: Under integration testing all components that are developed are
integrated and validated
 Functional Testing: The usual software testing activities like test case preparation,
test case review and test case execution is done during this phase
 Security Testing: It ensures that the software does not have any security flaws.
During test preparation, QA team needs to include both negative as well as positive
test scenarios so as to break into the system and report it before any unauthorized
individual access it. While to prevent from hacking, the bank should also implement a
multi-layer of access validation like a one-time password. For security testing,
automation tools like IBM AppScan and HPWebInspect are used while for manual
testing tools like Proxy Sniffer, Paros proxy, HTTP watch, etc. are used
 Usability Testing: It ensures that differently able people should be able to use the
system as normal user. For example, ATM with hearing and Braille facility for
 User Acceptance Testing: It is the final stage of testing done by the end users to
ensure the compliance of the application with the real world scenario.


“Banking System " keeps the day by day tally record as a complete banking. It can keep
the information of Account type, account opening form, Deposit, Withdrawal, and
Searching the transaction, Transaction report, Individual account opening form, Group
Account. The exciting part of this project is; it displays Transaction reports, Statistical
Summary of Account type and Interest Information.
1. Charles Hampfed (2000) ‘Visual Basic’ University of
2. Herbert Schildt (2000) ‘Visual Basic 6.0’ Tata McGraw Hill
3. John Zukowski (2000) ‘Visual Basic 6.0’ ‘BPB Publications
4. Jamie Jaworsky ‘Visual Basic 6.0’Techmedia
5. Stefen Denninger ‘Visual Basic 6.0’Author’s Press
6. Ian Somerville ‘Software engineering’
7. Rajeev mall ‘Software engineering’
8. Elmasri Navathe ‘Fundamentals of database systems’