In the smart card quality assurance field, software testing is the privileged way of increasing the confidence level in the implementation correctness. When testing Java Card application programming interfaces (APIs), the tester has to deal with the classical oracle problem, i.e. to find a way to evaluate the correctness of the computed output. In this paper, we report on an experience in testing methods of the Oberthur Card Systems Cosmo 32 RSA Java Card APIs by using the Symmetric Testing paradigm. This paradigm exploits user-defined symmetry properties of Java methods as test oracles. We propose an experimental environment that combines random testing and symmetry checking for (on-card) cross testing of several API methods. We develop a semi-empirical model (a model fed by experimental data) to help deciding when to stop testing and to assess test quality
['Arnaud Gotlieb', 'Patrick Bernard']
A Semi-empirical Model of Test Quality in Symmetric Testing: Application to Testing Java Card APIs