Equity Trade Flow

Posted on the January 31st, 2010 under Investment Banking by Arun Vijayaraghavan

Equity Trade Life Cycle

An equity also known as share, stock or preferential share is defined as an equal portion in a company’s capital that is sold and traded in the capital markets.

In India, BSE (Bombay Stock Exchange) and NSE (National Stock exchange) are two main capital markets where these equities are freshly issued and traded.  The performance of any national market is measured by using their corresponding Index.

An index is defined as a barometer of a market. An index measures the performance of top Tier I & Tier II stocks that are qualified and listed in the respective stock exchange. BSE’s performance is measure using the index SENSEX (Sensitive Index) and NSE’s performance is measured using the index NIFTY (National Fifty).

Sensex is a measure of 30 top stocks across each and every sector. Similarly NIFTY is a measure of top 50 that includes various sectorial stocks in NSE.

Stock trade flow:

SWIFT (Society for Worldwide Information for Financial Telecommunication) is an authenticated messaging service between banks and other financial institutions. All settlement instructions are taken care by using these SWIFT messages. These SWIFT messages come under the ISO 15022 standards which govern the format in which SWIFT messages should be sent and received across to different financial institutions. All category 5 messages take care of the below transactions:

1. TIC – Trade Initiation and confirmation

2. S&R – Settlement and Reconciliation

3. CA – Corporate actions

The entities that participate in trade includes the following:

  • Client who can either be an Investment manager, Assert Manager or an Assert (or Investment) Management Company (AMC).
  • Then Custodian who can either be a broker or a dealer who would be in-charge of executing the order.
  • The DP (Depository Participant) who would be responsible for trade settlement.

Traditional Trade Flow

The life cycle of a trade starts with the Client placing an order for the purchase of securities along with the price and other parameters with which the trade should be executed. This business process is known as Trade capture. The Dealer (or broker) also sends in his trade details that contains specifics such as stock details, price of trade, quantity, commission and settlement details.

The client’s trade information and dealer’s trade information is processed and matched. This is business process is known as Trade Matching. Both Trade capture and trade matching happens on the same day (T+0 – Trade Day). All such trades that are captured and matched are said to be successfully matched trades. Once the trade is matched, the dealer and the clients are informed through SWIFT messages that trade was successful.

Then Clearing happens the next  (T+1) day. Clearing is defined as a set of business processes that happens between when the order is placed till the actual clearing process happens. The cash gets settled first followed by the securities that gets deposited in the customer’s DEMAT account.

Settlement is a process by which the securities get deposited to the dematerialized (DEMAT) account of the end customer. Settlement happens on T+2th day. Recording or reconciliation process is that process that involves matching of the details that are obtained from a successful trade execution. Reconciliation happens on T+3 days. This is when the trade is considered to be complete. An audit trail based system best explains the entire trade flow process.

CA – Corporate action is defined as set of transations (either financial or non-financial) that are communicated either to the customer or the custodian through SWIFT messages. The most common corporate actions includes the below:

  • Informing the customer about the declaration of divident
  • Communication of an event
  • Claim processing
  • Instruction processing
  • Reporting
  • Reconciling
  • Requesting for votes from the customer
  • General stock performance

For further and indepth information please mail me at arun.vijayaraghavan@focustesting.com

Thanks,

 Arun

Integrated Work flow Model and Technical Acceptance Testing

Posted on the January 30th, 2010 under Software Testing by Arun Vijayaraghavan

Integrated Work flow Model:

IST: Integrated system testing otherwise known as System Integration Testing is one such testing phase in which all the internal interfaces of the system is tested from both functional and operational perspective.

In IST we would concentrate more on the functionality of the system along with the integrity when it communicates with its interfaces. Functional testing techniques such as Boundary Value Analysis (BVA), Equivalence Partitioning and use case based testing, State transition table and decision table analysis. Since the system tends to fail more on the boundaries we give more emphasis on BVA and Equivalence class.

TAT – Technical acceptance testing

TAT is a testing phase in which the system is tested if it is acceptable as per the technical specifications. Once SIT is complete the system is passed for UAT or TAT. UAT/TAT is the final phases before the Production. In UAT phase, the business users typically the end users test the application from end to end business perspective.

If the system undergoes a change from the functional perspective then the system needs to be UAT’ed before the new build goes into production. But at the same time, when there are changes to the system from the technical perspective like change in the load balance of the servers, then the system needs to under go load and stress testing. These phases of testing come under TAT.

