SlideShare a Scribd company logo
1 of 4
Download to read offline
6 QUALITY MATTERS Q2 2009
BY: SHARON ROBSON
Banking/Finance and Software Testing have a lot in common
– it is all about risk! Even more specifically it is about the clear
understanding of the risks being undertaken. The Banking/
Finance domain is focused on risk analysis of their clients and
the investments that the institution makes, whereas Testing is
about risk analysis and reporting on the Quality of software
(applications) under test.
In the IT world, the Banking/Finance sector is perceived as
being conservative; characterised by being not quick on the
uptake of new approaches or techniques, very risk adverse,
as well as being particularly price sensitive. This has lead to a
reliance on the older, more “traditional” development
approaches such as the Waterfall or V-Model. These ap-
proaches have been considered to be robust and conserva-
tive, and although not cheap, have been used extensively in
the Banking and Finance domain. However times are chang-
ing and now there is the push for getting more products to
market and getting them there faster and much more cost
effectively[1].
To understand how to approach testing in the Banking/Finance
Domain, there needs to be a model of the domain. There are
many types of Banking and Financial applications within this
industry vertical, so I will generalise (see Figure 1).
Figure 1
7QUALITY MATTERS Q2 2009
If I postulate that the banking and finance domain is typically
characterised by multi–tier functionality [2], which in itself im-
plies a complex “system of systems” [3]. The systems them-
selves tend to be the result of bespoke development, maybe
internal IT groups, or outsourced [4]. Either way, the systems
are theoretically well documented, however the documenta-
tion is either grossly out of date (as with most documentation)
or has been lost in the myriad of buy-outs, mergers or take-
overs also typical in the Banking/Finance domain.
Another characteristic of the Banking/Finance systems is the
preponderance of interfaces; bank to bank, bank to branch,
bank to web-users, just a few obvious examples. These days
there is highly probably a Web Interface as well as many spe-
cific user interfaces. The result is many users on distributed
systems each with a different business need and approach
to the system.
To further compound the complex situation, the transactions
at both the data level, and the User Interface (UI) can be com-
plex, often requiring business logic to be applied at the client
side and server side and, as is happening more and more
now, in a Service Layer or Business Logic Layer [1][4]. Most
if not all of the activity through the system will require Secure
Transactions, both batch and synchronous (real-time).
Another key characteristic, especially when in comes to
the sale of various Banking/Finance “products” is the huge
number of Business Rules that must be maintained and moni-
tored. There is little margin for error, as this is the fundamental
requirement of a banking system! This is reinforced by the
need for extensive regulation and auditing functionality. Re-
porting is often the way that audits and confirmation of ad-
herence to regulations are implemented and is always a key
component of Banking systems, even more so now that there
are more stringent requirements as a result of the implemen-
tation of regulations such as Sarbanes-Oxley and Basel II.
Effective Document Management is key to the retention of
important data and is usually implemented to assist with re-
porting and auditing requirements, as well as implementation
of the Business Rules.
At an infrastructure level, Banking/Finance systems tend to
have robust back up procedures, disaster recovery systems,
and high availability requirements. Coupled with this are mas-
sive storage systems, requiring speedy transactions and rapid
data transfer. The complicating factor with this infrastructure
is that it often involves integration of myriad disparate legacy
systems as the result of mergers and take-overs which are
typical of this industry [5].
To summarise the generic Banking/Finance system, I see the
following key characteristics:
• Multi-tier Functionality
• Systems of Systems – Large Scale Integration
• Bespoke Development
• Lacking Documentation
• Many Interfaces
• Distributed Systems
• Disparate Use Cases
• Complex Transactions
• Secure Transactions (Batch and Real Time)
• Speedy Transactions
• Complex Business Logic (Client and Server)
• Auditable
• Document Management
• Back Up/Recovery/Disaster Recovery
• Massive Storage Systems
Now the application domain has been defined, let us consider
how we can approach testing it.
“Agile” development methods have been developed to try and
eliminate the issues associated with the more traditional de-
velopment approaches. The Agile Manifesto [6] focused on
many aspects of software development, but it terms of quick
delivery it can be highlighted by the following two principles:
• Deliver working software frequently, from a couple of weeks
to a couple of months, with a preference to the shorter time-
scale.
• Business people and developers must work together daily
throughout the project.
For implementing new systems in any domain, even the Bank-
ing/Finance sector, an Agile approach to the testing makes a
lot of sense. No matter what Software Development Lifecycle
(SDLC) is followed, testing continues to be about analysis and
reporting on the Quality of the System Under Test (SUT). In
Agile development approaches this lends itself to a risk-based
approach from the business perspective, contrasting with more
traditional development approaches. This risk analysis is done
with the Business Users, by the Business Users. This seems
to be ideally suited to risk adverse, yet economically con-
strained domains, such as Banking/Finance.
Agile test techniques should not be taken on without due
consideration to the dynamics of the specific project. I will
consider the generic characteristics of the Banking/Finance
systems as defined above and if, in general, they are suitable
for an Agile Testing approach. With this knowledge you can
then consider the particular project you are focusing on.
Sharon has worked in Software
Testing for over 7 years and in
the IT industry for over 17.
Sharon works for Software
Education Associates Limited as
a Knowledge Engineer doing
training and consultancy in the
Software Testing domain.
Sharon is a founding board member of Australia New Zea-
land Testing Board (ANZTB www.anztb.org) and is the cur-
rent chairperson of the ISTQB Marketing Working Group.
Sharon has spoken publicly about software testing and cer-
tification at many events, including STANZ 2007 and 2008
and various Test Professional Network (TPN) and Special
Interest Group in Testing (SIGIST) meetings.
8 QUALITY MATTERS Q2 2009
As noted previously, Agile is all about access to the Business
User (customer), and rapid turn around of software which can
be done via incremental and rapid (small batches of func-
tionality) development cycles. Incumbent in this approach is
design collaboration and review, less documentation, auto-
mated testing, early and often code delivery, unit and smoke
tests before “independent” testing, and importantly, business
experts defining and participating in Acceptance tests [7].
So, the key question is “What are we testing?” or more specif-
ically “What is the objective of this test?” If we are focusing on
Large Scale Integration [8] for example, which is often a char-
acteristic of Banking/Finance applications, theoretically this
is technically difficult and requires extensive knowledge of all
the systems at the interface definition level. This information
may not be available for all the systems in the Integration
scope; thus an Agile testing approach could work very well
here. An Agile testing approach would define the User Stories
which in turn define how the various systems will be required
to behave in specific circumstances – without needing the in-
depth documentation.
The Testing mindset of applying positive and negative test
conditions will assist in driving out many undefined require-
ments, so by working with the Business at all levels the re-
quirements for the interfaces and integration can be defined
and tested. Although there are technical integration require-
ments, the key “needs” still have to be defined by the Busi-
ness. The tests should and could even be defined in such a
way that they are automated and retained for ongoing regres-
sion and integration testing.
If the project is adding functionality to an existing system,
testing the new functionality under an Agile Development ap-
proach is straight-forward, but how do we make allowances
for the potentially extensive Regression testing? The big
question here is when will the Regression testing occur in the
Agile lifecycle? What should be within the iteration, and what
should be excluded from the iteration? Of course, the stand-
ard testing answer is “it depends” – the key point is to identify
what the dependencies are.
New functionality could be developed under an Agile ap-
proach, but then integrated using more traditional methods,
or even the reverse, traditional methods for the initial devel-
opment and Agile testing for the Integration and Regression
test activities. For example if the project was about installing
a Service Oriented Architecture (SOA) infrastructure, which
is increasingly common in the Industry, and incorporating
legacy systems with new “Commercial Off The Shelf” prod-
ucts (COTS) [2]. The business logic layer may be done in an
Agile approach, or the new functionality could be developed
using the more traditional methods. Either way, what about
the Integration and Regression testing? There are two types
of regression testing to consider; regression testing within the
Iteration and regression testing when the new functionality
is integrated within the system as a whole, or when the new
system is integrated within the “system of systems”.
Applying an Agile Testing approach to the regression testing
is a risk, the main risk being that the right people are not made
available or consulted on what is important to the business
for the regression User Stories. Sometimes this could be due
to the merger or take over of an existing system, where the
knowledge has not been retained. However when there is lit-
tle or no documentation, surely this is the ideal time to involve
the Business and have them understand the risks, the testing
approach, and define the Acceptance Criteria; which is a fun-
damental tenant of the Agile Testing approach.
Another risk with the Agile approach is coverage, can we
ensure we achieve sufficient coverage for the Business and
the new implementation? This comes back to the Business
and working closely with the Development Team and the Test
Team to clearly define the User Stories that are associated
with regression. The Agile approach allows the discussion
and analysis of the risks and implications of the new develop-
ment, and any further testing that must take place.
Another characteristic of the Banking/Finance domain is the
heavily regulated environment, which implies lots of regres-
sion testing – this is ideal for an Agile testing approach as the
regression tests are an integral part of the development life-
cycle. Unit Testing and Automated Test Suites are part of the
Agile approach, and when done correctly provide a traceable
and re-usable framework for all development and testing. Of
course this only applies to the systems that have been devel-
oped using an Agile approach. When considering the Integra-
tion or Regression testing, an Agile testing approach allows
the ongoing development and retention of these frameworks,
independently of any specific development lifecycle.
The Agile testing approach advocates a high degree of tool
usage which means that the performance and security as-
pects of the testing can be included in the standard System
and Acceptance test suites. These can be moved from the
domain of the specialists, once written, and incorporated
into the standard suite of Regression and Acceptance tests,
meaning that this area is no longer over looked or considered
SYSTEMS OF SYSTEMS – LARGE
SCALE INTEGRATION
BESPOKE DEVELOPMENT
LACKING DOCUMENTATION
9QUALITY MATTERS Q2 2009
“too hard” . Agile approaches with their inherent risk analysis
enable risk mitigation by focusing on the “hard” things earlier
in the development cycle, and by doing so, escalating them
in the order of development and implementing them as early
as possible.
Additionally when the Agile approach is taken to testing, the
Business User is able to define, via their User Stories, the
importance and/or risks associated with these aspects of the
system. Agile testing approaches mean that the Business
User is also there to participate in the testing, or demonstra-
tions, so that they can say when it is “good-enough” instead
of assigning arbitrary and sometimes un-testable numbers to
performance characteristics. They are gathering a better un-
derstanding of their system, earlier in the development cycle.
An Agile testing approach is excellent for other non-functional
testing; with continual integration, we can focus on the non-
functional or Quality aspects of the system (providing we
have the appropriate test environment) and have continual
testing and re-factoring (if required) of the architecture and
code, potentially without the use or “interference” caused by
Browsers or other distracting UIs [8]. The use of stubs and
harnesses, and other test tools coupled with frequent cus-
tomer demonstrations means that they are able to focus on
the performance without the influences of any UI driving their
understanding of the system.
An Agile approach to testing also allows the acceptance crite-
ria to be clearly defined, as soon as they become part of any
specific User Story – creating the story forces us to consider
how it will be tested. These factors are often overlooked or
worse, poorly or incorrectly defined, in more “traditional” ap-
proaches. These tests are then able to be incorporated into
the new or existing system as soon as possible. This also
contributes to a substantial knowledge base about the system
being established very quickly.
When considering the question of if Agile Testing approach
should be used on Banking/Financial domain applications the
usual testing answer “it depends” applies. With the move to-
wards more dynamic applications and greater speed to mar-
ket there is a need for Agile techniques across the board in
this domain. Additionally there is the need for very traditional
structured approaches to testing due to the regulatory and
auditory requirements of the industry. Thus what then occurs
is a more “hybrid” approach to the development and testing.
We can use different, less structured, techniques during the
development phase, almost a purist Agile approach (although
Agile is highly structured), and then once the project has been
delivered the testing can stand alone, with moderate support,
to continue the regression testing. The testing however, could
continue to use the fundamentals of Agile Testing to enhance
the understanding of the SUT, and to work with the Business
in undertaking their risk analysis. Agile test techniques should
be seriously considered for the Banking/Finance domain. As
with all development and testing approaches, they should be
implemented after a period of consideration and analysis. The
most important consideration is to ensure that the system is
Tested!
1.Colonial First State reduces time-to-market for core appli-
cations http://www.computerworld.com.au/whitepaper/21615
5?rtid=1&rid=457&location=featured
2.Nancy Feig, Pursuing the Promise of SOA, June 24, 2008,
http://www.banktech.com/printableArticle.jhtml;jsessionid
=RBPIDUTZ5LFSKQSNDLPCKH0CJUNN2JVN?articleI
D=208701020
3. ISTQB Advanced Level Syllabus 2007, www.anztb.org
4.http://www.eclipse.org/community/casestudies/jp_morgan_
final.pdf
5. Linda Newsom-Ray, Software Quality Improvement in Fi-
nancial Services after the Merger
An MKS Whitepaper http://www.computerworld.com.au/in-
dex.php/id;671849297;relcomp;1
6. http://agilemanifesto.org/
7. Lisa Crispin and Tip House, Testing Extreme Programming,
Addison-Wesley, 2003
8. Paul Gerrard, E-Business Testing: Test Techniques and
Tools, Risk-Based E-Business Testing, Part 2, Nov 1, 2000

