SlideShare a Scribd company logo
1/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Experience and best practices from
automated software testing in the
finance domain
Vahid Garousi, PhD, PEng
Affiliations:
Associate Professor of Software Engineering (Senior Lecturer)
Queen’s University Belfast, Northern Ireland, UK
Director and Managing Consultant
Bahar Software Engineering Consulting Limited, UK
vahid@vgarousi.com
www.vgarousi.com
@vgarousi
vgarousi
Invited talk for the NatWest QCOE (NWG)
Testing Conference
Oct. 19, 2021
1:
2:
2/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Outline
 My career background
 Past/ongoing software-testing projects …
 Experience and best practices from automated testing
in two finance projects (two of our clients/partners):
 Testing the web and mobile applications of BtcTurk A.Ş.:
Turkey's first and the world’s fourth Bitcoin and
cryptocurrency exchange platform. (Project running since
2020-)
 Testing the mobile applications of KuveytTürk Bank A.Ş.: a
large Turkish bank. (Project ran between 2018-2020)
 Note: The information, presented in this talk, have either
already been published as technical articles – and OK’ed by
the clients - thus are “unclassified” and there is permission
to share them
 Observations / retrospective
 … of best practices in automated testing in the finance
domain
 Q/A
3/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
My background (international experience)
Education:
PhD in Software Engineering, Carleton University, Ottawa, Canada, 2006
MSc in Computer Engineering, University of Waterloo, Canada, 2003
BSc in Software Engineering, Sharif University of Technology, Tehran, Iran, 2000
Work experience:
Associate Professor, Queen’s University Belfast, UK, 2019-
Managing Consultant, Bahar Software Engineering Consulting, since 2001-
Past:
Associate Professor, Wageningen University, Netherlands, 2017-2019
Associate Professor, Hacettepe University, Ankara, Turkey, 2015-2017
Associate Professor, University of Calgary, Canada, 2006-2014
Ethnic background: Turkish / Canadian
2013
2019
2015
2009
4/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Consulting projects (a partial list)
 Improving capability and maturity of test automation projects
 Client: Testinium is a large test-services company in Turkey
 Project running since 2019-
 Test automation of web and mobile applications
 Client: BtcTurk A.Ş., Turkey's first and the world’s fourth Bitcoin and cryptocurrency exchange
platform
 Project running since 2020-
 Test automation of mobile applications
 Client: KuveytTürk Bank A.Ş., a large Turkish bank
 Duration: 2018-2020
 Improving test automation practices
 Client: HAVELSAN (Hava Elektronik Sanayi, Aviation Electronics Industries)
 Duration: 2015-2017
 Automated testing of law-management software suite
 Client: Innova IT Solutions, Ankara, Turkey
 Duration: 2016-2017
 Development and assessment of effective test automation infrastructure
 Client: MR Control Systems International, Calgary, Canada
 Duration: 2008-2011
 Decision-support for deciding “when to automate testing” and “what (test cases) to
automate”
 Client: Pason Systems Corporation, Calgary, Canada
 Duration: 2010-2012
 And many more…
5/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Outline
 My career background
 Past/ongoing software-testing projects …
 Experience and best practices from
automated testing in two finance projects
(two of our clients/partners):
 Testing the web and mobile applications of BtcTurk
A.Ş.: Turkey's first and the world’s fourth largest
Bitcoin and cryptocurrency exchange platform.
(Project running since 2020-)
 Testing the mobile applications of KuveytTürk Bank
A.Ş.: a large Turkish bank. (Project ran between 2018-
2020)
 Observations / retrospective
 … of best practices in automated testing in the finance
domain
 Q/A
6/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Systems Under Test (SUT)
 Mobile app:
BtcTurk (BtcTurk.com) serves more
than 3.8 million registered users
7/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Systems Under Test (SUT)
 Web apps:
 A simple version,
and a pro version
8/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Setup of our Test Automation Team
Test Automation
Engineers
Test
Automation
Consultant
Client
Test Automation
Team-lead
Product owner,
and Software
Engineers
…
Systems Under
Test (SUT)
Test
Develop / update
Co-developing the test
automation strategy and
monitoring the entire test
process
PARTNERSHIP
SINCE 2019
9/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Test automation strategy
GUI
API
Business Logic
Database
Calls
Calls
Returns data
Returns data
Class
(Unit)
Class
(Unit)
…
System Under Test (SUT)
and its architecture
GUI testing
API / service
testing
Unit tests
Developed by the
Software Engineers
at BtcTurk (not us)
Using the BDD
tool: Gauge
Test
Test
Test
Two approaches:
1- Model-based Testing
2-BDD (tool: Gauge)
Test automation
suites:
Some
example
test
artifacts
next…
10/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Model-based Testing (MBT): Basics
 Let’s first see: What is
Model-based testing
(MBT)?
 Model-based testing is
the application of model-
based design for
systematic and
automated test-case
design and, optionally,
also for automated
execution of test cases.
 An example:
Valid login
• Nodes, or vertices: “States”
(pages) of the system to verify
• Edges or transitions: Events
such as valid login, click
Let’s hear from you: Have you ever used MBT in your projects? If yes, how have you
used it? Join at slido.com #777
11/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Model-based Testing (MBT): Basics
 Developing the “behavior” of nodes/edges in Java using
the Selenium framework
public void e_valid_login() {
WebElement userNameElement =
methodsPage.findElement(By.id("username"));
userNameElement.clear();
userNameElement.sendKeys(email);
WebElement passwordElement =
methodsPage.findElement(By.id("password"));
passwordElement.clear();
passwordElement.sendKeys(password);
methodsPage.findElement(By.cssSelector(
"input[class$="login-page__submit-btn"][value="Sign In"]")).click();
}
12/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Strategy for Model-based Testing (MBT)
 Our strategy: we designed two MBT test suites:
 An end-to-end test suite (like a smoke test): only the major paths
through the app
 A complete regression test suite: exercising all the pages and all
paths (five main screen, many tabs, and “many” possible paths)
 Details next…
 MBT test tool:
 An open-source popular tool, named GraphWalker
(graphwalker.github.io)
 It is in wide use, e.g., in companies such as Spotify, and testing the
information kiosks software of New York’s transportation authority
(bit.ly/MBTGuidingTestingDecisions)
13/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
MBT of BtcTurk mobile app
 End-to-end test suite (like a smoke test; mainly “Happy” paths):
Login
All currency
pairs
A pair’s
details page
My wallet
Buy
Sell
Buy Successful
Sell Successful
View latest
transactions
Buy/sell page
My wallet
My
transactions
Limit tab
Pair Command
Buy Command
Successful
Cancel
Command
My wallet
Sell Command
Successful
Start
Since team members
were all Turkish, Turkish
language is used for
naming ;) Also, UI has
two languages
English
translations
14/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
MBT of BtcTurk mobile app
 The complete test suite: exercising all the
pages and paths):
 8 test models, 303 nodes, 567 edges (transitions)
Login LoginPro
Currency
pairs
My
wallet
My
Account
Deposit/
Transfer
(Funding)
Trade
Panel
Move
among
Tabs
15/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
MBT of BtcTurk mobile app
 The complete test suite: how the 8 test models are connected
 One model for each app “page” (tab) 
Login, regular
version of app
Login Pro version
5
3
4
2
16/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
MBT of BtcTurk mobile app
 The complete test suite: exercising all the pages and
paths): Full MBT run takes about 2 hours…
www.youtube.com/watch?v=dOgHQDnxnKw
17/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
MBT: What are its benefits?
 Let me ask you first…
 Tangible benefits:
 Covering more test paths (higher “path” coverage) with less effort 
Saving time and money
 Thus, leading to increased test effectiveness in detection of faults
 Intangible, but important, benefits:
 Ability to see the “big picture” of test-case design, and the models
