Tobias

Outil de Génération combinatoire de tests


Introduction

Les équipes du LSI, internationalement reconnues dans la validation et le test logiciel, utilisent leurs savoir-faire pour mettre au point des outils de génération automatique de tests. Afin de générer le plus grand nombre de tests et ainsi améliorer la détection d'erreurs, les équipes ont développées Tobias. A l'aide d'une description par un "schéma de test" qui donne une vision abstraite de l'ensemble des tests à générer, Tobias génère de manière systématique tous les cas possibles.

Bénéfices

  • Puissant : TOBIAS permet d'exprimer de façon concise une suite de test. En quelques lignes, l'ingénieur de test exprime un schéma qui peut générer jusqu'à plus d'un million de tests. Le caractère systématique des tests et leur grand nombre améliore considérablement la découverte d'erreurs. Redéfinir les tests revient à redéfinir le schéma, ce qui mène à d'énormes gains de productivité.
  • Adaptable : TOBIAS s'adapte à tous types de problématiques et tous types de langages, grâce à l'expression de tests abstraits indépendants de la technologie ciblée. Vous pouvez donc l'utiliser indépendamment de vos choix technologiques, que vous développiez des sites web, des bases de données, des IHM, des systèmes embarqués ou autres.
  • Facile : TOBIAS permet de décharger le testeur des tâches répétitives pour se concentrer sur les aspects créatifs de la génération de tests. Il a été conçu pour être utilisable par des non-experts.
  • Aide à la conception : TOBIAS a été développé pour aider l'utilisateur dans sa démarche de conception de tests. L'utilisateur doit fournir un schéma de test qui est "déplié" par TOBIAS et transformé en tests exécutables.


Offre 

  • Licensing
  • Collaboration de R&D
  • Conseil


Domaines d'Application

  • Avionique
  • Domotique
  • Sécurité
  • Sûreté de fonctionnement
  • Système de communication


Technologie

La figure 1 donne une vue de l'ensemble de l'outil et de son environnement. Le point de départ de la génération est la description des signatures des méthodes des classes de l'application à tester. Sur cette base l'utilisateur définit, avec l'aide de l'outil, des "schémas de test" qui sont une description abstraite de l'ensemble des tests à réaliser. L'outil peut ensuite déplier ces schémas en un grand nombre de données de test, cas de tests ou objectifs de test (selon le contexte). Dans la plupart des cas, l'outil fournit simplement des données de test, destinées à solliciter l'application à tester.

L'oracle du test est alors fournit par une spécification exécutable de l'application. Un pilote de tests sollicite ainsi l'application et l'oracle pour produire divers résultats de test (erreurs et éventuellement couverture).

Le pilote de test peut être un outil standard, comme JUnit, mais nous avons conçu des versions adaptées à TOBIAS qui exploitent les similarités des tests pour optimiser leur exécution. En pratique, l'outil permet la génération d'objectifs de test pour l'outil TGV, ou des cas de test pour VDM, Java/JML ou System C. Dans tous les cas une spécification (exécutable) de l'application est nécessaire.

 

fonctionnement de Tobias

 

Contactez-nous