Model Based Testing

Uit Werkplaats
Versie door Freek Verbeek (overleg | bijdragen) op 31 mrt 2010 om 13:19
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Ga naar: navigatie, zoeken


        

Model based testing

Jan Tretmans
Frits Vaandrager
Pieter Koopman
Julien Schmaltz
Fides Aarts
Johan Uijen
Carsten Rütz
Feng Zhu


 © comments



This Wiki page serves as a platform for Model Based Testing conducted at the Radboud University in Nijmegen or related parties. The intention is to provide project descriptions, discuss usage of tools and problems in order to facilitate communication among the members of this page, help each other and make our work more efficient. Please feel free to add information or questions that might be of use.

FATs Domino

Description

In this project, model-based testing is introduced at the printer manufacturer Océ. As a first case study parts of a printer controller are tested by means of model-based testing.

Hardware and software parts on which many Océ products are based are being extended, adapted and redesigned rapidly, to be able to satisfy the needs from the different market segments they serve. To be able to validate the changes, Océ has a Framework Automatic Testing (FAT) which checks the different configurations of the software for regression problems on system level. The change or addition of requirements of the software platform may render one or more tests invalid, or may require new tests to be created. Currently this is a time intensive process, which is the cause for a backlog on creation and adaption of test cases. The same goes for the analysis of the problems that occur during a test. It is not easy to pinpoint the exact problem location in the often complex scenarios being tested.

Model-based testing could improve the current testing framework, by modeling dynamic behavior of the printer controller and test this model against the controller's SUT. Complex behavior of different software components in an Océ printer is analyzed and understood using model-based testing techniques. To speed up analysis of software components or models test case shrinking is introduced. With this shrinking the execution time of test runs, possibly generated through a model-based testing tool could be shortened.

Project members

RU

  • Pieter Koopman
  • Jan Tretmans
  • Johan Uijen
  • Frits Vaandrager

Océ

  • Chantal Beerendonk
  • Xavier Brankaert
  • Johan Foederer
  • Roger Heuts
  • Jeroen Janssen
  • John Kesseler
  • Bart Meijer
  • Jarno Radde

Tools

  • JTorx
  • TorXakis
  • Gast
  • Eucalyptus

Current status

A model has been made about job handling in a printer. Furthermore a interface in Python has been defined were the model based testing tool can interact with. Interactions take place via socket communication. In and output symbols of the model are encoded as strings and sent over the socket. Currently TorXakis is used as primary tool for model-based testing. JTorx and Gast are also used for model-based testing but it seems TorXakis suites best for this project. Currently the model based testing interface is being changed to optimize the model-based testing process. This is done is such a way that long timeouts can be avoided and that it suits the needs of the current testing framework. The next step will be to introduce some parallel processes in the model, at this moment the model based testing tool is sequentially taking transitions through the model. It could be that a different subsystem than job handling is chosen to model this parallel behavior on.

Also a workshop has been given about model based testing tools. In this workshop, tools like JTorx and TorXakis have been used. The goal of the workshop is to introduce these model based testing tools to the Océ members of the project that did not have much experience with model based testing. The participants of the workshop where given a few assignments in which they had to used these tools. There was also some time for discussion about the underlying testing algorithms of the tools. The next workshop will be held at the Radboud University.

Links

Learning the biometric passport

Description

The biometric passport is an electronic passport provided with a computer chip and antenna to authenticate the identity of travelers. The data on the passport is highly confidential, e.g. it might contain a fingerprint of its owner, and therefore is protected via several mechanisms to avoid and/or detect attacks. Examples of used protocols are Basic Access Control (BAC), Active Authentication (AA) and Extended Access Control (EAC). The interaction of the different protocols and according results are hard to understand. Official standards are documented in the International Civil Aviation Organisation's (ICAO) Doc 9303[1][2][3], which are extensive and informal. For a better understanding formal models can be useful, which can also provide a basis for model-based testing. This has been done by W. Mostowski et al.[4]. However, developing such models manually is a time-consuming task. Therefore, when an implementation is available automating the model generation process by using inference techniques[5] can be a better solution.

Project members

  • Jan Tretmans
  • Frits Vaandrager
  • Erik Poll
  • Julien Schmaltz
  • Wojciech Mostowski
  • Fides Aarts

Tools

  • LearnLib
  • JTorX
  • Eucalyptus

References

  1. ICAO Document 9303, Part 1, Volume 1 (OCR machine-readable passports)
  2. ICAO Document 9303, Part 1, Volume 2 (e-passports)
  3. ICAO Document 9303, Part 3 (credit-card sized ID cards)
  4. W. Mostowski, E. Poll, J. Schmaltz, J. Tretmans, and R. Wichers Schreur. Model-Based Testing of Electronic Passports. 2009
  5. D. Angluin. Learning regular sets from queries and counterexamples. 1987