Testing Securities Exchange Systems is very complex and requires a significant amount of domain knowledge. As with testing other financial software, many of the domain-related rules are related boundary values and the change of some values evokes other changes as well. Here are a few examples of where we always ensure adequate test case coverage to handle these situations:
1. A leveraged transaction
Some securities system support leveraged transactions whereby a user/investor can use leverage to expand their profit. There are many types of leverage. As a tester, we need to understand the different types of leverage and the usage of different leverage ratios for testing. Different leverage values can combine with different rules. For example, if leverage is 1:10, then if the price went down 10%, Forced Liquidation will occur.
2. Ex-dividend
This includes EXCLUDE DIVIDEND and EXCLUDE RIGHT. As soon as the ex-dividend date passes, the price should be changed. In addition, this causes other related values in the system to follow this change, i.e. P/E (Price/Earnings Ratio).
3. Service charge and Tax
Different brokerage clients always have different service charge rates and taxes as defined by the stock exchange, government, and brokerage house. For example, if an account’sMarket Capitalizationis more than 1 million USD, this account is categorized as VIP account, which may indicate a reduced service charge, maybe just 0.01%. On the other hand, if the Market Capitalization decreased to less than 1 million on a given day, what will happen? Is the service charge automatically changed (increased)?
I’ve listed just a few checkpoints. Testing securities exchange systems is rather complex and needs deep knowledge and precision regarding all the rules and thresholds. Make sure you are up to date on the all business rules of the exchange or some critical defects may slip through!