Once UAT or TAT is complete then the system would go into preproduction where the system is checked for back-out and finally it is released into production.

In other words TAT can be defined as a phase that verifies and validates the technical compliance of software regarding to the production’s standard.

Capital Markets

Posted on the January 27th, 2010 under Investment Banking by Arun Vijayaraghavan

Capital Markets

Financial market is a market place all financial instruments are bought and sold. Generally, all companies and government backed institutions sell their financial instruments in these financial markets to raise capital for their sort and long term financial requirements.

 Securities can be either traded through an exchange or through OTC (Over the Counter). Capital market securities are traded either in equities market or bond market depending on what the security is.

 Capital market is one such financial market where companies and institutions sell their financial instruments for long term capital requirements. Equities and Bonds are those financial instruments that are sold in capital markets.

 Equities: Equal share in the capital of the company that is traded in exchange market. Equities traded by the entity selling represents equal share of ownership in the company.

 When a private company wants to raise capital for their long term financial needs they first announce IPO (Initial Public Offer) in the exchange market. Once the IPO rates are finalized through bidding process between the given dates, the entry cost of each equity is fixed and traded to other individuals, financial institutes, AMC (Assert Management Company) through the primary market.

Primary Markets: Primary market is a capital market where all IPOs are traded. Freshly issued securities are traded in the primary market. Primary markets are also known as IPO market or freshly traded market.

Secondary Markets: A capital market in which already issued equities is traded between individuals, Institutional investors and AMCs. Secondary market is also known as after market.

Types of Equities:

Normal Shares (equities) – Shares that are issued in the primary (IPO) market and then traded normally in the

Secondary markets: All such shares have voting rights. In case when the company is dissolved, normal equity share holders get the last chunk of cash after Bond (Fixed income – FI) and preferential share holders.

Preferential shares (equities) – These are shares that are issued to a specific group and these shares have much higher priority over normal shares. Preferential share holders do not have any voting rights. Preferred share holders do not have any ownership in the company. In case the company is dissolved preferential share holders get priority of settlement next to the FI (Bond) holders.

Bond – A bond is a fixed income financial instrument which has guaranteed income after a fixed period of time. The interest that is obtained on the principle is known as a coupon. The coupon is payable to the bond holder either monthly, quarterly or half-yearly depending on what is requested by the holder.

Types of Bonds:

Government Bonds – FI securities that are issued by the government is defined as government bonds. These bonds have assured income after a fixed time period. Government is always in local currency.

Municipal Bonds – Bonds issued by Municipal is called municipal bonds. These are also called as “Munis”. These bonds have a fixed rate of interest and fixed time for maturity.

Corporate Bonds – FIs that are issued by corporate are referred as corporate bonds. These FIs are little risky compared to government and municipal bonds. Corporate bonds return much higher rate of interest when compared to government bonds or munis.

Domestic bonds – Domestic bonds are those that are issued in the domestic market by domestic players. These are issued in local currency of the country in which these are issued.

Other bonds are foreign bonds, Euro Bonds, Convertible Bonds, Callable Bonds, Puttable Bonds, Zero coupon bonds, floating rate bonds, fixed interest rate bonds.

For further information, please write to me at arun.vijayaraghavan@focustesting.com

Thanks,

Arun

Financial Markets

Posted on the January 26th, 2010 under Investment Banking by Arun Vijayaraghavan

A financial market is defined as a market place where all financial instruments are sold and bought.  All companies and government organizations raise capital from the public either for short term or long term financial requirements through these financial markets.

Generally, all financial markets can be categorized as below:

  • Capital Market – Used to raises long term capital
  • Money Market – Used to raise short term capital
  • Derivatives Maket – Securities who’s value is derived from the underlaying aspect of other securities.
  • Insurance Market – Selling securities which are a type of risk management
  • Foreign Exchange Market - Trading one curreny against the other 
  • Commodity Market – Trading common commodities such as rice, sugar, steel, etc.,

Depending on the entity’s financial requirement, they would either engage in Capital market or Money Market to raise their capital.

Please mail me in case you need to discuss on any specific topic under financial markets.

Thanks,

 Arun

 

NOSTRO and VOSTRO accounts

Posted on the January 23rd, 2010 under Banking by Arun Vijayaraghavan

