SlideShare a Scribd company logo
1 of 22
Download to read offline
© 2021 Maveryx srl.
All rights reserved.
Testing Banking Applications.
Here is a practical example
© 2021 Maveryx srl.
All rights reserved.
Summary
• Characteristics of Banking Applications
• Testing Banking Applications
• Design & implement functional UI tests for a Banking App
• Conclusion
NOTE: All trademarks, logos and brand names are the are property of their respective owners. All company, product and
service names used in this presentation are for identification purposes only. Use of these names, trademarks and brands
does not imply endorsement.
© 2021 Maveryx srl.
All rights reserved.
What is a Banking Application?
• A banking application is a software (mobile, web, and desktop)
that manages financial data and provides money transfers.
• Banking applications allow users to
• view current balances
• view transactions history
• transfer funds to other bank accounts
• schedule payments
• …
© 2021 Maveryx srl.
All rights reserved.
Characteristics of Banking Applications
• Banking applications are considered the most challenging
applications in the software industry, both on development and
testing side.
• Banking applications have a complex architecture (design and
technology), complex business workflows, and a wide range of
features dealing with confidential financial data.
© 2021 Maveryx srl.
All rights reserved.
Characteristics of Banking Applications
• Supporting thousands of concurrent user sessions
• Working on multiple platforms and devices
• Processing fast and secure transactions
• Integrating with several applications like trading accounts, billing
apps, credit cards, etc.
© 2021 Maveryx srl.
All rights reserved.
Characteristics of Banking Applications
• Handling complex business workflows
• Handling huge storage system (database)
• Troubleshooting customer issues through robust reporting & auditing
capability
• …
Banking is a constantly changing world due to frequently changing of banking
and government regulations.
© 2021 Maveryx srl.
All rights reserved.
Testing Banking Applications
• Testing banking applications requires end-to-end testing, starting from the UI
layer down to the underlying services, components and databases, involving
several software testing techniques such as:
• Functionality Testing
• Graphical User Interface Testing
• Cross Browser/Compatibility Testing
• Performance Testing
• Security Testing
• Database Testing
• Usability Testing
• …
To ensure quality of:
 business workflows &
functionality
 application security
 data integrity
 system performance
 application compatibility
 user experience
 ...