being directly executable
 Making the work of test engineers more “interesting” / fun and more
organized (according to feedback from our team members)
 And much more…
One of our meetings in
Istanbul, 2019
(before COVID)
Join at slido.com #777
18/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
MBT: Challenges that we faced and how we addressed them
Challenges How we addressed them
Challenge 1- Choosing the “right” MBT tool
from amongst the very large pool of available
MBT tools
Tools Criteria
1-Matching test requirements- Essential 2a-Right level of model abstraction- Essential
TestModeller - Exhaustive activity diagram, resulting in repetition of nodes
(youtu.be/nctAQHsmjpI)
Failed the essential criterion 2
TestOptimal Supports web/mobile apps, but not specific for them Web page UI flow diagram
Tricentis Tosca Seems like a test-data management tool (youtu.be/f6aBpa95kLc). While the introduction on its
website mentions MBT, support for MBT is very limited. Not possible to design cycles and
complex flow/edge structures
Failed the essential criterion 1
-
SpecExplorer Support for MBT of web/mobile apps seems very limited. Most of focus is on API and unit
testing.
Failed the essential criterion 1
-
GraphWalker Specific for web/mobile apps Web page UI flow diagram
NModel - Test model is in a programmatic format, instead of visual
diagrams (doi.org/10.1007/978-3-642-05031-2_14)
Failed the essential criterion 2
TCases Support for MBT of web/mobile apps seems very limited. Most of focus is on test-case design
for input space exploration.
Failed the essential criterion 1
-
ModBat Focus is on API testing. No support for MBT of web/mobile apps. (fmv.jku.at/modbat)
Failed the essential criterion 1
-
MoMuT Focus is on embedded system testing. No support for MBT of web/mobile apps. (momut.org)
Failed the essential criterion 1
-
CrawlJax It produces as output a state-flow graph of the dynamic DOM states and the event-based
transitions between them. Focus is not on GUI testing of web apps
Failed the essential criterion 1
-
(1) the tool matching the test requirements, e.g., type of SUT (for us, this was web/mobile apps)
(2) tool being fit to the operating environment, e.g., “right level” of model abstraction, team’s expertise
(3) tool’s usability
(4) availability of support for the tool
(5) tool’s cost
We did a research on all knowledge and evidence shared
on the internet by experts (53 blogs and white papers),
about this topic. We synthesized the criteria for choosing
the right tool under into five categories:
19/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
MBT: Challenges that we faced and how we addressed them
Challenges How we addressed them
Challenge 2- We observed a general
shortage of knowledge and resources on
best practice and “design patterns” for
designing MBT models
Challenge 3-
By sharing the best practices, we have
identified a number of design patterns,
e.g., one model for each web/mobile app
page, clear separation of events (edges)
and assertions (nodes)
Four graph traversal algorithms (test-
path “generators”) are supported by
GraphWalker: Random, Weighted
random, Quick random, A* (A-star).
Which one shall we use?
We are investigating the different options
and assessing their strength, e.g.. Fault
detection effectives versus efficiency,
(time taken for test execution)
20/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Let’s see another test approach in our BtcTurk project
GUI
API
Business Logic
Database
Calls
Calls
Returns data
Returns data
Class
(Unit)
Class
(Unit)
…
System Under Test (SUT)
and its architecture
GUI testing
API / service
testing
Unit tests
Developed by the
Software Engineers
at BtcTurk (not us)
Using the BDD
tool: Gauge
Test
Test
Test
Two approaches:
1- Model-based Testing
2-BDD (tool= Gauge)
Test automation
suites:
Reminder: Our test automation strategy:
21/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
BDD testing of BtcTurk apps, using Gauge tool
Develops
Gauge test-suite
Web
browser
Test
step
Test specification
file Test-step
implementation
Test
scenario
1...*
Test concept
1...*
1
1
In Java or
another
language System Under
Test (SUT)
Call
Call Return
Gauge
Call
Return
Test
outputs
Return
Anlayzes
Test enigneer
Call
A specification file:
(can have many test scenarios)
A scenario
A concept:
A step
Step implementations:
Examples from: docs.gauge.org/overview.html
22/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
BDD tools: Cucumber versus Gauge
 Behaviour-Driven Development (BDD) tools such as Cucumber are
powerful tools for automated testing
 But tools such as Cucumber have certain limitations:
 They often enforce strict syntax for test cases, like the “Given-When-
Then” format, which may not always be easy to write for all test cases.
 The more recent test-automation framework Gauge addresses that
limitation since it does not prescribe the BDD testing process with a
strict syntax.
 In Gauge, writing a test case is as easy as writing down the flow of test
cases in several itemized sentences in a natural language, like English.
 Thus, Gauge could be a better tool than Cucumber
23/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
BDD testing of BtcTurk apps, using Gauge tool
 We started our test-suite development… But soon we faced a number
of challenges
 Challenge 1: See below… A tool is NOT enough. We need “systematic” test-case design
Terms are mostly in Turkish, but I am
sure you can see some issues …
Issues here:
 Duplications in test code
 Test logic: is, sometimes, hard to
understand (low understandability)
 Test code: Hard to read and hard to
maintain
  There should be a “better” way
of developing test code (scripts)…
Inside element “X”, write value of “Y”
24/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
BDD testing of BtcTurk apps, using Gauge tool
 These challenges have also been observed by many other test engineers
 Challenge 1: Having a test tool is NOT enough. Do you agree?
25/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
BDD testing of BtcTurk apps, using Gauge tool
 For this purpose, we devised a systematic test-case “design” approach, using test
models which we designed manually (essentially flow diagram of the web/mobile app)
 We derive four types of test cases from the model:
1. Transition from the current node (page) to its next neighbouring nodes (pages)
2. Node to itself (often, error checking, like: Invalid Login)
3. Input UI tests (in single node/page/unit level)
4. End-to-end testing: testing a path of nodes
https://www.slideshare.net/vahidgarousi/test-
automation-with-the-gauge-framework-experience-
and-best-practices-seetest-2020-conference
More details in…
26/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
BDD testing of BtcTurk apps, using Gauge tool
 Example Gauge test suites:
27/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
BDD testing of BtcTurk apps, using Gauge tool
 Another challenge:
 The test-script LOC of our Gauge test-suites soon expanded and reached more than 50K
test LOC
 So it was clear that, just like application (production) code-base, test code-base also
needs refactoring, maintenance and quality improvement (e.g., better test-code design /
architecture / modularity)
 Solution:
 We had developed an in-house tool for this need in our past projects, so we used it…
 Our GaugeDepend tool
 … is a dependency analysis
tool for visualizing and
exploring dependency
graphs for Gauge test suites.
 Such as visualization will
allow quality assessment of
test-automation scripts.
 Is open source:
github.com/vgarousi/
GaugeDepend
 Demo video:
youtube.com/watch?v=oehq
DgX8R8E
Test
specification
files:
Test
scenario: Test steps: Test concepts
(Gauge terminology):
Let’s zoom in…
28/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Outline
 My career background
 Past/ongoing software-testing projects …
 Experience and best practices from
automated testing in two finance projects
(two of our clients/partners):
 Testing the web and mobile applications of BtcTurk
A.Ş.: Turkey's first and the world’s fourth Bitcoin and
cryptocurrency exchange platform. (Project running
since 2020-)
 Testing the mobile applications of KuveytTürk Bank
A.Ş.: a large Turkish bank. (Project ran between 2018-
2020)
 Observations / retrospective
 … of best practices in automated testing in the finance
domain
 Q/A
29/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Automated testing of the mobile applications of KuveytTürk Bank
 App Under Test
(AUT):
 The app had 73