From banking perspective Nostro and Vostro accounts are bank’s accounts with other banks. These accounts serve the purpose of clearing when the banks act as custodians. Let us now define these accounts:

Nostro/Vostro: Nostro accounts are those accounts held by banks with another bank. Sample scenario would be when Citibank India has an account with HSBC india, then this account is a Nostro for Citibank. But this same account is said to be a Vostro account for HSBC.

Every bank maintains Nostro accounts with other banks to serve the purpose of fund transfer in case of clearing and settlement. This is also in case of investment banks that act as global and local custodians for individuals and high net-worth investers.

For further information please write to us at: arun.vijayaraghavan@focustesting.com

Thanks,

 Arun

Breadth test

Posted on the January 17th, 2010 under Software Testing by Arun Vijayaraghavan

A test suite that exercises the full scope of a system from a top-down perspective, but does not test any aspect in detail

Dirty Testing (or) Creative Testing

Posted on the January 15th, 2010 under Software Testing by Arun Vijayaraghavan

Testing as we all know is a verification and validation process that certifies that a product works as per the requirements. But testing as per requirements alone wouldn’t make the product stable. This is where we introduce a stage/phase that we call as Dirty testing. This phase is also known as “Creative Testing“.

Dirty testing involves testing creative side of the equivalence partation. There are certain conditions in which the application would surely break if tested with test data other than the ones mentioned in the requirements. Dirty testing also involves testing out of box. Sometimes a tester’s experience of testing similar products plays a vital role in determining the depth in which negative testing is carried out.

Let us discuss a scenario where I had employed creative a.k.a dirty testing. The requirements does not always cover every business aspect. Based on your product experience If you find any gaps in the technical & functional requirements then you are sure to find gaps in the application which would ultimatly lead of failure. 

Case Study: I was involved in the UAT phase of Testing an ATM (Automated Teller Machine) interface with Core Banking application.

All test cases where written by business users strictly based on BRD and FS. The software was strictly developed based on the BRD & FS. Not enough care was taken to program the application’s behaviour for alternative paths.

The main functions of the ATM machine are listed below:

  1. Cash Withdrawal
  2. Balance Enquiry
  3. Fund Transfer
  4. Cash Deposit
  5. Mobile Phone Recharge

All test cases for the above scenarios where based on happy path and never considered the dirty path. Let us have a look at sample test cases for Cash Withdrawal:

Strictly Requirement Based Cases – Cash Withdrawal:

  • Cash Withdrawal from Current account using Maestro card
  • Cash Withdrawal from Savings account using Maestro card
  • Cash Withdrawal from current account when there is not enough balance
  • Cash Withdrawal from savings account when there is not enough balance
  • Cash withdrawal using a blocked card using Maestro card
  • Cash withdrawal using an expired card using Maestro card

Even though the above test cases covers both positive and Negative paths in the high level cash withdrawal scenario, the very aspect of alternate path is not covered. Out of my experience let me list down a sample of dirty test cases that I have come up with:

  • Cash withdrawal using a utility card
  • Cash withdrawal from a revolving credit card
  • Cash withdrawal using a store card
  • Cash withdrawal using damaged card

Well, all the 4 dirty test cases failed and the system almost crashed resulting in Sev-1 defects. Real show stoppers. This is when we decided, we would cover regular BRD/FS aligned test cases along with Dirty test cases which would surely improve the quality of the product delivered.

It would be great if you as readers can also share your experiences in creating dirty test cases. Please do write to me at arun.vijayaraghavan@focustesting.com

Thanks,

 Arun

 

What is Quality?

Posted on the January 14th, 2010 under Software Testing by Arun Vijayaraghavan

Quality software is a piece of code that is reasonably bug-free, delivered on time and within budget, meets requirements and expectations and is maintainable. Quality is also defined as meeting the customer’s expectations the first time and every time.

However, quality is a subjective and an abstract term. Quality depends on who the customer is and their overall influence in the scheme of things. Customers of a software development project include end-users, customer acceptance test engineers, testers, customer contract officers, customer management, the development organization’s management, test engineers, testers, salespeople, software engineers, stockholders and accountants.

Each type of customer will have his or her own slant on quality. The accounting department might define quality in terms of profits, while an end-user might define quality as user friendly and bug free.

What is the difference between Test Plan and Test Strategy

Posted on the January 13th, 2010 under Software Testing by Arun Vijayaraghavan