© 2021 Maveryx srl.
All rights reserved.
Functional UI Testing of Banking
Applications
• User Interface (UI) +
functionality testing are a very
important part of testing a
banking application.
• Functional UI Testing allows
verifying a web application end-
to-end, from beginning (the user
interface) to end (the database
layer) as a user would use it.
© 2021 Maveryx srl.
All rights reserved.
What is Functionality Testing?
• Functionality testing (aka functional testing) verifies that all
the functionality of the application being tested operate in
conformance with their specification.
• Verify that the application does "what" is supposed to do.
• Functionality testing uses black-box techniques
• NO knowledge of the internal web application logic
• Tests are derived from the specification
• Functionality testing includes several testing types such as unit,
smoke, sanity, integration, system, and regression tests.
© 2021 Maveryx srl.
All rights reserved.
What is User Interface Testing?
• UI Testing is the process of verifying the application’s user interface
• to determine that it satisfy specified (and implicit) requirements
• to demonstrate that it is fit for purpose
• to detect defects
• UI tests check an application via the user interface, in the same way
an end user would.
• UI tests mimic user's actions such as clicking on a control, entering
text, scrolling a page, … checking that the software/UI does what it
should.
© 2021 Maveryx srl.
All rights reserved.
Design Functional UI Testing: the BPER
case
• Use case: testing the BPER Smart Web© home banking
application (https://www.bper.it/), by performing, after logging
in, a wire transfer.
© 2021 Maveryx srl.
All rights reserved.
• To start writing your test, think about
what a user would do to perform a bank
transfer:
First she would have to navigate to the BPER
Smart Web© page. Once there, she would
login into the banking application. Next, after
navigating to the wire transfer page, she would
enter the beneficiary data (name, bank account
number, etc.), the amount and the description
of the bank transfer. After verifying the amount
and other details on the wire transfer summary
page, she would submit for final action of fund
transfer.
Design Functional UI Testing: the test use
case
© 2021 Maveryx srl.
All rights reserved.
• The test case will result in the following steps:
1. start browser and navigate to BPER Smart Web© website
2. enter username and password and login
3. navigate to the fund transfer page
4. enter Name and IBAN (bank account number) of the beneficiary
5. enter Amount and Description of the credit transfer
6. recap and verify the transfer data
7. transfer money and check the operation result
Design Functional UI Testing: the test steps
© 2021 Maveryx srl.
All rights reserved.
Design Functional UI Testing: a
simple test case format
Test Step (/input) Expected Output
1. Navigate to the BPER page at
https://homebanking.bpergroup.net/
The login page is opened.
2. Enter valid Username  "12345678" The username field is filled with the value “12345678“.
3. Enter valid Password  "12345678" The password field is filled.
4. Click “Accedi a Smart Web” (Sign in) button
The user is logged in and the bank account main
page/view is displayed.
5. Navigate to the Fund Transfer page The Fund Transfer page is displayed.
l
o
g
i
n
© 2021 Maveryx srl.
All rights reserved.
Design Functional UI Testing: a
simple test case format
Test Step (/input) Expected Output
6. Enter the beneficiary Name  "Maveryx srl"
The "Nome, Cognome o Intestazione Azienda"
(beneficiary name) field is filled with the value
"Maveryx srl".
7. Enter the beneficiary IBAN 
"IT76O0326803402052837088040"
The "IBAN" (beneficiary IBAN) field is filled with the
value "IT76O0326803402052837088040".
8. Enter the bank transfer Amount  "100"
The "Importo" (amount) field is filled with the value
"100".
9. Enter the bank transfer purpose/description 
"this is a test credit transfer"
The "Causale" (purpose/description) field is filled with
the value "this is a test credit transfer".
10. Click "Continua" to proceed Bank transfer successfully completed.
B
a
n
k
t
r
a
s
f
e
r
© 2021 Maveryx srl.
All rights reserved.
Design Functional UI Testing: test
automation
• To automate it, we will use
MAVERYX and Java.
• MAVERYX is an automated
functional testing and regression
testing tool. This software
provides automated testing
capabilities for functional,
regression, GUI, data- &
keyword-driven testing.
• It supports a range of
applications, including web-
based, .NET, Java, and more.
© 2021 Maveryx srl.
All rights reserved.
/* start Chrome browser */
Bootstrap.startApplication("Chrome");
GuiText browser = new GuiBrowser();
/* navigate to the BPER Smart Web website */
browser.navigateTo("https://homebanking.bpergroup.net/wps/portal/hb/home/ibpr/sec
/login/login");
/* check the login page URL */
assertEquals("https://homebanking.bpergroup.net/wps/portal/hb/home/ibpr/sec/login
/login", browser.getPageURL());
Assertions (like assertEquals) are truths about our software we may want to check.
Test script analysis: Navigation
© 2021 Maveryx srl.
All rights reserved.
/* the Username text field */
GuiText username = new GuiText("Inserisci il tuo Codice
Utente/Alias");
/* check the Username text field is editable */
assertTrue(username.isEditable());
/* enter username */
username.setText("12345678");
/* check the Username text field has the entered username */
assertEquals("12345678", username.getText());
//...the same for entering the password...
/* click sign in button to login */
new GuiButton("ACCEDI A SMART WEB").click();
Test script analysis: Login
© 2021 Maveryx srl.
All rights reserved.
Test script analysis: Enter data & Perform
credit transfer
/* Insert the beneficiary name */
new GuiText("Nome, Cognome o Intestazione
Azienda").setText("Maveryx srl");
/* Insert the beneficiary IBAN (bank account number) */
new GuiText("IBAN").setText("IT76O0326803402052837088040");
/* Enter bank transfer amount (€100) */
new GuiText("Importo").setText("100");
/* Enter bank transfer purpose/description */
new GuiText("Causale").setText("this is a test credit transfer");
/* Click continue button to perform the bank transfer */
new GuiButton("Continua").click();
/* Check the successful operation result*/
new GuiLabel("Operazione completata con successo!").waitFor(3, 1);
© 2021 Maveryx srl.
All rights reserved.
Design Functional UI Testing: invalid test
cases
• Starting from this test, you can create other (invalid) tests:
1. enter invalid username and/or password for login → sign-in error
2. enter invalid beneficiary IBAN  account number error
© 2021 Maveryx srl.
All rights reserved.
Design Functional UI Testing: invalid test
cases
3. enter invalid beneficiary name  name-account mismatch error
4. enter invalid amount (negative amount, amount greater than available
balance, ...)  transfer amount error
5. enter empty description  missing transfer description
6. …
© 2021 Maveryx srl.
All rights reserved.
Conclusion
• Banking applications are critical as they involve millions of transactions
with real money and confidential financial data.
• Testing banking applications goes end-to-end through the entire system
(from UI to underlying services and database). Functional UI tests act just
like users would if they were using the system.
• Testing banking applications includes
• load & performance testing
• security testing
• usability testing
• functional testing
• ...

More Related Content

What's hot

Outlook test e mail auto configuration autodiscover troubleshooting tools p...
Outlook test e mail auto configuration  autodiscover troubleshooting tools  p...Outlook test e mail auto configuration  autodiscover troubleshooting tools  p...
Outlook test e mail auto configuration autodiscover troubleshooting tools p...Eyal Doron
 
Part 1 implementing a simple_web_service
Part 1 implementing a simple_web_servicePart 1 implementing a simple_web_service
Part 1 implementing a simple_web_servicekrishmdkk
 
Part 2 generating a client_from_wsdl
Part 2 generating a client_from_wsdlPart 2 generating a client_from_wsdl
Part 2 generating a client_from_wsdlkrishmdkk
 
Intelligent Testing Tool: Selenium Web Driver
Intelligent Testing Tool: Selenium Web DriverIntelligent Testing Tool: Selenium Web Driver
Intelligent Testing Tool: Selenium Web DriverIRJET Journal
 
Automated Testing Of Web Applications Using XML
Automated  Testing Of  Web  Applications Using  XMLAutomated  Testing Of  Web  Applications Using  XML
Automated Testing Of Web Applications Using XMLdiongillard
 
Better User Experience with .NET
Better User Experience with .NETBetter User Experience with .NET
Better User Experience with .NETPeter Gfader
 
Cis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universityCis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universitylhkslkdh89009
 
Steps how to create active x using visual studio 2008
Steps how to create active x using visual studio 2008Steps how to create active x using visual studio 2008
Steps how to create active x using visual studio 2008Yudep Apoi
 
Inversion of Control and Dependency Injection
Inversion of Control and Dependency InjectionInversion of Control and Dependency Injection
Inversion of Control and Dependency InjectionDinesh Sharma
 
How to convert custom plsql to web services-Soap OR Rest
How to convert custom plsql to web services-Soap OR RestHow to convert custom plsql to web services-Soap OR Rest
How to convert custom plsql to web services-Soap OR Restshravan kumar chelika
 
Implementing auto complete using JQuery
Implementing auto complete using JQueryImplementing auto complete using JQuery
Implementing auto complete using JQueryBhushan Mulmule
 
Introduction to Vaadin
Introduction to VaadinIntroduction to Vaadin
Introduction to Vaadinnetomi
 
Lecture 11. Microsoft mobile services
Lecture 11. Microsoft mobile servicesLecture 11. Microsoft mobile services
Lecture 11. Microsoft mobile servicesMaksym Davydov
 
Jug Guice Presentation
Jug Guice PresentationJug Guice Presentation
Jug Guice PresentationDmitry Buzdin
 

What's hot (18)

Outlook test e mail auto configuration autodiscover troubleshooting tools p...
Outlook test e mail auto configuration  autodiscover troubleshooting tools  p...Outlook test e mail auto configuration  autodiscover troubleshooting tools  p...
Outlook test e mail auto configuration autodiscover troubleshooting tools p...
 
Part 1 implementing a simple_web_service
Part 1 implementing a simple_web_servicePart 1 implementing a simple_web_service
Part 1 implementing a simple_web_service
 
From mvc to viper
From mvc to viperFrom mvc to viper
From mvc to viper
 
Mockito junit
Mockito junitMockito junit
Mockito junit
 
Build Restful Service using ADFBC
Build Restful Service using ADFBCBuild Restful Service using ADFBC
Build Restful Service using ADFBC
 
Part 2 generating a client_from_wsdl
Part 2 generating a client_from_wsdlPart 2 generating a client_from_wsdl
Part 2 generating a client_from_wsdl
 
Intelligent Testing Tool: Selenium Web Driver
Intelligent Testing Tool: Selenium Web DriverIntelligent Testing Tool: Selenium Web Driver
Intelligent Testing Tool: Selenium Web Driver
 
Automated Testing Of Web Applications Using XML
Automated  Testing Of  Web  Applications Using  XMLAutomated  Testing Of  Web  Applications Using  XML
Automated Testing Of Web Applications Using XML
 
Better User Experience with .NET
Better User Experience with .NETBetter User Experience with .NET
Better User Experience with .NET
 
Cis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universityCis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry university
 
Steps how to create active x using visual studio 2008
Steps how to create active x using visual studio 2008Steps how to create active x using visual studio 2008
Steps how to create active x using visual studio 2008
 
Inversion of Control and Dependency Injection
Inversion of Control and Dependency InjectionInversion of Control and Dependency Injection
Inversion of Control and Dependency Injection
 
How to convert custom plsql to web services-Soap OR Rest
How to convert custom plsql to web services-Soap OR RestHow to convert custom plsql to web services-Soap OR Rest
How to convert custom plsql to web services-Soap OR Rest
 
Implementing auto complete using JQuery
Implementing auto complete using JQueryImplementing auto complete using JQuery
Implementing auto complete using JQuery
 
Introduction to Vaadin
Introduction to VaadinIntroduction to Vaadin
Introduction to Vaadin
 
Setting up an odi agent
Setting up an odi agentSetting up an odi agent
Setting up an odi agent
 
Lecture 11. Microsoft mobile services
Lecture 11. Microsoft mobile servicesLecture 11. Microsoft mobile services
Lecture 11. Microsoft mobile services
 
Jug Guice Presentation
Jug Guice PresentationJug Guice Presentation
Jug Guice Presentation
 

Similar to Testing Banking Applications. Here is a practical example

Bank management system
Bank management systemBank management system
Bank management systemsumanadas37
 
Pradeep Kumar _Profile
Pradeep Kumar _ProfilePradeep Kumar _Profile
Pradeep Kumar _ProfilePradeep Kumar
 
Internet Banking Powerpoint.pptx
Internet Banking Powerpoint.pptxInternet Banking Powerpoint.pptx
Internet Banking Powerpoint.pptxPrinceBiyoyouwei
 
A WEB-BASED SERVICE MARKETPLACE
A WEB-BASED SERVICE MARKETPLACEA WEB-BASED SERVICE MARKETPLACE
A WEB-BASED SERVICE MARKETPLACEIRJET Journal
 
Software Engineering Testing & Research
Software Engineering Testing & Research Software Engineering Testing & Research
Software Engineering Testing & Research Vrushali Lanjewar
 
Self checkout application presentation
Self checkout application presentationSelf checkout application presentation
Self checkout application presentationAshwinBicholiya
 
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...ragishettyanilkumar
 
Codeless Web testing: a keyword-driven example with Excel
Codeless Web testing: a keyword-driven example with ExcelCodeless Web testing: a keyword-driven example with Excel
Codeless Web testing: a keyword-driven example with ExcelMaveryx
 
Loyalty & Rewards Points Application on your mobile, iPhone, Android
Loyalty & Rewards Points Application on your mobile, iPhone, AndroidLoyalty & Rewards Points Application on your mobile, iPhone, Android
Loyalty & Rewards Points Application on your mobile, iPhone, AndroidMike Taylor
 
Banking App Testing - To Evaluate Performance
Banking App Testing - To Evaluate PerformanceBanking App Testing - To Evaluate Performance
Banking App Testing - To Evaluate PerformanceBugRaptors
 

Similar to Testing Banking Applications. Here is a practical example (20)

Online banking
Online bankingOnline banking
Online banking
 
Distributed banking system using rmi project
Distributed banking system using rmi projectDistributed banking system using rmi project
Distributed banking system using rmi project
 
Vijay_Khadia
Vijay_KhadiaVijay_Khadia
Vijay_Khadia
 
M-Brokrage
M-BrokrageM-Brokrage
M-Brokrage
 
Bank management system
Bank management systemBank management system
Bank management system
 
banking project
banking projectbanking project
banking project
 
Banking java project
Banking java projectBanking java project
Banking java project
 
Pradeep Kumar _Profile
Pradeep Kumar _ProfilePradeep Kumar _Profile
Pradeep Kumar _Profile
 
SUNIL_dotnet
SUNIL_dotnetSUNIL_dotnet
SUNIL_dotnet
 
Internet Banking Powerpoint.pptx
Internet Banking Powerpoint.pptxInternet Banking Powerpoint.pptx
Internet Banking Powerpoint.pptx
 
A WEB-BASED SERVICE MARKETPLACE
A WEB-BASED SERVICE MARKETPLACEA WEB-BASED SERVICE MARKETPLACE
A WEB-BASED SERVICE MARKETPLACE
 
Check cashing mobile solution
Check cashing mobile solutionCheck cashing mobile solution
Check cashing mobile solution
 
Software Engineering Testing & Research
Software Engineering Testing & Research Software Engineering Testing & Research
Software Engineering Testing & Research
 
Self checkout application presentation
Self checkout application presentationSelf checkout application presentation
Self checkout application presentation
 
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
 
Codeless Web testing: a keyword-driven example with Excel
Codeless Web testing: a keyword-driven example with ExcelCodeless Web testing: a keyword-driven example with Excel
Codeless Web testing: a keyword-driven example with Excel
 
Loyalty & Rewards Points Application on your mobile, iPhone, Android
Loyalty & Rewards Points Application on your mobile, iPhone, AndroidLoyalty & Rewards Points Application on your mobile, iPhone, Android
Loyalty & Rewards Points Application on your mobile, iPhone, Android
 
Banking App Testing - To Evaluate Performance
Banking App Testing - To Evaluate PerformanceBanking App Testing - To Evaluate Performance
Banking App Testing - To Evaluate Performance
 
locker presentation (1)
locker presentation (1)locker presentation (1)
locker presentation (1)
 
BANK MANAGEMENT SYSTEM report
BANK MANAGEMENT SYSTEM reportBANK MANAGEMENT SYSTEM report
BANK MANAGEMENT SYSTEM report
 

More from Maveryx

Keywords-driven testing vs Scripted automation
Keywords-driven testing vs Scripted automationKeywords-driven testing vs Scripted automation
Keywords-driven testing vs Scripted automationMaveryx
 
Stf 2019 workshop - enhanced test automation for web and desktop apps
Stf 2019   workshop - enhanced test automation for web and desktop appsStf 2019   workshop - enhanced test automation for web and desktop apps
Stf 2019 workshop - enhanced test automation for web and desktop appsMaveryx
 
Maveryx presentation
Maveryx presentationMaveryx presentation
Maveryx presentationMaveryx
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven TestingMaveryx
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven TestingMaveryx
 
Testing Android applications with Maveryx
Testing Android applications with MaveryxTesting Android applications with Maveryx
Testing Android applications with MaveryxMaveryx
 
Testing Java applications with Maveryx
Testing Java applications with MaveryxTesting Java applications with Maveryx
Testing Java applications with MaveryxMaveryx
 
Maveryx - Product Presentation
Maveryx - Product PresentationMaveryx - Product Presentation
Maveryx - Product PresentationMaveryx
 

More from Maveryx (8)

Keywords-driven testing vs Scripted automation
Keywords-driven testing vs Scripted automationKeywords-driven testing vs Scripted automation
Keywords-driven testing vs Scripted automation
 
Stf 2019 workshop - enhanced test automation for web and desktop apps
Stf 2019   workshop - enhanced test automation for web and desktop appsStf 2019   workshop - enhanced test automation for web and desktop apps
Stf 2019 workshop - enhanced test automation for web and desktop apps
 
Maveryx presentation
Maveryx presentationMaveryx presentation
Maveryx presentation
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven Testing
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven Testing
 
Testing Android applications with Maveryx
Testing Android applications with MaveryxTesting Android applications with Maveryx
Testing Android applications with Maveryx
 
Testing Java applications with Maveryx
Testing Java applications with MaveryxTesting Java applications with Maveryx
Testing Java applications with Maveryx
 
Maveryx - Product Presentation
Maveryx - Product PresentationMaveryx - Product Presentation
Maveryx - Product Presentation
 

Recently uploaded

Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456KiaraTiradoMicha
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 

Recently uploaded (20)

Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Testing Banking Applications. Here is a practical example

  • 1. © 2021 Maveryx srl. All rights reserved. Testing Banking Applications. Here is a practical example
  • 2. © 2021 Maveryx srl. All rights reserved. Summary • Characteristics of Banking Applications • Testing Banking Applications • Design & implement functional UI tests for a Banking App • Conclusion NOTE: All trademarks, logos and brand names are the are property of their respective owners. All company, product and service names used in this presentation are for identification purposes only. Use of these names, trademarks and brands does not imply endorsement.
  • 3. © 2021 Maveryx srl. All rights reserved. What is a Banking Application? • A banking application is a software (mobile, web, and desktop) that manages financial data and provides money transfers. • Banking applications allow users to • view current balances • view transactions history • transfer funds to other bank accounts • schedule payments • …
  • 4. © 2021 Maveryx srl. All rights reserved. Characteristics of Banking Applications • Banking applications are considered the most challenging applications in the software industry, both on development and testing side. • Banking applications have a complex architecture (design and technology), complex business workflows, and a wide range of features dealing with confidential financial data.
  • 5. © 2021 Maveryx srl. All rights reserved. Characteristics of Banking Applications • Supporting thousands of concurrent user sessions • Working on multiple platforms and devices • Processing fast and secure transactions • Integrating with several applications like trading accounts, billing apps, credit cards, etc.
  • 6. © 2021 Maveryx srl. All rights reserved. Characteristics of Banking Applications • Handling complex business workflows • Handling huge storage system (database) • Troubleshooting customer issues through robust reporting & auditing capability • … Banking is a constantly changing world due to frequently changing of banking and government regulations.
  • 7. © 2021 Maveryx srl. All rights reserved. Testing Banking Applications • Testing banking applications requires end-to-end testing, starting from the UI layer down to the underlying services, components and databases, involving several software testing techniques such as: • Functionality Testing • Graphical User Interface Testing • Cross Browser/Compatibility Testing • Performance Testing • Security Testing • Database Testing • Usability Testing • … To ensure quality of:  business workflows & functionality  application security  data integrity  system performance  application compatibility  user experience  ...
  • 8. © 2021 Maveryx srl. All rights reserved. Functional UI Testing of Banking Applications • User Interface (UI) + functionality testing are a very important part of testing a banking application. • Functional UI Testing allows verifying a web application end- to-end, from beginning (the user interface) to end (the database layer) as a user would use it.
  • 9. © 2021 Maveryx srl. All rights reserved. What is Functionality Testing? • Functionality testing (aka functional testing) verifies that all the functionality of the application being tested operate in conformance with their specification. • Verify that the application does "what" is supposed to do. • Functionality testing uses black-box techniques • NO knowledge of the internal web application logic • Tests are derived from the specification • Functionality testing includes several testing types such as unit, smoke, sanity, integration, system, and regression tests.
  • 10. © 2021 Maveryx srl. All rights reserved. What is User Interface Testing? • UI Testing is the process of verifying the application’s user interface • to determine that it satisfy specified (and implicit) requirements • to demonstrate that it is fit for purpose • to detect defects • UI tests check an application via the user interface, in the same way an end user would. • UI tests mimic user's actions such as clicking on a control, entering text, scrolling a page, … checking that the software/UI does what it should.
  • 11. © 2021 Maveryx srl. All rights reserved. Design Functional UI Testing: the BPER case • Use case: testing the BPER Smart Web© home banking application (https://www.bper.it/), by performing, after logging in, a wire transfer.
  • 12. © 2021 Maveryx srl. All rights reserved. • To start writing your test, think about what a user would do to perform a bank transfer: First she would have to navigate to the BPER Smart Web© page. Once there, she would login into the banking application. Next, after navigating to the wire transfer page, she would enter the beneficiary data (name, bank account number, etc.), the amount and the description of the bank transfer. After verifying the amount and other details on the wire transfer summary page, she would submit for final action of fund transfer. Design Functional UI Testing: the test use case
  • 13. © 2021 Maveryx srl. All rights reserved. • The test case will result in the following steps: 1. start browser and navigate to BPER Smart Web© website 2. enter username and password and login 3. navigate to the fund transfer page 4. enter Name and IBAN (bank account number) of the beneficiary 5. enter Amount and Description of the credit transfer 6. recap and verify the transfer data 7. transfer money and check the operation result Design Functional UI Testing: the test steps
  • 14. © 2021 Maveryx srl. All rights reserved. Design Functional UI Testing: a simple test case format Test Step (/input) Expected Output 1. Navigate to the BPER page at https://homebanking.bpergroup.net/ The login page is opened. 2. Enter valid Username  "12345678" The username field is filled with the value “12345678“. 3. Enter valid Password  "12345678" The password field is filled. 4. Click “Accedi a Smart Web” (Sign in) button The user is logged in and the bank account main page/view is displayed. 5. Navigate to the Fund Transfer page The Fund Transfer page is displayed. l o g i n
  • 15. © 2021 Maveryx srl. All rights reserved. Design Functional UI Testing: a simple test case format Test Step (/input) Expected Output 6. Enter the beneficiary Name  "Maveryx srl" The "Nome, Cognome o Intestazione Azienda" (beneficiary name) field is filled with the value "Maveryx srl". 7. Enter the beneficiary IBAN  "IT76O0326803402052837088040" The "IBAN" (beneficiary IBAN) field is filled with the value "IT76O0326803402052837088040". 8. Enter the bank transfer Amount  "100" The "Importo" (amount) field is filled with the value "100". 9. Enter the bank transfer purpose/description  "this is a test credit transfer" The "Causale" (purpose/description) field is filled with the value "this is a test credit transfer". 10. Click "Continua" to proceed Bank transfer successfully completed. B a n k t r a s f e r
  • 16. © 2021 Maveryx srl. All rights reserved. Design Functional UI Testing: test automation • To automate it, we will use MAVERYX and Java. • MAVERYX is an automated functional testing and regression testing tool. This software provides automated testing capabilities for functional, regression, GUI, data- & keyword-driven testing. • It supports a range of applications, including web- based, .NET, Java, and more.
  • 17. © 2021 Maveryx srl. All rights reserved. /* start Chrome browser */ Bootstrap.startApplication("Chrome"); GuiText browser = new GuiBrowser(); /* navigate to the BPER Smart Web website */ browser.navigateTo("https://homebanking.bpergroup.net/wps/portal/hb/home/ibpr/sec /login/login"); /* check the login page URL */ assertEquals("https://homebanking.bpergroup.net/wps/portal/hb/home/ibpr/sec/login /login", browser.getPageURL()); Assertions (like assertEquals) are truths about our software we may want to check. Test script analysis: Navigation
  • 18. © 2021 Maveryx srl. All rights reserved. /* the Username text field */ GuiText username = new GuiText("Inserisci il tuo Codice Utente/Alias"); /* check the Username text field is editable */ assertTrue(username.isEditable()); /* enter username */ username.setText("12345678"); /* check the Username text field has the entered username */ assertEquals("12345678", username.getText()); //...the same for entering the password... /* click sign in button to login */ new GuiButton("ACCEDI A SMART WEB").click(); Test script analysis: Login
  • 19. © 2021 Maveryx srl. All rights reserved. Test script analysis: Enter data & Perform credit transfer /* Insert the beneficiary name */ new GuiText("Nome, Cognome o Intestazione Azienda").setText("Maveryx srl"); /* Insert the beneficiary IBAN (bank account number) */ new GuiText("IBAN").setText("IT76O0326803402052837088040"); /* Enter bank transfer amount (€100) */ new GuiText("Importo").setText("100"); /* Enter bank transfer purpose/description */ new GuiText("Causale").setText("this is a test credit transfer"); /* Click continue button to perform the bank transfer */ new GuiButton("Continua").click(); /* Check the successful operation result*/ new GuiLabel("Operazione completata con successo!").waitFor(3, 1);
  • 20. © 2021 Maveryx srl. All rights reserved. Design Functional UI Testing: invalid test cases • Starting from this test, you can create other (invalid) tests: 1. enter invalid username and/or password for login → sign-in error 2. enter invalid beneficiary IBAN  account number error
  • 21. © 2021 Maveryx srl. All rights reserved. Design Functional UI Testing: invalid test cases 3. enter invalid beneficiary name  name-account mismatch error 4. enter invalid amount (negative amount, amount greater than available balance, ...)  transfer amount error 5. enter empty description  missing transfer description 6. …
  • 22. © 2021 Maveryx srl. All rights reserved. Conclusion • Banking applications are critical as they involve millions of transactions with real money and confidential financial data. • Testing banking applications goes end-to-end through the entire system (from UI to underlying services and database). Functional UI tests act just like users would if they were using the system. • Testing banking applications includes • load & performance testing • security testing • usability testing • functional testing • ...