GUI screens
(pages)
30/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Automated testing of the mobile applications of KuveytTürk Bank
 We used Appium to develop a large GUI test suite:
 In the first phase: 28 test classes in Java using Appium
 Testing 28 of the app’s total 73 GUI screens (pages) – the
most critical features (risk-based testing)
 In total, 16,351 test LOC (TLOC)
 In the 2nd phase: we tested all the GUI pages
31/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Automated testing of the mobile applications of KuveytTürk Bank
 Some example test code (Java Appium framework):
32/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Automated testing of KuveytTürk apps: Challenges observed and best
practices
 We observed a number of “classical” challenges,
e.g., the need to better design and develop the
test scripts
 Best practices that we applied:
 Use of test (design) patterns (xunitpatterns.com) such as: the
Four-Phase Test pattern (setup of test “fixture”, exercise / call
the SUT, result verification, and fixture teardown)
33/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Automated testing of KuveytTürk apps: Challenges observed and best
practices
 Another best practice that we applied:
 Decoupling of test execution parameters from test scripts (an
example is below)
34/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Testing the mobile applications of KuveytTürk Bank A.Ş.
 Our mobile device farm:
More details in:
35/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Outline
 My career background
 Past/ongoing software-testing projects …
 Experience and best practices from
automated testing in two finance projects
(two of our clients/partners):
 Testing the web and mobile applications of BtcTurk
A.Ş.: Turkey's first and the world’s fourth Bitcoin and
cryptocurrency exchange platform. (Project running
since 2020-)
 Testing the mobile applications of KuveytTürk Bank
A.Ş.: a large Turkish bank. (Project ran between 2018-
2020)
 Observations / retrospective
 … of best practices in automated testing in the finance
domain
 Q/A
36/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Experience-based observations: Automated testing in finance
 We all know that quality of web and
mobile apps in finance are extremely
business-critical
 Automated testing of these apps are
crucial and critical to business success
 At the end of the day, we need a
combination of automated and manual
(exploratory) testing
 Each would find different types of
defects, and have pro’s and con’s
 With experience in these topics, we can
certainly plan and execute a successful
test approach
Azimo: Global
Money
Transfers
Australia and
New Zealand
Banking Group
37/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
Outline
 My career background
 Past/ongoing software-testing projects …
 Experience and best practices from
automated testing in two finance projects
(two of our clients/partners):
 Testing the web and mobile applications of BtcTurk
A.Ş.: Turkey's first and the world’s fourth Bitcoin and
cryptocurrency exchange platform. (Project running
since 2020-)
 Testing the mobile applications of KuveytTürk Bank
A.Ş.: a large Turkish bank. (Project ran between 2018-
2020)
 Observations / retrospective
 … of best practices in automated testing in the finance
domain
 Q/A
38/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
BACK UP SLIDES
39/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
R&D Projects (in the UK, EU and Turkey)
 Two recent projects:
 XANDAR: X-by-Construction Design framework for Engineering
Autonomous & Distributed Real-time Embedded Software Systems
(2021-2024)
 Eight (8) partners from across Europe, including five industry and
three academic partners
 Budget: €5 million Euros
 I “lead” the Work Package (WP) on Verification and Validation (V&V)
 TESTOMAT (The Next Level of Test Automation)
 Project funded by the EU
 34 partners from across Europe
 Budget: €21 million Euros
 www.testomatproject.eu (2018-2020)
 And 12 other major projects…
40/37
Vahid Garousi Experience and best practices from automated testing in the finance domain
BDD testing using Gauge tool: Challenges and solutions
 Opinions of other test engineers:
 “If you feel that Cucumber is a pain when used in large projects due to its
Given-When-Then syntax becoming messy in long run, Gauge can take out
that pain to some extent.
 Even here, the flexibility of free text can be a demerit as they don’t have a
defined format.
 But tests may end up looking like a messy text document unless imposed strict
restrictions”.
 https://medium.com/@divi6.1990/why-i-chose-gauge-over-cucumber-5b3de478d889
 “Gauge follows Markdown Syntax for scripting the tests in an unstructured
way - which means more liberty to make the test like a specific document and
also more risk of ending up with scripted tests in many different styles.
 Having some in-team standards will help to prevent any chaos.” [8]
 www.linkedin.com/pulse/things-consider-when-choosing-best-test-automation-framework-akbari
Ad

More Related Content

What's hot (20)

ICT for Covid-19 (Novel Coronavirus) Risk Response
ICT for Covid-19 (Novel Coronavirus) Risk ResponseICT for Covid-19 (Novel Coronavirus) Risk Response
ICT for Covid-19 (Novel Coronavirus) Risk Response
Yalcin Gerek
 
Software Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaSoftware Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | Edureka
Edureka!
 
Smart : Comprehensive and unified framework for test automation of web and mo...
Smart : Comprehensive and unified framework for test automation of web and mo...Smart : Comprehensive and unified framework for test automation of web and mo...
Smart : Comprehensive and unified framework for test automation of web and mo...
Anmol Bagga
 
Thesis presentation over Web Development
Thesis presentation over Web DevelopmentThesis presentation over Web Development
Thesis presentation over Web Development
Aman Khan
 
Test Automation Demonstration with Dr Yongyan Wang by XBOSoft
Test Automation Demonstration with Dr Yongyan Wang by XBOSoftTest Automation Demonstration with Dr Yongyan Wang by XBOSoft
Test Automation Demonstration with Dr Yongyan Wang by XBOSoft
XBOSoft
 
Automating Common Criteria
Automating Common Criteria Automating Common Criteria
Automating Common Criteria
Javier Tallón
 
Test Automation Interview Questions and Answers | Edureka
Test Automation Interview Questions and Answers | EdurekaTest Automation Interview Questions and Answers | Edureka
Test Automation Interview Questions and Answers | Edureka
Edureka!
 
30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienced
dilipambhore
 
Top 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | EdurekaTop 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | Edureka
Edureka!
 
Manual testing real time questions by subbu
Manual testing real time questions by subbuManual testing real time questions by subbu
Manual testing real time questions by subbu
palla subrahmanyam
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | Edureka
Edureka!
 
Top 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | EdurekaTop 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | Edureka
Edureka!
 
PMBOK® Guide Edition 5 vs 6 | Edureka
PMBOK® Guide Edition 5 vs 6 | EdurekaPMBOK® Guide Edition 5 vs 6 | Edureka
PMBOK® Guide Edition 5 vs 6 | Edureka
Edureka!
 
Istqb foundation-and-selenium-java-automation-testing course
Istqb foundation-and-selenium-java-automation-testing courseIstqb foundation-and-selenium-java-automation-testing course
Istqb foundation-and-selenium-java-automation-testing course
Narayanan Palani
 
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...
TEST Huddle
 
Fresher interview question for software testing (QA) manual + basic automation
Fresher interview question for software testing (QA) manual + basic automationFresher interview question for software testing (QA) manual + basic automation
Fresher interview question for software testing (QA) manual + basic automation
Rakesh Hansalia
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | Edureka
Edureka!
 
Manual QA Testing Interview Questions From H2KInfosys
Manual QA Testing Interview Questions From H2KInfosysManual QA Testing Interview Questions From H2KInfosys
Manual QA Testing Interview Questions From H2KInfosys
H2kInfosys
 
Shraddha_Test_Analyst_10_years_Exp
Shraddha_Test_Analyst_10_years_ExpShraddha_Test_Analyst_10_years_Exp
Shraddha_Test_Analyst_10_years_Exp
Shraddha Vishwakarma
 
Synthesizing Continuous Deployment Practices in Software Development
Synthesizing Continuous Deployment Practices in Software DevelopmentSynthesizing Continuous Deployment Practices in Software Development
Synthesizing Continuous Deployment Practices in Software Development
Akond Rahman
 
