A well designed, developed and tested software is usually reliable and it produces the same consistent outputs for a set of inputs. However, financial markets software is different because it can produce different results for the same periods of back-testing with the same input historical data, usually downloaded from the financial market broker’s trading server. These inconsistency of results can confuse a financial market software developer when testing for the profitability of developed expert advisors because a profitable expert advisor can be wrongly discarded as unprofitable, leading to frustrations. This problem can be addressed when new software testing processes and indicators are added to the conventional ones such as functional testing, performance testing, usability testing, etc., associated with normal software development. This paper proposes a software testing framework for the financial market with novel software testing processes and indicators. The proposed software testing framework integrates six software testing processes namely, brokers test, currency pairs test, spread test, weekday-weekend test, back testing-live test and time and space overhead test. The paper further analyzes the problem of time and space overheads associated with the financial market software during back-testing and real life implementation. The framework was applied to real life trading in the Forex financial market. The results show that the proposed framework improves the profitability of the financial market software when applied in different scenarios.
Read full abstract