Continuous Testing

Qu'est ce que Continuous Testing

Définition

Continuous Testing est un outil de tests basé sur JUnit. Il compte toutes les fonctionnalités de JUnit tout en en intégrant de nouvelles.

Son principal but est d'automatiser les tests unitaires.




Le plug-in Continuous Testing

Le plug-in Continuous Testing est utilisable à partir de la version 3.0 d' Eclipse. Il est accessible d'ici.

Installation

  1. Démarrer Eclipse ;
  2. Depuis la barre de menu, sélectionner Help > Software Updates > Find and Install ;
  3. Choisir Search for new features to install, et sélectionner Next ;
  4. Cliquer sur le bouton Add Update Site... ;
  5. En nom, le type est Continuous Testing Site, et en URL http://pag.csail.mit.edu/continuoustesting ;
  6. Un bouton à cocher Sites to include in Search doit être sélectionné, puis il faut cliquer sur Next ;
  7. Sélectionner la case Continuous Testing puis Next ;
  8. Accepter les informations d'utilisation pour la licence et la signature du plug-in pour finir l'installation ;
  9. Continuous Testing sera utilisable lors du prochain lancement d'Eclipse.
Fenetre d'installation

Les objectifs de Continuous Testing

Continuous Testing est un outil de tests basé sur JUnit, il donne les mêmes informations sous le même format. Cependant, il permet en plus d'automatiser, de filtrer mais aussi de prioriser les tests unitaires.

Rappel sur les formats de retour de JUnit :

Rappelons tout d'abord que JUnit est un framework JAVA, il permet en résumé de :

Le résultat est donné de manière très simple. La seule chose à retenir est que :
- VERT rime avec SUCCES et que
- ROUGE rime avec ECHEC.

images resultat SUCCES

On voit ici le résultat de trois tests (testBoutonOK(), testBoutonAnnuer(), et testLabel()) qui se sont tous passés avec SUCCES, d'où le résultat VERT.

Activer les fonctions de Continuous Testing

Continuous Testing s'active sur un projet :

  1. Propriétés du projet ;
  2. Choisir Continuous Testing Properties ;
  3. Sélectionner Enable Informed Testing et Enable Continuous Testing ;
  4. Continuous Testing est à présent en cours de fonctionnement.




Les plus de Continuous Testing

Automatisation

Une fois Continuous Testing activé, les tests vont se lancer de manière automatique. A présent, contrairement à JUnit, les tests unitaires s'éxecutent à chaque sauvegarde, plus besoin de les lancer manuellement.

Priorités et filtres

Continuous Testing permet de prioriser et de filtrer les tests unitaires dans le but est de leur donner un ordre d'éxecution judicieux. Cela se fait depuis les propriétés du projet, dans la section Continuous Testing Properties :

Fenetre de propriétés du projet

Le paramètrage des filtres et des priorités se fait au niveau des sections "Select Prioritizer" et "Select Filter" :

Priorités et filtres

Plusieurs niveaux sont disponibles aussi bien pour les priorités que pour les filtres :

Priorités :
  • Most Recent Failures First : prioriser les derniers tests qui ont échoués
  • Most Frequent Failures First : prioriser les tests qui échouent souvent
  • Quickest Test First : prioriser les tests les plus rapides
  • Round Robin : donner un ordre de lancement équitable
  • Random : lancer les tests dans un ordre aléatoire
  • No reordering : aucune priorité
Filtres :
  • Omit Previous Successes : ne lance que les tests qui ont eu échoué lors de la dernière exécution
  • Most Recent Failures Deleted : ne lance pas les tests qui ont échoué lors de la dernière exécution
  • Informed Filter(Ct Only) : ne lance que les tests de la forme testClassName où ClassName est le nom de la classe
  • Default No Filter : aucun filtre




La notification d'erreurs

En plus des priorités et des filtres, Continuous Testing offre une notification des erreurs. Cela permet de mettre en évidence les méthodes qui échouent lors des tests.

De plus les fonctions en question sont soulignées en rouge, près de celles ci apparaît un T en rouge qui signifie « Test Failure » afin de permettre aux programmeurs de détecter plus rapidement les méthodes qui posent problème et ainsi les corriger plus rapidement.

images d'une erreur




En résumé

Non seulement des priorités et des filtres, mais aussi une notification des erreurs est offerte par Continuous Testing. Cela permet de mettre en évidence les méthodes qui échouent lors des tests. Les fonctions en question sont soulignées en rouge, près de celles ci apparaît un T en rouge qui signifie « Test Failures » afin de permettre aux programmeurs de détecter plus rapidement les méthodes qui posent problème.

Valid XHTML 1.0!