ICT for Covid-19 (Novel Coronavirus) Risk Response
ICT for Covid-19 (Novel Coronavirus) Risk ResponseICT for Covid-19 (Novel Coronavirus) Risk Response
ICT for Covid-19 (Novel Coronavirus) Risk Response
Yalcin Gerek
 
Software Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaSoftware Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | Edureka
Edureka!
 
Smart : Comprehensive and unified framework for test automation of web and mo...
Smart : Comprehensive and unified framework for test automation of web and mo...Smart : Comprehensive and unified framework for test automation of web and mo...
Smart : Comprehensive and unified framework for test automation of web and mo...
Anmol Bagga
 
Thesis presentation over Web Development
Thesis presentation over Web DevelopmentThesis presentation over Web Development
Thesis presentation over Web Development
Aman Khan
 
Test Automation Demonstration with Dr Yongyan Wang by XBOSoft
Test Automation Demonstration with Dr Yongyan Wang by XBOSoftTest Automation Demonstration with Dr Yongyan Wang by XBOSoft
Test Automation Demonstration with Dr Yongyan Wang by XBOSoft
XBOSoft
 
Automating Common Criteria
Automating Common Criteria Automating Common Criteria
Automating Common Criteria
Javier Tallón
 
Test Automation Interview Questions and Answers | Edureka
Test Automation Interview Questions and Answers | EdurekaTest Automation Interview Questions and Answers | Edureka
Test Automation Interview Questions and Answers | Edureka
Edureka!
 
30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienced
dilipambhore
 
Top 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | EdurekaTop 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | Edureka
Edureka!
 
Manual testing real time questions by subbu
Manual testing real time questions by subbuManual testing real time questions by subbu
Manual testing real time questions by subbu
palla subrahmanyam
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | Edureka
Edureka!
 
Top 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | EdurekaTop 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | Edureka
Edureka!
 
PMBOK® Guide Edition 5 vs 6 | Edureka
PMBOK® Guide Edition 5 vs 6 | EdurekaPMBOK® Guide Edition 5 vs 6 | Edureka
PMBOK® Guide Edition 5 vs 6 | Edureka
Edureka!
 
Istqb foundation-and-selenium-java-automation-testing course
Istqb foundation-and-selenium-java-automation-testing courseIstqb foundation-and-selenium-java-automation-testing course
Istqb foundation-and-selenium-java-automation-testing course
Narayanan Palani
 
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...
TEST Huddle
 
Fresher interview question for software testing (QA) manual + basic automation
Fresher interview question for software testing (QA) manual + basic automationFresher interview question for software testing (QA) manual + basic automation
Fresher interview question for software testing (QA) manual + basic automation
Rakesh Hansalia
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | Edureka
Edureka!
 
Manual QA Testing Interview Questions From H2KInfosys
Manual QA Testing Interview Questions From H2KInfosysManual QA Testing Interview Questions From H2KInfosys
Manual QA Testing Interview Questions From H2KInfosys
H2kInfosys
 
Shraddha_Test_Analyst_10_years_Exp
Shraddha_Test_Analyst_10_years_ExpShraddha_Test_Analyst_10_years_Exp
Shraddha_Test_Analyst_10_years_Exp
Shraddha Vishwakarma
 
Synthesizing Continuous Deployment Practices in Software Development
Synthesizing Continuous Deployment Practices in Software DevelopmentSynthesizing Continuous Deployment Practices in Software Development
Synthesizing Continuous Deployment Practices in Software Development
Akond Rahman
 

Similar to Experience and best practices from automated software testing in the finance domain (20)

Deciding what and when to automate in testing: Experience from multiple projects
Deciding what and when to automate in testing: Experience from multiple projectsDeciding what and when to automate in testing: Experience from multiple projects
Deciding what and when to automate in testing: Experience from multiple projects
Vəhid Gəruslu
 
M Ravichandran_V2
M Ravichandran_V2M Ravichandran_V2
M Ravichandran_V2
M Ravi Chandran
 
Sandesh cv_Test Engineer
Sandesh cv_Test EngineerSandesh cv_Test Engineer
Sandesh cv_Test Engineer
Sandesh Satpute
 
Akshay_salvi_Resume (1)
Akshay_salvi_Resume (1)Akshay_salvi_Resume (1)
Akshay_salvi_Resume (1)
Akshay Salvi
 
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Vəhid Gəruslu
 
Project synopsis.
Project synopsis.Project synopsis.
Project synopsis.
ssuser3bb83f1
 
Offline Testing Engine
Offline Testing EngineOffline Testing Engine
Offline Testing Engine
Vinayak Joshi
 
Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)
bindu chintalapudi
 
Neha Arora_Resume
Neha Arora_ResumeNeha Arora_Resume
Neha Arora_Resume
Neha Arora
 
Online examination documentation
Online examination documentationOnline examination documentation
Online examination documentation
Wakimul Alam
 
Industry-academia collaborations in software testing: Success stories from Ca...
Industry-academia collaborations in software testing: Success stories from Ca...Industry-academia collaborations in software testing: Success stories from Ca...
Industry-academia collaborations in software testing: Success stories from Ca...
Vəhid Gəruslu
 
Sarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation ConslutingSarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation Consluting
sarbajit Chakrabarty
 
Resume-Ramchandra Gupta
Resume-Ramchandra GuptaResume-Ramchandra Gupta
Resume-Ramchandra Gupta
Ramchandra Gupta
 
QA-Analyst 8 Years
QA-Analyst  8 YearsQA-Analyst  8 Years
QA-Analyst 8 Years
Mukesh Kumar
 
Bangalore based Test automation and Testing service Company - Oak Systems Pvt...
Bangalore based Test automation and Testing service Company - Oak Systems Pvt...Bangalore based Test automation and Testing service Company - Oak Systems Pvt...
Bangalore based Test automation and Testing service Company - Oak Systems Pvt...
OAK Systems Pvt Ltd
 
Project report
Project report Project report
Project report
Vikram Singh
 
Resume
ResumeResume
Resume
Shikhar Singh
 
Karthik Subbu Resume
Karthik Subbu ResumeKarthik Subbu Resume
Karthik Subbu Resume
Karthik Subramanium
 
JAVED SAYYED RESUME
JAVED SAYYED RESUMEJAVED SAYYED RESUME
JAVED SAYYED RESUME
Javed Sayyed
 
Pallavi_Chauhan_TestEngineer
Pallavi_Chauhan_TestEngineerPallavi_Chauhan_TestEngineer
Pallavi_Chauhan_TestEngineer
Pallavi Chauhan
 
Deciding what and when to automate in testing: Experience from multiple projects
Deciding what and when to automate in testing: Experience from multiple projectsDeciding what and when to automate in testing: Experience from multiple projects
Deciding what and when to automate in testing: Experience from multiple projects
Vəhid Gəruslu
 
Sandesh cv_Test Engineer
Sandesh cv_Test EngineerSandesh cv_Test Engineer
Sandesh cv_Test Engineer
Sandesh Satpute
 
Akshay_salvi_Resume (1)
Akshay_salvi_Resume (1)Akshay_salvi_Resume (1)
Akshay_salvi_Resume (1)
Akshay Salvi
 
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Vəhid Gəruslu
 
Offline Testing Engine
Offline Testing EngineOffline Testing Engine
Offline Testing Engine
Vinayak Joshi
 
Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)
bindu chintalapudi
 
Neha Arora_Resume
Neha Arora_ResumeNeha Arora_Resume
Neha Arora_Resume
Neha Arora
 
Online examination documentation
Online examination documentationOnline examination documentation
Online examination documentation
Wakimul Alam
 
Industry-academia collaborations in software testing: Success stories from Ca...
Industry-academia collaborations in software testing: Success stories from Ca...Industry-academia collaborations in software testing: Success stories from Ca...
Industry-academia collaborations in software testing: Success stories from Ca...
Vəhid Gəruslu
 
Sarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation ConslutingSarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation Consluting
sarbajit Chakrabarty
 
QA-Analyst 8 Years
QA-Analyst  8 YearsQA-Analyst  8 Years
QA-Analyst 8 Years
Mukesh Kumar
 
Bangalore based Test automation and Testing service Company - Oak Systems Pvt...
Bangalore based Test automation and Testing service Company - Oak Systems Pvt...Bangalore based Test automation and Testing service Company - Oak Systems Pvt...
Bangalore based Test automation and Testing service Company - Oak Systems Pvt...
OAK Systems Pvt Ltd
 
JAVED SAYYED RESUME
JAVED SAYYED RESUMEJAVED SAYYED RESUME
JAVED SAYYED RESUME
Javed Sayyed
 
Pallavi_Chauhan_TestEngineer
Pallavi_Chauhan_TestEngineerPallavi_Chauhan_TestEngineer
Pallavi_Chauhan_TestEngineer
Pallavi Chauhan
 
Ad

More from Vəhid Gəruslu (20)

AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
Seminar: Tədqiqat üsulları-Dünya səviyyəli tədqiqatlar, Prof. Dr. Vəhid Gəruslu
Seminar: Tədqiqat üsulları-Dünya səviyyəli tədqiqatlar, Prof. Dr. Vəhid GərusluSeminar: Tədqiqat üsulları-Dünya səviyyəli tədqiqatlar, Prof. Dr. Vəhid Gəruslu
Seminar: Tədqiqat üsulları-Dünya səviyyəli tədqiqatlar, Prof. Dr. Vəhid Gəruslu
Vəhid Gəruslu
 
Pragmatic look at education and training of software test engineers: Further ...
Pragmatic look at education and training of software test engineers: Further ...Pragmatic look at education and training of software test engineers: Further ...
Pragmatic look at education and training of software test engineers: Further ...
Vəhid Gəruslu
 
Coverage measurement in model-based testing of web applications: Tool suppor...
Coverage measurement in model-based testing of web applications: Tool suppor...Coverage measurement in model-based testing of web applications: Tool suppor...
Coverage measurement in model-based testing of web applications: Tool suppor...
Vəhid Gəruslu
 
Education and Training of Highly-skills Software Test Engineers
Education and Training of Highly-skills Software Test EngineersEducation and Training of Highly-skills Software Test Engineers
Education and Training of Highly-skills Software Test Engineers
Vəhid Gəruslu
 
Benefitting from the Grey Literature in Software Engineering Research
Benefitting from the Grey Literature in Software Engineering ResearchBenefitting from the Grey Literature in Software Engineering Research
Benefitting from the Grey Literature in Software Engineering Research
Vəhid Gəruslu
 
Slides for for JSS "Happy Hour": Aligning software engineering education with...
Slides for for JSS "Happy Hour": Aligning software engineering education with...Slides for for JSS "Happy Hour": Aligning software engineering education with...
Slides for for JSS "Happy Hour": Aligning software engineering education with...
Vəhid Gəruslu
 
Experience in conducting 19 secondary (survey) studies in Software Engineering
Experience in conducting 19 secondary (survey) studies in Software EngineeringExperience in conducting 19 secondary (survey) studies in Software Engineering
Experience in conducting 19 secondary (survey) studies in Software Engineering
Vəhid Gəruslu
 
Career paths, training and learning resources in software test engineering
Career paths, training and learning resources in software test engineeringCareer paths, training and learning resources in software test engineering
Career paths, training and learning resources in software test engineering
Vəhid Gəruslu
 
An overview of automated test suites and defect density in Android
An overview of automated test suites and defect density in AndroidAn overview of automated test suites and defect density in Android
An overview of automated test suites and defect density in Android
Vəhid Gəruslu
 
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
Vəhid Gəruslu
 
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
Vəhid Gəruslu
 
Can we do it better? Improving the maturity of software testing in test teams
Can we do it better? Improving the maturity of software testing in test teamsCan we do it better? Improving the maturity of software testing in test teams
Can we do it better? Improving the maturity of software testing in test teams
Vəhid Gəruslu
 
Engineering software systems for improving the operational efficiency of oil ...
Engineering software systems for improving the operational efficiency of oil ...Engineering software systems for improving the operational efficiency of oil ...
Engineering software systems for improving the operational efficiency of oil ...
Vəhid Gəruslu
 
Introducing automated GUI testing and observing its benefits: an industrial c...
Introducing automated GUI testing and observing its benefits: an industrial c...Introducing automated GUI testing and observing its benefits: an industrial c...
Introducing automated GUI testing and observing its benefits: an industrial c...
Vəhid Gəruslu
 
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Vəhid Gəruslu
 
An Open Modern Software Testing Laboratory Courseware: An Experience Report
An Open Modern Software Testing Laboratory Courseware: An Experience ReportAn Open Modern Software Testing Laboratory Courseware: An Experience Report
An Open Modern Software Testing Laboratory Courseware: An Experience Report
Vəhid Gəruslu
 
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Vəhid Gəruslu
 
Software engineering of scientific software
Software engineering of scientific softwareSoftware engineering of scientific software
Software engineering of scientific software
Vəhid Gəruslu
 
Vahid Garousi-SE meets robotics
Vahid Garousi-SE meets roboticsVahid Garousi-SE meets robotics
Vahid Garousi-SE meets robotics
Vəhid Gəruslu
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
Seminar: Tədqiqat üsulları-Dünya səviyyəli tədqiqatlar, Prof. Dr. Vəhid Gəruslu
Seminar: Tədqiqat üsulları-Dünya səviyyəli tədqiqatlar, Prof. Dr. Vəhid GərusluSeminar: Tədqiqat üsulları-Dünya səviyyəli tədqiqatlar, Prof. Dr. Vəhid Gəruslu
Seminar: Tədqiqat üsulları-Dünya səviyyəli tədqiqatlar, Prof. Dr. Vəhid Gəruslu
Vəhid Gəruslu
 
Pragmatic look at education and training of software test engineers: Further ...
Pragmatic look at education and training of software test engineers: Further ...Pragmatic look at education and training of software test engineers: Further ...
Pragmatic look at education and training of software test engineers: Further ...
Vəhid Gəruslu
 
Coverage measurement in model-based testing of web applications: Tool suppor...
Coverage measurement in model-based testing of web applications: Tool suppor...Coverage measurement in model-based testing of web applications: Tool suppor...
Coverage measurement in model-based testing of web applications: Tool suppor...
Vəhid Gəruslu
 
Education and Training of Highly-skills Software Test Engineers
Education and Training of Highly-skills Software Test EngineersEducation and Training of Highly-skills Software Test Engineers
Education and Training of Highly-skills Software Test Engineers
Vəhid Gəruslu
 
Benefitting from the Grey Literature in Software Engineering Research
Benefitting from the Grey Literature in Software Engineering ResearchBenefitting from the Grey Literature in Software Engineering Research
Benefitting from the Grey Literature in Software Engineering Research
Vəhid Gəruslu
 
Slides for for JSS "Happy Hour": Aligning software engineering education with...
Slides for for JSS "Happy Hour": Aligning software engineering education with...Slides for for JSS "Happy Hour": Aligning software engineering education with...
Slides for for JSS "Happy Hour": Aligning software engineering education with...
Vəhid Gəruslu
 
Experience in conducting 19 secondary (survey) studies in Software Engineering
Experience in conducting 19 secondary (survey) studies in Software EngineeringExperience in conducting 19 secondary (survey) studies in Software Engineering
Experience in conducting 19 secondary (survey) studies in Software Engineering
Vəhid Gəruslu
 