Test Plan and Test strategy documents are extremely important in any project. Both documents are usually frozen at the beginning of the test engagement, but do under constant changes and revisions. We can call both documents to be live documents.

 The basic difference between the two is as below:

Test plan is a document that contains list of activities that would be a part of testing the application (AUT). A test plan contains the following details:

1.Details on the Environment

2.Details on the application and Scope of Testing

3.Different phases of testing involved in the test project:

  • Unit Testing – Responsibility & Exit criteria
  • System Testing – Responsibility & Exit criteria
  • Integration testing – Responsibility & Exit criteria
  • UAT / Business User Testing – Responsibility & Exit criteria

4. Environment Cycle plan & Batch calendar plan

5. Resource Requirement across each phases of testing

6. Test Deliverable

7. Test team skills, requirements, roles & responsibilities.

8. Details on resource ramp up and ramp down

9. Details of the availability of hardware and support software requirement.

10. Details on training needs

11. Risks and mitigation

12. Contingency plan

Test Strategy – Test Strategy is a document that talks about how the testing is to be carried out across each phase. Take for example, in Unit testing phase test strategy would define entry and exit criteria along with ways and means of how the module would be unit tested. Test Strategy would vary from phases to phase since same strategy cannot be followed for two phases keeping in mind no two phases of testing are similar.

 So, eventually Test Plan is a parent document the contain test strategy as a child document.

The perception of test plan and test strategy would vary from organization to organization and even project to project.

BVT (Build Verification Testing) & Smoke Testing?

Posted on the January 13th, 2010 under Software Testing by Arun Vijayaraghavan

BVT / Smoke Testing – A topic of debate! Is it that important before we move to ST/UAT 

There has always been a debate in the software testing industry on how to pass a build for testing. Simple and straight forward we use BVT/Smoke testing to check the fitness of build into the test environment.

Now we come to the point of how to decide the critical test cases (conditions) to test the build for BVT. Usually the test team is not given much of time for BVT as it is just been a few minutes to hours to verify the fitness of the build. Best illustrated would be with an example.

Sample Situtation: A banking application, IBS is currently under maintenance phase and one its Loan module has undergone a change based in APR (Annual Percentage rates – Interest rates) on a CR (Change request) raised by the business team due to change in government regulations. The testing team has already prepared test cases to test the change in the LOAN module and would start testing once BVT team certifies the fitness of the build. The time frame for testing is just a few hours as per the test plan estimates. Now, The BVT team has to check and pass the fitness of the build before its deployed to System testing and subsequently UAT, all this should happen within a few hours (6 hours – as per estimates)

Solution: There are a few points that need to be considered by the BVT team before during and after the BVT phase.

i. Identify critical test cases and test data requirement prior to BVT execution. These test cases should be from the System testing/UAT test artifacts that were prepared by the ST/UAT team.

Example: Below are a few critical test cases while testing a Loan module in IBS

1. Check if the user is able to log into IBS successfully

2. Check if the user is able to invoke LOAN module

3. Check if the user is able to log into LOAN module

4. Check if the user is able to provide loan to the Customer (Any loan type, Any APR specification)

The identified test cases are collaterals where in you start checking from very basics (login) and check the basics again of the module that has undergone a change (Loan product offer)

ii. Once after identifying critical test cases as mentioned above, the BVT team needs to prepare data for the same. Data has to be taken from the same test bed as that that would be used for ST/UAT.

iii. Execute these test cases with the selected sample of data. Usually all BVTs are shallow and wide which means you test really critical functionalities to check the fitness, after which you can pass the build for further system/functional testing.

iv. If all the test cases passes, certify the build to be deployed in ST/UAT.

v. Even if one test case fails, raise a defect and request for a fix with high priority and severity. Do a retest (confirmation testing). If the retest passes, certify the build with a caution & proper documentation that would contain.

1. Details of the test case that failed.

2. Test data used for that particular test case

3. Screen prints that contain the screen where the error was encountered, data used for testing and retest screen prints after a successful fix. 

vi. There is also a possibility that the defect takes much longer time to fix. In that case, postpond the build till the defect is fixed. After which you retest and certify it with proper documentation.

 The above steps needs to be followed religiously since BVT team plays an extremely important role before ST/UAT team could test. Any decision given by the BVT team would surely influence the planning & estimates Vs actuals of the other test teams.

Kindly feel free to share your experiences with BVT and also let me know if i have missed out on any key points.

Thanks,

 Arun