Abstract: Cetrel company manages a variety of products (associated to credit cards) and serves as a technical intermediate to complete credit card transactions. The transactions are quite simple from a high-level viewpoint but are very complex in practice due to:

  •  the number of transactions (per day),
  •  the number of various products (and functionality of these products) offered by the various banks,
  •  the different entities it interacts with (bank of the card owner, type of credit card (e.g. Visa),
  •  the fact that the context of a product is only known at runtime. A context encompasses the current state of a bank account (which means that the past operations have an impact on the current state), its specific configuration parameter, and the specific functionalities offered by the bank with this product,
  •  the products thus have to satisfy three kinds of real-time constraints: response time, load/stress, state/context-based behaviour.

Currently, the best way to test the products is to apply the transactions observed in a day. This provides a high-level of confidence in the products, since many behaviours are tested. However, this test is quite time consuming, and is a bottleneck for performing diagnosis in case of failure. It would be interesting to select a subset of relevant test cases in the mass of a daily transactions:

  • for targeting the most efficient test scenarios,
  • for simplifying the interpretation of the test results, and thus the diagnosis.

Independently, it would be meaningful to measure the quality of a test cases set. The goal of this research project would be to reduce the test set size (typically the daily transactions) into a minimum subset of the same quality.