Mastering test generation from smart card software formal models

  • Authors:
  • Fabrice Bouquet;Bruno Legeard;Fabien Peureux;Eric Torreborre

  • Affiliations:
  • LEIRIOS Technologies, Besançon, France;LEIRIOS Technologies, Besançon, France;Laboratoire d'Informatique (LIFC), Université de Franche-Comté – CNRS – INRIA, Besançon, France;LEIRIOS Technologies, Besançon, France

  • Venue:
  • CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

The growing complexity of new smart card platforms, including multi-subscription or multi-application functionalities, led up to more and more difficulty in testing such systems. In previous work, we have introduced a new method for automated test generation from state-based formal specifications (B abstract machines, UML/OCL models, Z specifications). This method uses cause-effect analysis and boundary computation to produce test cases as sequences of operation invocations. This method is embedded in a model-based test generator which has been exercised on several applications in the domain of smart card software (GSM 11-11 application, electronic purse system and Java Card transaction mechanism). In all these applications, a B abstract machine was built specifically for automatic test generation by an independent validation team. Writing a specific formal model for testing has been shown to be cost-effective, and has the advantages that it can be tailored towards the desired test objectives. This paper focuses on showing the application of this test generation process from formal models in the context of Smart Card applications. We describe how the test generation can be controlled by using several model coverage criteria. These criteria are of three kinds: multiple condition coverage, boundary-value coverage and behavior coverage. This makes it possible to generate a systematic minimal test suite achieving strong coverage results. The test engineer chooses the criteria depending on the application test objectives and then fully controls the test generation process.