Vous êtes sur la page 1sur 15

1|Page

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|Page

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|Page

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|Page

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 test13

2.6 Fitnesse test setup-Amneding use test..................................................................13


CHAPTER THREE .......................................................................................................... 14 3.1 Conclusion........................................................................................ ..14 3.2 References15

5|Page

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 worlds 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 PLCs (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|Page

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|Page

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 Groups 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 well be with you every step of the way.

8|Page

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 systems behavior is consistent with the requirements. These

9|Page

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/

Vous aimerez peut-être aussi