More Related Content

What's hot

Bussiness needs
Bussiness needsBussiness needs
Bussiness needs
hunni123
 
Week9 Define And Document Business Problems
Week9 Define And Document Business ProblemsWeek9 Define And Document Business Problems
Week9 Define And Document Business Problems
hapy
 
Requirements elicitation
Requirements elicitationRequirements elicitation
Requirements elicitation
Abdul Basit
 

What's hot (19)

Software Engineering: Designing a Better Experience for Communications, Media...
Software Engineering: Designing a Better Experience for Communications, Media...Software Engineering: Designing a Better Experience for Communications, Media...
Software Engineering: Designing a Better Experience for Communications, Media...
 
Systems request
Systems requestSystems request
Systems request
 
ESA for Business
ESA for BusinessESA for Business
ESA for Business
 
How Domain-Driven Design Can Boost Legacy System Modernization
How Domain-Driven Design Can Boost Legacy System ModernizationHow Domain-Driven Design Can Boost Legacy System Modernization
How Domain-Driven Design Can Boost Legacy System Modernization
 
System proposal
System proposalSystem proposal
System proposal
 
Review the five signs that you need a new Segregation of Duties compliance st...
Review the five signs that you need a new Segregation of Duties compliance st...Review the five signs that you need a new Segregation of Duties compliance st...
Review the five signs that you need a new Segregation of Duties compliance st...
 
