View
16
Download
0
Category
Preview:
Citation preview
1 | P a g e
SUMMER TRAINING(COE 409)
PROJECT REPORT ON
FITNESSE-API TESTING
DONE AT
THE ROYAL BANK OF SCOTLAND
Supreet Narang
314/CO/09
Final Year, NSIT,
DWARKA
2 | P a g e
PREFACE
The purpose of this report is to explain what I did and learned during my internship
period with the Royal bank of Scotland in the Division of Post Execution Services. The report
is also a partial fulfillment of the requirement for the award of the degree of Bachelor of
Engineering in Computer Engineering. The report focuses primarily on the assignments
handled, working environment that I encountered when handling various tasks assigned to
me by the supervisor.
3 | P a g e
ACKNOWLEDGEMENT
I want to express my deep sense of gratitude to Mr.Prashant kumar Jha, Technical manager
The supervision and support that he gave truly help the progression and smoothness of the
internship program. The co-operation is much indeed appreciated
My grateful thanks also goes to Mr. Kshitij Gupta and rest of the team member of post execution
services. A big contribution and hard worked from them during the eight week is very great indeed.
Besides, this internship program makes me realized the value of working together as a team and as
a new experience in working environment, which challenges us every minute.
4 | P a g e
TABLE OF CONTENTS ...........................................................................................
CHAPTER ONE ...............................................................................................................
1.2 About RBS..................................................................................................5
CHAPTER TWO ..................................................................................................8
2.0 Acceptance testing ........................................................................................ 8
2.0.1 What is acceptance testing?
2.0.2 Advantages of Acceptance Testing
2.0.3 Where does testing fits in?
2.1 Fitnesse........................................................................................................... 9
2.1.1 wiki pages
2.1.2 Fixtures
2.1.3 Test System
2.2 Advantage of Fitnesse As a tool ..........................................................................11
2.3 Acceptance test vs unit test................................................................................. 12
2.4 Fitnesse test setup-Netting use test.................................................................... 12
2.5 Fitnesse test setup-Splitting use test……………………………………………13
2.6 Fitnesse test setup-Amneding use test..................................................................13
CHAPTER THREE .......................................................................................................... 14 3.1 Conclusion........................................................................................ …..14 3.2 References……………………………………………………………………………15
5 | P a g e
CHAPTER 1
1.1THE ROYAL BANK OF SCOTLAND
The Royal Bank of Scotland Group plc (also known as RBS Group) is a British banking and
insurance holding company in which the UK Government (HM Treasury) holds an 82% stake.This
stake is held and managed through UK Financial Investments Limited, whose voting rights are
limited to 75% in order for the bank to retain its listing on the London Stock Exchange. In
addition to its primary share listing on the LSE, the company is also listed on the New York Stock
Exchange. The group is based in Edinburgh, Scotland.
The RBS Group operates a wide variety of banking brands offering personal and business
banking, private banking, insurance and corporate finance throughout its operations located in
Europe, North America and Asia. In the UK and Republic of Ireland, the main subsidiary
companies are: The Royal Bank of Scotland; National Westminster Bank; Ulster
Bank; Drummonds; and Coutts & Co. In the United States, it owns Citizens Financial Group, the
8th largest bank in the country. From 2004 to 2009 it was the second largest shareholder in
the Bank of China, itself the world's fifth largest bank by market capitalisation in February
2008. Insurance companies include Churchill Insurance, Direct Line, Privilege, and NIG.
ABOUT RBS INDIA
The Private Banking business in India is part of The Royal Bank of Scotland N.V. (RBS NV).RBS NV
is part of The Royal Bank of Scotland Group Plc (RBSG) whose wealth management division
comprises several private banking businesses.
The wealth management division includes, Coutts and Adam & Co. and is one of the world’s
oldest and most respected private banks.
W.e.f 19 March, 2010, ABN AMRO Bank N.V. in India was renamed as The Royal Bank of Scotland
N.V.The Royal Bank of Scotland Group PLC’s (RBSG) increased its shareholding in RFS Holdings
BV to approx 97.717%. Consequently, the shareholding of the State of Netherlands and Banco
Santander SA was reduced to approx 1.2505% and approx 1.03% respectively in December 2010.
In 300 years, The Royal Bank of Scotland Group has grown to become one of the largest financial
services groups in the world. Its brands operate around the globe to provide banking services for
individuals, businesses and institutions.
In 2007, the Group strengthened its presence across the globe through the purchase of several
parts of the Dutch bank, ABN AMRO, including their businesses in India.
The Group serves a variety of medium to large enterprises, including multi-national corporations
(MNC) and financial institutions. We offer integrated consumer and business banking services
such as transaction banking, risk management, investment banking, private banking and asset
management.
6 | P a g e
RBS India offers an unparalleled suite of client services in India. Using global reach and drawing
on the expertise of our team of research, sales and trading, equity capital market and mergers &
acquisitions (M&A) advisory professionals, the bank has led many of the biggest and most
innovative landmark transactions in India for Corporate and Institutional Clients.
The bank offers a broad range of transaction banking, fixed income and foreign exchange
products and services, including sales and trading, fixed income origination, derivatives,
structured lending and commodity financing.
Additionally, it provides a diverse range of product offerings including personal loans, credit
cards, savings accounts, financial planning, investment and insurance services, to meet the
everyday financial needs of over a million Personal Banking clients in India.
Asset Management is among the fastest growing asset managers, with just two years of
operations in the country. The bank has ever-increasing distribution and aim to emerge as a
leading player in the Indian asset management industry. Leveraging the Group's comprehensive
research and diverse range of investment products, it offers clients investment options in fixed
income, equities, money markets and structured products.
Microfinance program, the largest amongst its peer foreign banks in India, is aimed at delivering
credit to our target community of impoverished rural woman through intermediaries called
microfinance institutions.
M&ib technology india
Its Global Banking & Markets (GBM) business is a leading banking partner to corporations,
governments and financial institutions around the world. As the investment banking arm of RBS,
it delivers award-winning finance, risk management and investment solutions to global
customers.
GBM Technology India enables the GBM business by creating innovative, smart products that
support business critical applications and infrastructure. GBM Technology India, the largest
global development hub for GBM Technology, brings differentiated value by delivering scale,
talent, and predictability to the technology business.
With end-to-end global product ownership of some of the most critical applications, GBM
Technology India integrates vertically into the global organisation, working on Project
Management, Application Development, Testing and Support. Global operating model gives the
capability to stay ahead of the fast-paced changing markets and offer superior levels of service
quality to our business.
The India organisation, structured in accordance with global product areas, comprises different
technology units that work closely with the global business to deliver innovative solutions that
improve GBM's competitive edge, profitability and client focus. These are:
7 | P a g e
Client and Sales
Equities and Structured Retail
Fixed Income Currencies and Commodities
Risk and Finance
Lending, Operations and Financing
Business Improvement
.
Group Operations India
Group Operations India (GOI) is part of the Business Services division of the RBS group. People in
GOI provide high quality 24x7 services to different divisions and customer-facing operations of
the Group, as well as back office support, to many of the countries in which RBS is located. GOI
supports the Group’s businesses with multiple tasks across complexity levels ranging from M&A
and sector advisory, equity research, credit trading, derivatives and securities processing to
balance sheet preparation.
Helping different business lines globally and dealing with multiple customer needs gives the
people the opportunity to grow and shape their career in whatever direction they wish – with
our extensive training and career development support we’ll be with you every step of the way.
8 | P a g e
CHAPTER 2
2.0 ACCEPTANCE TESTING:
2.0.1 What is acceptance testing?
Acceptance testing is a final stage of testing that is performed on a system prior to the system
being delivered to a live environment. Systems subjected to acceptance testing might include
such deliverables as a software system or a mechanical hardware system. Acceptance tests are
generally performed as "black box" tests. Black box testing means that the tester uses specified
inputs into the system and verifies that the resulting outputs are correct, without knowledge of
the system's internal workings.
User acceptance testing (UAT), is the term used when the acceptance tests are performed by the
person or persons who will be using the live system once it is delivered. If the system is being
built or developed by an external supplier, this is sometimes called customer acceptance testing
(CAT). The UAT or CAT acts as a final confirmation that the system is ready for go-live. A
successful acceptance test at this stage may be a contractual requirement prior to the system
being signed off by the client.
2.0.2 Advantage of acceptance testing
1.Reducing the cost of developing the application. Minimal savings that might occur in the early
stages of the development cycle by delaying testing efforts are almost certainly bound to
increase development costs later.
2. Ensuring that the application behaves exactly as expected. For the vast majority of
programs, unpredictability is the least desirable consequence of using an application.
3. Reducing the total cost of ownership. By providing software that looks and behaves as
shown in your documentation, your customers require fewer hours of training and less support
from product experts.
4. Developing loyalty and word-of-mouth market share. Finding success with a program that
offers the kind of quality that only thorough testing can provide is much easier than trying to
build a customer base on buggy and defect-riddled code.
2.0.3 Where does Testing Fit In?
When a software developer writes code, it is common for mistakes to occur, such that
requirements are not adequately implemented or they are forgotten. It is during this process
that errors are introduced into the system. It is also possible that the business had not
communicated their requirements correctly, or they could have insufficient details, which could
result in a system working as designed, but not as expected.
UAT tests are created to verify the system’s behavior is consistent with the requirements. These
9 | P a g e
tests will reveal defects within the system. The work associated with UAT begins after
requirements are written and continues through the final stage of testing.
AUTOMATION OF ACCEPTANCE TEST USING FITNESSE TOOL
2.1 What is Fitnesse?
FitNesse is a software development collaboration tool Great software requires collaboration and
communication. FitNesse is a tool for enhancing collaboration in software development.
FitNesse enables customers, testers, and programmers to learn what their software should do,
and to automatically compare that to what it actually does do. It compares customers'
expectations to actual results.
It's an invaluable way to collaborate on complicated problems (and get them right) early in
development.Fitnesse is a WIKI WEB SERVER.It is more like a wiki web GUI working on a test
system(slim and fit).Acceptance tests are what Fitnesse is about.
Fitnesse can be described in the terms of three major system:
1.Wiki Pages
2.Fixtures
3. Test System(slim and fit)
2.1.1 Wiki pages
FitNesse leverages the wiki mechanism. Wikis classically allow for the easy and rapid creation of
HTML pages and particularly simplify the expression of tables. These qualities make the
basic Wiki Wiki language an ideal choice for a "user interface" for FitNesse on the one hand it
allows for the simple expression of very free-form tables, on the other hand it limits the contents
of those tables to rather simple text. This means that the WikiWiki language can handle
whatever shape of table is required for a particular test and at the same time limits the contents
of those tables to alphanumeric text that can easily be mapped into a call to a piece of software.
Finally, since each test in FitNesse is a wiki page it is possible to embed each testing table within
wiki text; this allows a functional tester to include descriptive text with a reasonable layout
quickly.
2.1.2 Fixtures
What is Fixture Code?
The fixture is the Java (or some other supported language) class that Slim to process the
contents of the table.
10 | P a g e
Fixtures are procedures/functions/classes usually written by developers.
They connect HTML table to the code.The code test the data inputted.
JdbcFixtures : A set of Fixtures that provide simple database access.
FitLibrary : Home of the DoFixture, as well as many other helpful fixtures and add-ons.
JfcFixtures A set of Fixtures to test through Swing GUIs .
CommandLineFixture:This fixture launches commands as if they were run from a shell's
command line input.
ServiceFixture :This fixture library can be used to test service oriented or distributed systems. It
also provides fixtures to access database.
2.1.3 Test system
Fitnesse works with the two Test Systems Slim and Fit.
FIT is the older of the two, and uses HTML. The HTML parsing is done on the SUT just prior to the
fixtures being called. This means that there is a lot of code on the SUT. Over the years many
different ports of FIT have been attempted, but because FIT is large, and because programmers
always have better ideas the second and third time they implement something, the various FIT
ports are quite inconsistent. This means that tests written on one platform won't work on
another.
11 | P a g e
Slim is newer. As the diagram shows, there is very code on the SUT. This is because all the table
processing is done inside FitNesse, within the Slim runners. The Slim Executor and the fixtures
are the only code that lives on the SUT. The Slim Executor is very small and easy to port. The Test
pages are broken down into simple instructions by the Slim Runners. Those instructions are
passed to the Slim Executor which directs the fixtures to call the SUT. This means that new
features added to Slim Runners will not require changes on the Slim Executor, and that all test
pages written for a Slim Runner will work on any different Slim platform.
2.2 The Advantages of FitNesse Tests
Fitnesse automated acceptance tests have several advantages over many kinds of traditional
black-box, GUI-based functional tests:
1. Fitnesse tests can give us feature feedback very early in the project. In fact, the tests ought to
be written first, so programmers can code to the tests.
2. Fitnesse tests can give us feature feedback very frequently. They can be run manually or
automatically by anyone with web access to the server, as frequently as required. Every week,
every day, every hour in a crunch.
3. Fitnesse tests are deterministic: they either run green or red. If they run green for a given
requirement, either the requirement is done and we move on to others, or the set of tests is not
yet exactly right, in which case we refine them. Either way, we are successively refining the
system in an orderly way. With each new test running green, we can all see the system getting
better, more valuable, closer to what we need.
Being based on example data, Fitnesse tests exercise more paths through the business logic.
When you use Fitnesse, you run less risk of missing important features or functional behavior.
12 | P a g e
2.3 Acceptance Tests vs. Unit Tests
xUnit Building the Code Right
Automated unit tests (or programmer tests, as they are increasingly called), are white-box tests
that describe and verify very low-level behavior. Especially when working test-first,
programmers rely on such tests to make sure that the design is sound, and that there are no
defects. Such tests are built by and largely for programmers, and can be independent of
functionality.
If a team using JUnit or NUnit to do Test-Driven Development is still hampered by a broken
requirements process, they can easily end up building robust, lean, well-factored code with no
business value. (This is, in fact, happening with increasing frequency.)
FitNesse: Building the Right Code
FitNesse automated tests are about building the right code in the first place: the code with the
most business value. While programmers may be involved in writing such tests, they are not just
for programmers. FitNesse tests are especially for customers, business analysts, testing
professionals, support staff, management, and all other stakeholders who need evidence that
the project is producing solid return on investment.
13 | P a g e
2.4 Fitnesse test setup-Netting use case Definition of Netting In this method of reducing credit, settlement and other risks of financial contracts by aggregating
(combining) two or more obligations to achieve a reduced net obligation.
Netting rules a basic part of master agreements.
Netting rules define precisely the netting of positions or claims between counter parties.
Benefits of Netting
Netting potentially address four major risk in financial area, there are
Reduction of credit risk
Reduction of settlement risk
Reduction of liquidity risk
Reduction of systemic risk
The Netting process occurs in a single transaction and includes:
1.Cancelling all the original trades
2.Booking a single trade with the netted amounts, into one of the trades books
3. IDTs are then created to move the risk from the netted risk book to the original books, this will
ensure that there are no position movements on any of the trader books.
2.5 Fitnesse test setup-Splitting test case
In splitting ,the trader spreads their trades throughout the day. Rather than making a large trade,it splits its trade throughout day in order to benefit from the fluctuation in the market(favorable market situation).
Splitting of trades is based on the
Currency pair
Counterparty id
Trading date
2.6 Fitnesse test setup-Amending test case
In amending,the financials of trades are changed.Financials include trade date,amount traded ,counterparty etc.
14 | P a g e
CHAPTER 3
3.1 Conclusions
Towards the end of my internship at RBS , I would like to say that the target initially set up, was achieved to a good extent.This helped me a lot to build the zeal to learn more and to be highly precise and accurate in my working. The introduction to an official as well as industrial environment will definitely help me a lot in the future to work in a company concerning the IT field, to cope with the increasing competition in the market. This industrial training has helped me a lot to stand in the corporate world. The testing tool I worked on, is designed to ensure the flawless booking of the trades and Various allocation schemes associated with these trades. In retrospect, I would like to say that the company provided me with ample opportunities to learn and grow in all aspects. . I also have to stress that my colleagues at the
RBS contributed greatly to making my stay there a very enjoyable one I am sure my stint at RBS
would stand me in good stead in all my future endeavors.
15 | P a g e
3.2 References:
1 http://fitnesse.org/FitNesse.
2. http://fitnesse.org/FitNesse.UserGuide.CreatingTestTables
3. http://fitnesse.org/.FitNesse.UserGuide
4. http://www.guru99.com/user-acceptance-testing.html
5. http://softwaretestingfundamentals.com/acceptance-testing/
Recommended