Career paths, training and learning resources in software test engineering
Career paths, training and learning resources in software test engineeringCareer paths, training and learning resources in software test engineering
Career paths, training and learning resources in software test engineering
Vəhid Gəruslu
 
An overview of automated test suites and defect density in Android
An overview of automated test suites and defect density in AndroidAn overview of automated test suites and defect density in Android
An overview of automated test suites and defect density in Android
Vəhid Gəruslu
 
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
Vəhid Gəruslu
 
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
Vəhid Gəruslu
 
Can we do it better? Improving the maturity of software testing in test teams
Can we do it better? Improving the maturity of software testing in test teamsCan we do it better? Improving the maturity of software testing in test teams
Can we do it better? Improving the maturity of software testing in test teams
Vəhid Gəruslu
 
Engineering software systems for improving the operational efficiency of oil ...
Engineering software systems for improving the operational efficiency of oil ...Engineering software systems for improving the operational efficiency of oil ...
Engineering software systems for improving the operational efficiency of oil ...
Vəhid Gəruslu
 
Introducing automated GUI testing and observing its benefits: an industrial c...
Introducing automated GUI testing and observing its benefits: an industrial c...Introducing automated GUI testing and observing its benefits: an industrial c...
Introducing automated GUI testing and observing its benefits: an industrial c...
Vəhid Gəruslu
 
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Vəhid Gəruslu
 
An Open Modern Software Testing Laboratory Courseware: An Experience Report
An Open Modern Software Testing Laboratory Courseware: An Experience ReportAn Open Modern Software Testing Laboratory Courseware: An Experience Report
An Open Modern Software Testing Laboratory Courseware: An Experience Report
Vəhid Gəruslu
 
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Vəhid Gəruslu
 
Software engineering of scientific software
Software engineering of scientific softwareSoftware engineering of scientific software
Software engineering of scientific software
Vəhid Gəruslu
 
Vahid Garousi-SE meets robotics
Vahid Garousi-SE meets roboticsVahid Garousi-SE meets robotics
Vahid Garousi-SE meets robotics
Vəhid Gəruslu
 
Ad

Recently uploaded (20)

Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
ELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdfELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdf
Shiju Jacob
 
π0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalizationπ0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalization
NABLAS株式会社
 
Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.
anuragmk56
 
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Journal of Soft Computing in Civil Engineering
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
DSP and MV the Color image processing.ppt
DSP and MV the  Color image processing.pptDSP and MV the  Color image processing.ppt
DSP and MV the Color image processing.ppt
HafizAhamed8
 
Raish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdfRaish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdf
RaishKhanji
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
Reagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptxReagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptx
AlejandroOdio
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
ELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdfELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdf
Shiju Jacob
 
π0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalizationπ0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalization
NABLAS株式会社
 
Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.
anuragmk56
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
DSP and MV the Color image processing.ppt
DSP and MV the  Color image processing.pptDSP and MV the  Color image processing.ppt
DSP and MV the Color image processing.ppt
HafizAhamed8
 
Raish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdfRaish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdf
RaishKhanji
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
Reagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptxReagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptx
AlejandroOdio
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 