Announcing DA.PO Augury Data Visualisation Services - may 2013
Announcing DA.PO Augury Data Visualisation Services - may 2013Announcing DA.PO Augury Data Visualisation Services - may 2013
Announcing DA.PO Augury Data Visualisation Services - may 2013
 
The Xoriant Whitepaper: Last Mile Soa Implementation
The Xoriant Whitepaper: Last Mile Soa ImplementationThe Xoriant Whitepaper: Last Mile Soa Implementation
The Xoriant Whitepaper: Last Mile Soa Implementation
 
415 quiz1 answers
415 quiz1 answers415 quiz1 answers
415 quiz1 answers
 
Incepting Enterprise Applications
Incepting Enterprise ApplicationsIncepting Enterprise Applications
Incepting Enterprise Applications
 
The business case for software analysis & measurement
The business case for software analysis & measurementThe business case for software analysis & measurement
The business case for software analysis & measurement
 
SABSA white paper
SABSA white paperSABSA white paper
SABSA white paper
 
Creating successful intranets
Creating successful intranetsCreating successful intranets
Creating successful intranets
 
Bussiness needs
Bussiness needsBussiness needs
Bussiness needs
 
Business analyst
Business analystBusiness analyst
Business analyst
 
10 Steps To Successful Enterprise Software Selection
10 Steps To Successful Enterprise Software Selection10 Steps To Successful Enterprise Software Selection
10 Steps To Successful Enterprise Software Selection
 
Week9 Define And Document Business Problems
Week9 Define And Document Business ProblemsWeek9 Define And Document Business Problems
Week9 Define And Document Business Problems
 
Requirements elicitation
Requirements elicitationRequirements elicitation
Requirements elicitation
 
Dpbok context i
Dpbok   context iDpbok   context i
Dpbok context i
 

Viewers also liked

Advanced unit testing – real life examples and mistakes
Advanced unit testing – real life examples and mistakesAdvanced unit testing – real life examples and mistakes
Advanced unit testing – real life examples and mistakes
Milan Vukoje
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
Confiz
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
Nishant Worah
 
Integration Test Hell
Integration Test HellIntegration Test Hell
Integration Test Hell
David Völkel
 

Viewers also liked (16)

User Testing by Example
User Testing by ExampleUser Testing by Example
User Testing by Example
 
QA Tester Junior
QA Tester JuniorQA Tester Junior
QA Tester Junior
 
Advanced unit testing – real life examples and mistakes
Advanced unit testing – real life examples and mistakesAdvanced unit testing – real life examples and mistakes
Advanced unit testing – real life examples and mistakes
 
Is an agile SDLC an oxymoron?
Is an agile SDLC an oxymoron? Is an agile SDLC an oxymoron?
Is an agile SDLC an oxymoron?
 
Browser-level testing
Browser-level testingBrowser-level testing
Browser-level testing
 
Testing of e-Banking - Case Study
Testing of e-Banking - Case Study Testing of e-Banking - Case Study
Testing of e-Banking - Case Study
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
 
End-2-End Monitoring – Der Prüfstand jedes SLA´s – in 15 Minuten erklärt!
End-2-End Monitoring – Der Prüfstand jedes SLA´s – in 15 Minuten erklärt!End-2-End Monitoring – Der Prüfstand jedes SLA´s – in 15 Minuten erklärt!
End-2-End Monitoring – Der Prüfstand jedes SLA´s – in 15 Minuten erklärt!
 
Unit-testing and E2E testing in JS
Unit-testing and E2E testing in JSUnit-testing and E2E testing in JS
Unit-testing and E2E testing in JS
 
The Impact of Big Data On Marketing Analytics (UpStream Software)
The Impact of Big Data On Marketing Analytics (UpStream Software)The Impact of Big Data On Marketing Analytics (UpStream Software)
The Impact of Big Data On Marketing Analytics (UpStream Software)
 
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
 