Experience and best practices from automated software testing in the finance domain

  • 1. 1/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Experience and best practices from automated software testing in the finance domain Vahid Garousi, PhD, PEng Affiliations: Associate Professor of Software Engineering (Senior Lecturer) Queen’s University Belfast, Northern Ireland, UK Director and Managing Consultant Bahar Software Engineering Consulting Limited, UK [email protected] www.vgarousi.com @vgarousi vgarousi Invited talk for the NatWest QCOE (NWG) Testing Conference Oct. 19, 2021 1: 2:
  • 2. 2/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Outline  My career background  Past/ongoing software-testing projects …  Experience and best practices from automated testing in two finance projects (two of our clients/partners):  Testing the web and mobile applications of BtcTurk A.Ş.: Turkey's first and the world’s fourth Bitcoin and cryptocurrency exchange platform. (Project running since 2020-)  Testing the mobile applications of KuveytTürk Bank A.Ş.: a large Turkish bank. (Project ran between 2018-2020)  Note: The information, presented in this talk, have either already been published as technical articles – and OK’ed by the clients - thus are “unclassified” and there is permission to share them  Observations / retrospective  … of best practices in automated testing in the finance domain  Q/A
  • 3. 3/37 Vahid Garousi Experience and best practices from automated testing in the finance domain My background (international experience) Education: PhD in Software Engineering, Carleton University, Ottawa, Canada, 2006 MSc in Computer Engineering, University of Waterloo, Canada, 2003 BSc in Software Engineering, Sharif University of Technology, Tehran, Iran, 2000 Work experience: Associate Professor, Queen’s University Belfast, UK, 2019- Managing Consultant, Bahar Software Engineering Consulting, since 2001- Past: Associate Professor, Wageningen University, Netherlands, 2017-2019 Associate Professor, Hacettepe University, Ankara, Turkey, 2015-2017 Associate Professor, University of Calgary, Canada, 2006-2014 Ethnic background: Turkish / Canadian 2013 2019 2015 2009
  • 4. 4/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Consulting projects (a partial list)  Improving capability and maturity of test automation projects  Client: Testinium is a large test-services company in Turkey  Project running since 2019-  Test automation of web and mobile applications  Client: BtcTurk A.Ş., Turkey's first and the world’s fourth Bitcoin and cryptocurrency exchange platform  Project running since 2020-  Test automation of mobile applications  Client: KuveytTürk Bank A.Ş., a large Turkish bank  Duration: 2018-2020  Improving test automation practices  Client: HAVELSAN (Hava Elektronik Sanayi, Aviation Electronics Industries)  Duration: 2015-2017  Automated testing of law-management software suite  Client: Innova IT Solutions, Ankara, Turkey  Duration: 2016-2017  Development and assessment of effective test automation infrastructure  Client: MR Control Systems International, Calgary, Canada  Duration: 2008-2011  Decision-support for deciding “when to automate testing” and “what (test cases) to automate”  Client: Pason Systems Corporation, Calgary, Canada  Duration: 2010-2012  And many more…
  • 5. 5/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Outline  My career background  Past/ongoing software-testing projects …  Experience and best practices from automated testing in two finance projects (two of our clients/partners):  Testing the web and mobile applications of BtcTurk A.Ş.: Turkey's first and the world’s fourth largest Bitcoin and cryptocurrency exchange platform. (Project running since 2020-)  Testing the mobile applications of KuveytTürk Bank A.Ş.: a large Turkish bank. (Project ran between 2018- 2020)  Observations / retrospective  … of best practices in automated testing in the finance domain  Q/A
  • 6. 6/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Systems Under Test (SUT)  Mobile app: BtcTurk (BtcTurk.com) serves more than 3.8 million registered users
  • 7. 7/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Systems Under Test (SUT)  Web apps:  A simple version, and a pro version
  • 8. 8/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Setup of our Test Automation Team Test Automation Engineers Test Automation Consultant Client Test Automation Team-lead Product owner, and Software Engineers … Systems Under Test (SUT) Test Develop / update Co-developing the test automation strategy and monitoring the entire test process PARTNERSHIP SINCE 2019
  • 9. 9/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Test automation strategy GUI API Business Logic Database Calls Calls Returns data Returns data Class (Unit) Class (Unit) … System Under Test (SUT) and its architecture GUI testing API / service testing Unit tests Developed by the Software Engineers at BtcTurk (not us) Using the BDD tool: Gauge Test Test Test Two approaches: 1- Model-based Testing 2-BDD (tool: Gauge) Test automation suites: Some example test artifacts next…
  • 10. 10/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Model-based Testing (MBT): Basics  Let’s first see: What is Model-based testing (MBT)?  Model-based testing is the application of model- based design for systematic and automated test-case design and, optionally, also for automated execution of test cases.  An example: Valid login • Nodes, or vertices: “States” (pages) of the system to verify • Edges or transitions: Events such as valid login, click Let’s hear from you: Have you ever used MBT in your projects? If yes, how have you used it? Join at slido.com #777
  • 11. 11/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Model-based Testing (MBT): Basics  Developing the “behavior” of nodes/edges in Java using the Selenium framework public void e_valid_login() { WebElement userNameElement = methodsPage.findElement(By.id("username")); userNameElement.clear(); userNameElement.sendKeys(email); WebElement passwordElement = methodsPage.findElement(By.id("password")); passwordElement.clear(); passwordElement.sendKeys(password); methodsPage.findElement(By.cssSelector( "input[class$="login-page__submit-btn"][value="Sign In"]")).click(); }
  • 12. 12/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Strategy for Model-based Testing (MBT)  Our strategy: we designed two MBT test suites:  An end-to-end test suite (like a smoke test): only the major paths through the app  A complete regression test suite: exercising all the pages and all paths (five main screen, many tabs, and “many” possible paths)  Details next…  MBT test tool:  An open-source popular tool, named GraphWalker (graphwalker.github.io)  It is in wide use, e.g., in companies such as Spotify, and testing the information kiosks software of New York’s transportation authority (bit.ly/MBTGuidingTestingDecisions)
  • 13. 13/37 Vahid Garousi Experience and best practices from automated testing in the finance domain MBT of BtcTurk mobile app  End-to-end test suite (like a smoke test; mainly “Happy” paths): Login All currency pairs A pair’s details page My wallet Buy Sell Buy Successful Sell Successful View latest transactions Buy/sell page My wallet My transactions Limit tab Pair Command Buy Command Successful Cancel Command My wallet Sell Command Successful Start Since team members were all Turkish, Turkish language is used for naming ;) Also, UI has two languages English translations
  • 14. 14/37 Vahid Garousi Experience and best practices from automated testing in the finance domain MBT of BtcTurk mobile app  The complete test suite: exercising all the pages and paths):  8 test models, 303 nodes, 567 edges (transitions) Login LoginPro Currency pairs My wallet My Account Deposit/ Transfer (Funding) Trade Panel Move among Tabs
  • 15. 15/37 Vahid Garousi Experience and best practices from automated testing in the finance domain MBT of BtcTurk mobile app  The complete test suite: how the 8 test models are connected  One model for each app “page” (tab)  Login, regular version of app Login Pro version 5 3 4 2
  • 16. 16/37 Vahid Garousi Experience and best practices from automated testing in the finance domain MBT of BtcTurk mobile app  The complete test suite: exercising all the pages and paths): Full MBT run takes about 2 hours… www.youtube.com/watch?v=dOgHQDnxnKw
  • 17. 17/37 Vahid Garousi Experience and best practices from automated testing in the finance domain MBT: What are its benefits?  Let me ask you first…  Tangible benefits:  Covering more test paths (higher “path” coverage) with less effort  Saving time and money  Thus, leading to increased test effectiveness in detection of faults  Intangible, but important, benefits:  Ability to see the “big picture” of test-case design, and the models being directly executable  Making the work of test engineers more “interesting” / fun and more organized (according to feedback from our team members)  And much more… One of our meetings in Istanbul, 2019 (before COVID) Join at slido.com #777
  • 18. 18/37 Vahid Garousi Experience and best practices from automated testing in the finance domain MBT: Challenges that we faced and how we addressed them Challenges How we addressed them Challenge 1- Choosing the “right” MBT tool from amongst the very large pool of available MBT tools Tools Criteria 1-Matching test requirements- Essential 2a-Right level of model abstraction- Essential TestModeller - Exhaustive activity diagram, resulting in repetition of nodes (youtu.be/nctAQHsmjpI) Failed the essential criterion 2 TestOptimal Supports web/mobile apps, but not specific for them Web page UI flow diagram Tricentis Tosca Seems like a test-data management tool (youtu.be/f6aBpa95kLc). While the introduction on its website mentions MBT, support for MBT is very limited. Not possible to design cycles and complex flow/edge structures Failed the essential criterion 1 - SpecExplorer Support for MBT of web/mobile apps seems very limited. Most of focus is on API and unit testing. Failed the essential criterion 1 - GraphWalker Specific for web/mobile apps Web page UI flow diagram NModel - Test model is in a programmatic format, instead of visual diagrams (doi.org/10.1007/978-3-642-05031-2_14) Failed the essential criterion 2 TCases Support for MBT of web/mobile apps seems very limited. Most of focus is on test-case design for input space exploration. Failed the essential criterion 1 - ModBat Focus is on API testing. No support for MBT of web/mobile apps. (fmv.jku.at/modbat) Failed the essential criterion 1 - MoMuT Focus is on embedded system testing. No support for MBT of web/mobile apps. (momut.org) Failed the essential criterion 1 - CrawlJax It produces as output a state-flow graph of the dynamic DOM states and the event-based transitions between them. Focus is not on GUI testing of web apps Failed the essential criterion 1 - (1) the tool matching the test requirements, e.g., type of SUT (for us, this was web/mobile apps) (2) tool being fit to the operating environment, e.g., “right level” of model abstraction, team’s expertise (3) tool’s usability (4) availability of support for the tool (5) tool’s cost We did a research on all knowledge and evidence shared on the internet by experts (53 blogs and white papers), about this topic. We synthesized the criteria for choosing the right tool under into five categories:
  • 19. 19/37 Vahid Garousi Experience and best practices from automated testing in the finance domain MBT: Challenges that we faced and how we addressed them Challenges How we addressed them Challenge 2- We observed a general shortage of knowledge and resources on best practice and “design patterns” for designing MBT models Challenge 3- By sharing the best practices, we have identified a number of design patterns, e.g., one model for each web/mobile app page, clear separation of events (edges) and assertions (nodes) Four graph traversal algorithms (test- path “generators”) are supported by GraphWalker: Random, Weighted random, Quick random, A* (A-star). Which one shall we use? We are investigating the different options and assessing their strength, e.g.. Fault detection effectives versus efficiency, (time taken for test execution)
  • 20. 20/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Let’s see another test approach in our BtcTurk project GUI API Business Logic Database Calls Calls Returns data Returns data Class (Unit) Class (Unit) … System Under Test (SUT) and its architecture GUI testing API / service testing Unit tests Developed by the Software Engineers at BtcTurk (not us) Using the BDD tool: Gauge Test Test Test Two approaches: 1- Model-based Testing 2-BDD (tool= Gauge) Test automation suites: Reminder: Our test automation strategy:
  • 21. 21/37 Vahid Garousi Experience and best practices from automated testing in the finance domain BDD testing of BtcTurk apps, using Gauge tool Develops Gauge test-suite Web browser Test step Test specification file Test-step implementation Test scenario 1...* Test concept 1...* 1 1 In Java or another language System Under Test (SUT) Call Call Return Gauge Call Return Test outputs Return Anlayzes Test enigneer Call A specification file: (can have many test scenarios) A scenario A concept: A step Step implementations: Examples from: docs.gauge.org/overview.html
  • 22. 22/37 Vahid Garousi Experience and best practices from automated testing in the finance domain BDD tools: Cucumber versus Gauge  Behaviour-Driven Development (BDD) tools such as Cucumber are powerful tools for automated testing  But tools such as Cucumber have certain limitations:  They often enforce strict syntax for test cases, like the “Given-When- Then” format, which may not always be easy to write for all test cases.  The more recent test-automation framework Gauge addresses that limitation since it does not prescribe the BDD testing process with a strict syntax.  In Gauge, writing a test case is as easy as writing down the flow of test cases in several itemized sentences in a natural language, like English.  Thus, Gauge could be a better tool than Cucumber
  • 23. 23/37 Vahid Garousi Experience and best practices from automated testing in the finance domain BDD testing of BtcTurk apps, using Gauge tool  We started our test-suite development… But soon we faced a number of challenges  Challenge 1: See below… A tool is NOT enough. We need “systematic” test-case design Terms are mostly in Turkish, but I am sure you can see some issues … Issues here:  Duplications in test code  Test logic: is, sometimes, hard to understand (low understandability)  Test code: Hard to read and hard to maintain   There should be a “better” way of developing test code (scripts)… Inside element “X”, write value of “Y”
  • 24. 24/37 Vahid Garousi Experience and best practices from automated testing in the finance domain BDD testing of BtcTurk apps, using Gauge tool  These challenges have also been observed by many other test engineers  Challenge 1: Having a test tool is NOT enough. Do you agree?
  • 25. 25/37 Vahid Garousi Experience and best practices from automated testing in the finance domain BDD testing of BtcTurk apps, using Gauge tool  For this purpose, we devised a systematic test-case “design” approach, using test models which we designed manually (essentially flow diagram of the web/mobile app)  We derive four types of test cases from the model: 1. Transition from the current node (page) to its next neighbouring nodes (pages) 2. Node to itself (often, error checking, like: Invalid Login) 3. Input UI tests (in single node/page/unit level) 4. End-to-end testing: testing a path of nodes https://www.slideshare.net/vahidgarousi/test- automation-with-the-gauge-framework-experience- and-best-practices-seetest-2020-conference More details in…
  • 26. 26/37 Vahid Garousi Experience and best practices from automated testing in the finance domain BDD testing of BtcTurk apps, using Gauge tool  Example Gauge test suites:
  • 27. 27/37 Vahid Garousi Experience and best practices from automated testing in the finance domain BDD testing of BtcTurk apps, using Gauge tool  Another challenge:  The test-script LOC of our Gauge test-suites soon expanded and reached more than 50K test LOC  So it was clear that, just like application (production) code-base, test code-base also needs refactoring, maintenance and quality improvement (e.g., better test-code design / architecture / modularity)  Solution:  We had developed an in-house tool for this need in our past projects, so we used it…  Our GaugeDepend tool  … is a dependency analysis tool for visualizing and exploring dependency graphs for Gauge test suites.  Such as visualization will allow quality assessment of test-automation scripts.  Is open source: github.com/vgarousi/ GaugeDepend  Demo video: youtube.com/watch?v=oehq DgX8R8E Test specification files: Test scenario: Test steps: Test concepts (Gauge terminology): Let’s zoom in…
  • 28. 28/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Outline  My career background  Past/ongoing software-testing projects …  Experience and best practices from automated testing in two finance projects (two of our clients/partners):  Testing the web and mobile applications of BtcTurk A.Ş.: Turkey's first and the world’s fourth Bitcoin and cryptocurrency exchange platform. (Project running since 2020-)  Testing the mobile applications of KuveytTürk Bank A.Ş.: a large Turkish bank. (Project ran between 2018- 2020)  Observations / retrospective  … of best practices in automated testing in the finance domain  Q/A
  • 29. 29/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Automated testing of the mobile applications of KuveytTürk Bank  App Under Test (AUT):  The app had 73 GUI screens (pages)
  • 30. 30/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Automated testing of the mobile applications of KuveytTürk Bank  We used Appium to develop a large GUI test suite:  In the first phase: 28 test classes in Java using Appium  Testing 28 of the app’s total 73 GUI screens (pages) – the most critical features (risk-based testing)  In total, 16,351 test LOC (TLOC)  In the 2nd phase: we tested all the GUI pages
  • 31. 31/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Automated testing of the mobile applications of KuveytTürk Bank  Some example test code (Java Appium framework):
  • 32. 32/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Automated testing of KuveytTürk apps: Challenges observed and best practices  We observed a number of “classical” challenges, e.g., the need to better design and develop the test scripts  Best practices that we applied:  Use of test (design) patterns (xunitpatterns.com) such as: the Four-Phase Test pattern (setup of test “fixture”, exercise / call the SUT, result verification, and fixture teardown)
  • 33. 33/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Automated testing of KuveytTürk apps: Challenges observed and best practices  Another best practice that we applied:  Decoupling of test execution parameters from test scripts (an example is below)
  • 34. 34/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Testing the mobile applications of KuveytTürk Bank A.Ş.  Our mobile device farm: More details in:
  • 35. 35/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Outline  My career background  Past/ongoing software-testing projects …  Experience and best practices from automated testing in two finance projects (two of our clients/partners):  Testing the web and mobile applications of BtcTurk A.Ş.: Turkey's first and the world’s fourth Bitcoin and cryptocurrency exchange platform. (Project running since 2020-)  Testing the mobile applications of KuveytTürk Bank A.Ş.: a large Turkish bank. (Project ran between 2018- 2020)  Observations / retrospective  … of best practices in automated testing in the finance domain  Q/A
  • 36. 36/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Experience-based observations: Automated testing in finance  We all know that quality of web and mobile apps in finance are extremely business-critical  Automated testing of these apps are crucial and critical to business success  At the end of the day, we need a combination of automated and manual (exploratory) testing  Each would find different types of defects, and have pro’s and con’s  With experience in these topics, we can certainly plan and execute a successful test approach Azimo: Global Money Transfers Australia and New Zealand Banking Group
  • 37. 37/37 Vahid Garousi Experience and best practices from automated testing in the finance domain Outline  My career background  Past/ongoing software-testing projects …  Experience and best practices from automated testing in two finance projects (two of our clients/partners):  Testing the web and mobile applications of BtcTurk A.Ş.: Turkey's first and the world’s fourth Bitcoin and cryptocurrency exchange platform. (Project running since 2020-)  Testing the mobile applications of KuveytTürk Bank A.Ş.: a large Turkish bank. (Project ran between 2018- 2020)  Observations / retrospective  … of best practices in automated testing in the finance domain  Q/A
  • 38. 38/37 Vahid Garousi Experience and best practices from automated testing in the finance domain BACK UP SLIDES
  • 39. 39/37 Vahid Garousi Experience and best practices from automated testing in the finance domain R&D Projects (in the UK, EU and Turkey)  Two recent projects:  XANDAR: X-by-Construction Design framework for Engineering Autonomous & Distributed Real-time Embedded Software Systems (2021-2024)  Eight (8) partners from across Europe, including five industry and three academic partners  Budget: €5 million Euros  I “lead” the Work Package (WP) on Verification and Validation (V&V)  TESTOMAT (The Next Level of Test Automation)  Project funded by the EU  34 partners from across Europe  Budget: €21 million Euros  www.testomatproject.eu (2018-2020)  And 12 other major projects…
  • 40. 40/37 Vahid Garousi Experience and best practices from automated testing in the finance domain BDD testing using Gauge tool: Challenges and solutions  Opinions of other test engineers:  “If you feel that Cucumber is a pain when used in large projects due to its Given-When-Then syntax becoming messy in long run, Gauge can take out that pain to some extent.  Even here, the flexibility of free text can be a demerit as they don’t have a defined format.  But tests may end up looking like a messy text document unless imposed strict restrictions”.  https://medium.com/@divi6.1990/why-i-chose-gauge-over-cucumber-5b3de478d889  “Gauge follows Markdown Syntax for scripting the tests in an unstructured way - which means more liberty to make the test like a specific document and also more risk of ending up with scripted tests in many different styles.  Having some in-team standards will help to prevent any chaos.” [8]  www.linkedin.com/pulse/things-consider-when-choosing-best-test-automation-framework-akbari

Editor's Notes

  • #37: https://www.resrequest.com/blog/why-we-love-automated-testing/