Business Process Reengineering Complete
Business Process Reengineering   CompleteBusiness Process Reengineering   Complete
Business Process Reengineering Complete
 
Integration Test Hell
Integration Test HellIntegration Test Hell
Integration Test Hell
 
Software Development 2014: Trends & Benchmarks in Agile, Requirements and Tes...
Software Development 2014: Trends & Benchmarks in Agile, Requirements and Tes...Software Development 2014: Trends & Benchmarks in Agile, Requirements and Tes...
Software Development 2014: Trends & Benchmarks in Agile, Requirements and Tes...
 

Similar to Agile testing and_the_banking_domain_2009

Controlling SOA in Support of Operational Improvement (ISPE PE Vol 31 No 4 - ...
Controlling SOA in Support of Operational Improvement (ISPE PE Vol 31 No 4 - ...Controlling SOA in Support of Operational Improvement (ISPE PE Vol 31 No 4 - ...
Controlling SOA in Support of Operational Improvement (ISPE PE Vol 31 No 4 - ...
David Stokes
 
Information Systems CapstoneCo.docx
Information Systems CapstoneCo.docxInformation Systems CapstoneCo.docx
Information Systems CapstoneCo.docx
jaggernaoma
 
_03 Experiences of Large Banks
_03 Experiences of Large Banks_03 Experiences of Large Banks
_03 Experiences of Large Banks
Jay van Zyl
 
Online student management system
Online student management systemOnline student management system
Online student management system
Mumbai Academisc
 
UCMDB _Predictive Change Impact Analysis circa 2009
UCMDB _Predictive Change Impact Analysis circa 2009UCMDB _Predictive Change Impact Analysis circa 2009
UCMDB _Predictive Change Impact Analysis circa 2009
djasso7494
 

Similar to Agile testing and_the_banking_domain_2009 (20)

Application Rationalization | Torry Harris Whitepaper
Application Rationalization | Torry Harris WhitepaperApplication Rationalization | Torry Harris Whitepaper
Application Rationalization | Torry Harris Whitepaper
 
Yapp methodology anjo-kolk
Yapp methodology anjo-kolkYapp methodology anjo-kolk
Yapp methodology anjo-kolk
 
The DevOps promise: IT delivery that’s hot-off-the-catwalk and made-to-last
The DevOps promise:  IT delivery that’s hot-off-the-catwalk and made-to-lastThe DevOps promise:  IT delivery that’s hot-off-the-catwalk and made-to-last
The DevOps promise: IT delivery that’s hot-off-the-catwalk and made-to-last
 
Controlling SOA in Support of Operational Improvement (ISPE PE Vol 31 No 4 - ...
Controlling SOA in Support of Operational Improvement (ISPE PE Vol 31 No 4 - ...Controlling SOA in Support of Operational Improvement (ISPE PE Vol 31 No 4 - ...
Controlling SOA in Support of Operational Improvement (ISPE PE Vol 31 No 4 - ...
 
eBook Spreadsheet to WebAPP
eBook Spreadsheet to WebAPPeBook Spreadsheet to WebAPP
eBook Spreadsheet to WebAPP
 
Transformation of legacy landscape in the insurance world
Transformation of legacy landscape in the insurance worldTransformation of legacy landscape in the insurance world
Transformation of legacy landscape in the insurance world
 
Platform Driven Finance Architecture
Platform Driven Finance ArchitecturePlatform Driven Finance Architecture
Platform Driven Finance Architecture
 
Information Systems CapstoneCo.docx
Information Systems CapstoneCo.docxInformation Systems CapstoneCo.docx
Information Systems CapstoneCo.docx
 
Improving Speed to Market in E-commerce
Improving Speed to Market in E-commerceImproving Speed to Market in E-commerce
Improving Speed to Market in E-commerce
 
Unified Process
Unified Process Unified Process
Unified Process
 
The Use of Spreadsheets: As it relates to Section 404 of the Sarbanes-Oxley Act.
The Use of Spreadsheets: As it relates to Section 404 of the Sarbanes-Oxley Act.The Use of Spreadsheets: As it relates to Section 404 of the Sarbanes-Oxley Act.
The Use of Spreadsheets: As it relates to Section 404 of the Sarbanes-Oxley Act.
 
The Use of Spreadsheets: As it relates to Section 404 of the Sarbanes-Oxley Act.
The Use of Spreadsheets: As it relates to Section 404 of the Sarbanes-Oxley Act.The Use of Spreadsheets: As it relates to Section 404 of the Sarbanes-Oxley Act.
The Use of Spreadsheets: As it relates to Section 404 of the Sarbanes-Oxley Act.
 
Technology Controls in Business - End User Computing
Technology Controls in Business - End User ComputingTechnology Controls in Business - End User Computing
Technology Controls in Business - End User Computing
 
Unleash the agile power bridging the gap between development and operations...
Unleash the agile power   bridging the gap between development and operations...Unleash the agile power   bridging the gap between development and operations...
Unleash the agile power bridging the gap between development and operations...
 
_03 Experiences of Large Banks
_03 Experiences of Large Banks_03 Experiences of Large Banks
_03 Experiences of Large Banks
 
Quality at the speed of digital
Quality   at the speed of digitalQuality   at the speed of digital
Quality at the speed of digital
 
Online student management system
Online student management systemOnline student management system
Online student management system
 
Blog 2016 16 - The Future is Now
Blog 2016 16 - The Future is NowBlog 2016 16 - The Future is Now
Blog 2016 16 - The Future is Now
 
UCMDB _Predictive Change Impact Analysis circa 2009
UCMDB _Predictive Change Impact Analysis circa 2009UCMDB _Predictive Change Impact Analysis circa 2009
UCMDB _Predictive Change Impact Analysis circa 2009
 
Nihilent’S Testing Services Case Profiles Nihilent.1
Nihilent’S Testing Services Case Profiles Nihilent.1Nihilent’S Testing Services Case Profiles Nihilent.1
Nihilent’S Testing Services Case Profiles Nihilent.1
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Agile testing and_the_banking_domain_2009

  • 1. 6 QUALITY MATTERS Q2 2009 BY: SHARON ROBSON Banking/Finance and Software Testing have a lot in common – it is all about risk! Even more specifically it is about the clear understanding of the risks being undertaken. The Banking/ Finance domain is focused on risk analysis of their clients and the investments that the institution makes, whereas Testing is about risk analysis and reporting on the Quality of software (applications) under test. In the IT world, the Banking/Finance sector is perceived as being conservative; characterised by being not quick on the uptake of new approaches or techniques, very risk adverse, as well as being particularly price sensitive. This has lead to a reliance on the older, more “traditional” development approaches such as the Waterfall or V-Model. These ap- proaches have been considered to be robust and conserva- tive, and although not cheap, have been used extensively in the Banking and Finance domain. However times are chang- ing and now there is the push for getting more products to market and getting them there faster and much more cost effectively[1]. To understand how to approach testing in the Banking/Finance Domain, there needs to be a model of the domain. There are many types of Banking and Financial applications within this industry vertical, so I will generalise (see Figure 1). Figure 1
  • 2. 7QUALITY MATTERS Q2 2009 If I postulate that the banking and finance domain is typically characterised by multi–tier functionality [2], which in itself im- plies a complex “system of systems” [3]. The systems them- selves tend to be the result of bespoke development, maybe internal IT groups, or outsourced [4]. Either way, the systems are theoretically well documented, however the documenta- tion is either grossly out of date (as with most documentation) or has been lost in the myriad of buy-outs, mergers or take- overs also typical in the Banking/Finance domain. Another characteristic of the Banking/Finance systems is the preponderance of interfaces; bank to bank, bank to branch, bank to web-users, just a few obvious examples. These days there is highly probably a Web Interface as well as many spe- cific user interfaces. The result is many users on distributed systems each with a different business need and approach to the system. To further compound the complex situation, the transactions at both the data level, and the User Interface (UI) can be com- plex, often requiring business logic to be applied at the client side and server side and, as is happening more and more now, in a Service Layer or Business Logic Layer [1][4]. Most if not all of the activity through the system will require Secure Transactions, both batch and synchronous (real-time). Another key characteristic, especially when in comes to the sale of various Banking/Finance “products” is the huge number of Business Rules that must be maintained and moni- tored. There is little margin for error, as this is the fundamental requirement of a banking system! This is reinforced by the need for extensive regulation and auditing functionality. Re- porting is often the way that audits and confirmation of ad- herence to regulations are implemented and is always a key component of Banking systems, even more so now that there are more stringent requirements as a result of the implemen- tation of regulations such as Sarbanes-Oxley and Basel II. Effective Document Management is key to the retention of important data and is usually implemented to assist with re- porting and auditing requirements, as well as implementation of the Business Rules. At an infrastructure level, Banking/Finance systems tend to have robust back up procedures, disaster recovery systems, and high availability requirements. Coupled with this are mas- sive storage systems, requiring speedy transactions and rapid data transfer. The complicating factor with this infrastructure is that it often involves integration of myriad disparate legacy systems as the result of mergers and take-overs which are typical of this industry [5]. To summarise the generic Banking/Finance system, I see the following key characteristics: • Multi-tier Functionality • Systems of Systems – Large Scale Integration • Bespoke Development • Lacking Documentation • Many Interfaces • Distributed Systems • Disparate Use Cases • Complex Transactions • Secure Transactions (Batch and Real Time) • Speedy Transactions • Complex Business Logic (Client and Server) • Auditable • Document Management • Back Up/Recovery/Disaster Recovery • Massive Storage Systems Now the application domain has been defined, let us consider how we can approach testing it. “Agile” development methods have been developed to try and eliminate the issues associated with the more traditional de- velopment approaches. The Agile Manifesto [6] focused on many aspects of software development, but it terms of quick delivery it can be highlighted by the following two principles: • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter time- scale. • Business people and developers must work together daily throughout the project. For implementing new systems in any domain, even the Bank- ing/Finance sector, an Agile approach to the testing makes a lot of sense. No matter what Software Development Lifecycle (SDLC) is followed, testing continues to be about analysis and reporting on the Quality of the System Under Test (SUT). In Agile development approaches this lends itself to a risk-based approach from the business perspective, contrasting with more traditional development approaches. This risk analysis is done with the Business Users, by the Business Users. This seems to be ideally suited to risk adverse, yet economically con- strained domains, such as Banking/Finance. Agile test techniques should not be taken on without due consideration to the dynamics of the specific project. I will consider the generic characteristics of the Banking/Finance systems as defined above and if, in general, they are suitable for an Agile Testing approach. With this knowledge you can then consider the particular project you are focusing on. Sharon has worked in Software Testing for over 7 years and in the IT industry for over 17. Sharon works for Software Education Associates Limited as a Knowledge Engineer doing training and consultancy in the Software Testing domain. Sharon is a founding board member of Australia New Zea- land Testing Board (ANZTB www.anztb.org) and is the cur- rent chairperson of the ISTQB Marketing Working Group. Sharon has spoken publicly about software testing and cer- tification at many events, including STANZ 2007 and 2008 and various Test Professional Network (TPN) and Special Interest Group in Testing (SIGIST) meetings.
  • 3. 8 QUALITY MATTERS Q2 2009 As noted previously, Agile is all about access to the Business User (customer), and rapid turn around of software which can be done via incremental and rapid (small batches of func- tionality) development cycles. Incumbent in this approach is design collaboration and review, less documentation, auto- mated testing, early and often code delivery, unit and smoke tests before “independent” testing, and importantly, business experts defining and participating in Acceptance tests [7]. So, the key question is “What are we testing?” or more specif- ically “What is the objective of this test?” If we are focusing on Large Scale Integration [8] for example, which is often a char- acteristic of Banking/Finance applications, theoretically this is technically difficult and requires extensive knowledge of all the systems at the interface definition level. This information may not be available for all the systems in the Integration scope; thus an Agile testing approach could work very well here. An Agile testing approach would define the User Stories which in turn define how the various systems will be required to behave in specific circumstances – without needing the in- depth documentation. The Testing mindset of applying positive and negative test conditions will assist in driving out many undefined require- ments, so by working with the Business at all levels the re- quirements for the interfaces and integration can be defined and tested. Although there are technical integration require- ments, the key “needs” still have to be defined by the Busi- ness. The tests should and could even be defined in such a way that they are automated and retained for ongoing regres- sion and integration testing. If the project is adding functionality to an existing system, testing the new functionality under an Agile Development ap- proach is straight-forward, but how do we make allowances for the potentially extensive Regression testing? The big question here is when will the Regression testing occur in the Agile lifecycle? What should be within the iteration, and what should be excluded from the iteration? Of course, the stand- ard testing answer is “it depends” – the key point is to identify what the dependencies are. New functionality could be developed under an Agile ap- proach, but then integrated using more traditional methods, or even the reverse, traditional methods for the initial devel- opment and Agile testing for the Integration and Regression test activities. For example if the project was about installing a Service Oriented Architecture (SOA) infrastructure, which is increasingly common in the Industry, and incorporating legacy systems with new “Commercial Off The Shelf” prod- ucts (COTS) [2]. The business logic layer may be done in an Agile approach, or the new functionality could be developed using the more traditional methods. Either way, what about the Integration and Regression testing? There are two types of regression testing to consider; regression testing within the Iteration and regression testing when the new functionality is integrated within the system as a whole, or when the new system is integrated within the “system of systems”. Applying an Agile Testing approach to the regression testing is a risk, the main risk being that the right people are not made available or consulted on what is important to the business for the regression User Stories. Sometimes this could be due to the merger or take over of an existing system, where the knowledge has not been retained. However when there is lit- tle or no documentation, surely this is the ideal time to involve the Business and have them understand the risks, the testing approach, and define the Acceptance Criteria; which is a fun- damental tenant of the Agile Testing approach. Another risk with the Agile approach is coverage, can we ensure we achieve sufficient coverage for the Business and the new implementation? This comes back to the Business and working closely with the Development Team and the Test Team to clearly define the User Stories that are associated with regression. The Agile approach allows the discussion and analysis of the risks and implications of the new develop- ment, and any further testing that must take place. Another characteristic of the Banking/Finance domain is the heavily regulated environment, which implies lots of regres- sion testing – this is ideal for an Agile testing approach as the regression tests are an integral part of the development life- cycle. Unit Testing and Automated Test Suites are part of the Agile approach, and when done correctly provide a traceable and re-usable framework for all development and testing. Of course this only applies to the systems that have been devel- oped using an Agile approach. When considering the Integra- tion or Regression testing, an Agile testing approach allows the ongoing development and retention of these frameworks, independently of any specific development lifecycle. The Agile testing approach advocates a high degree of tool usage which means that the performance and security as- pects of the testing can be included in the standard System and Acceptance test suites. These can be moved from the domain of the specialists, once written, and incorporated into the standard suite of Regression and Acceptance tests, meaning that this area is no longer over looked or considered SYSTEMS OF SYSTEMS – LARGE SCALE INTEGRATION BESPOKE DEVELOPMENT LACKING DOCUMENTATION
  • 4. 9QUALITY MATTERS Q2 2009 “too hard” . Agile approaches with their inherent risk analysis enable risk mitigation by focusing on the “hard” things earlier in the development cycle, and by doing so, escalating them in the order of development and implementing them as early as possible. Additionally when the Agile approach is taken to testing, the Business User is able to define, via their User Stories, the importance and/or risks associated with these aspects of the system. Agile testing approaches mean that the Business User is also there to participate in the testing, or demonstra- tions, so that they can say when it is “good-enough” instead of assigning arbitrary and sometimes un-testable numbers to performance characteristics. They are gathering a better un- derstanding of their system, earlier in the development cycle. An Agile testing approach is excellent for other non-functional testing; with continual integration, we can focus on the non- functional or Quality aspects of the system (providing we have the appropriate test environment) and have continual testing and re-factoring (if required) of the architecture and code, potentially without the use or “interference” caused by Browsers or other distracting UIs [8]. The use of stubs and harnesses, and other test tools coupled with frequent cus- tomer demonstrations means that they are able to focus on the performance without the influences of any UI driving their understanding of the system. An Agile approach to testing also allows the acceptance crite- ria to be clearly defined, as soon as they become part of any specific User Story – creating the story forces us to consider how it will be tested. These factors are often overlooked or worse, poorly or incorrectly defined, in more “traditional” ap- proaches. These tests are then able to be incorporated into the new or existing system as soon as possible. This also contributes to a substantial knowledge base about the system being established very quickly. When considering the question of if Agile Testing approach should be used on Banking/Financial domain applications the usual testing answer “it depends” applies. With the move to- wards more dynamic applications and greater speed to mar- ket there is a need for Agile techniques across the board in this domain. Additionally there is the need for very traditional structured approaches to testing due to the regulatory and auditory requirements of the industry. Thus what then occurs is a more “hybrid” approach to the development and testing. We can use different, less structured, techniques during the development phase, almost a purist Agile approach (although Agile is highly structured), and then once the project has been delivered the testing can stand alone, with moderate support, to continue the regression testing. The testing however, could continue to use the fundamentals of Agile Testing to enhance the understanding of the SUT, and to work with the Business in undertaking their risk analysis. Agile test techniques should be seriously considered for the Banking/Finance domain. As with all development and testing approaches, they should be implemented after a period of consideration and analysis. The most important consideration is to ensure that the system is Tested! 1.Colonial First State reduces time-to-market for core appli- cations http://www.computerworld.com.au/whitepaper/21615 5?rtid=1&rid=457&location=featured 2.Nancy Feig, Pursuing the Promise of SOA, June 24, 2008, http://www.banktech.com/printableArticle.jhtml;jsessionid =RBPIDUTZ5LFSKQSNDLPCKH0CJUNN2JVN?articleI D=208701020 3. ISTQB Advanced Level Syllabus 2007, www.anztb.org 4.http://www.eclipse.org/community/casestudies/jp_morgan_ final.pdf 5. Linda Newsom-Ray, Software Quality Improvement in Fi- nancial Services after the Merger An MKS Whitepaper http://www.computerworld.com.au/in- dex.php/id;671849297;relcomp;1 6. http://agilemanifesto.org/ 7. Lisa Crispin and Tip House, Testing Extreme Programming, Addison-Wesley, 2003 8. Paul Gerrard, E-Business Testing: Test Techniques and Tools, Risk-Based E-Business Testing, Part 2, Nov 1, 2000