Hakima Zidouri CONSEIL INGENIERIE Informatique Rseau 3 CONTINUOUS

  • Slides: 14
Download presentation
Hakima Zidouri CONSEIL & INGENIERIE Informatique Réseau 3 CONTINUOUS TESTING Exposé de système -

Hakima Zidouri CONSEIL & INGENIERIE Informatique Réseau 3 CONTINUOUS TESTING Exposé de système - 2004

Sommaire CONSEIL & INGENIERIE • L’intérêt des tests unitaires • Outils : JUnit •

Sommaire CONSEIL & INGENIERIE • L’intérêt des tests unitaires • Outils : JUnit • Écrire ses tests • Plug-in : Continuous Testing • Les plus de Continuous Testing • Démonstration • Différents outils de tests unitaires • Conclusion : ce qu’il faut retenir 2

L’intérêt des tests unitaires CONSEIL & INGENIERIE Le test unitaire : • bout de

L’intérêt des tests unitaires CONSEIL & INGENIERIE Le test unitaire : • bout de code qui provoque l’exécution d’un autre bout de code et qui en analyse le résultat. L’intérêt des tests unitaires : • Programmer efficacement • Programmer rapidement • Programmer sans régresser • Programmer en équipe 3

Outils : JUnit CONSEIL & INGENIERIE • Framework de test : JAVA JUnit permet

Outils : JUnit CONSEIL & INGENIERIE • Framework de test : JAVA JUnit permet de … • • • vérifier corriger documenter … ses classes JAVA. 4

Écrire ses tests CONSEIL & INGENIERIE Classe à tester Classe de Test public class

Écrire ses tests CONSEIL & INGENIERIE Classe à tester Classe de Test public class Utils. Test extends Test. Case { { public int add (int a, int b) public void test. Add() { { a + b; return }. . . } } } 5

Écrire ses tests : Test. Case et Assert CONSEIL & INGENIERIE JUnit. framework. Test.

Écrire ses tests : Test. Case et Assert CONSEIL & INGENIERIE JUnit. framework. Test. Case : définir les tests JUnit. framework. Assert : identifier les erreurs • assert. Equals(. . ) : tester l’égalité de deux types primitifs • assert. False(…) et assert. True(…) : tester une condition booléenne • assert. Null(…) et assert. Not. Null(…) : tester si une référence est nulle • assert. Same(…) assert. Not. Same(…) : tester si deux objets se réfèrent au même nom d’objet 6

Écrire ses tests : Test. Suite CONSEIL & INGENIERIE import junit. framework. *; JUnit.

Écrire ses tests : Test. Suite CONSEIL & INGENIERIE import junit. framework. *; JUnit. framework. Test. Suite : permet de réunir un ensemble de tests public class Executer. Les. Tests dans une même classe { Intérêt : obtenir un test de suite() l'application complète public static Test { Test. Suite suite = new Test. Suite("Tous les tests"); Méthode : suite. add. Test. Suite(Ma. Classe. Test. class); • Créer un objet Test. Suite suite. add. Test. Suite(Ma. Classe 2 Test. class); returnla suite; • Appeler méthode add. Test( instance de la classe } pour chaque classe de test à ajouter public static void main(String args[]) • {Définir le main et appeler la méthode run() junit. textui. Test. Runner. run(suite()); } } 7 de tests )

Plug-in : Continuous Testing (1) CONSEIL & INGENIERIE • Continuous testing permet … d’automatiser

Plug-in : Continuous Testing (1) CONSEIL & INGENIERIE • Continuous testing permet … d’automatiser de prioriser de filtrer … ses tests unitaires. • Basé sur JUnit : • mêmes informations • même format 8

Plug-in : Continuous Testing (2) CONSEIL & INGENIERIE Plug-in Activer : Continuous : •

Plug-in : Continuous Testing (2) CONSEIL & INGENIERIE Plug-in Activer : Continuous : • Help >( du Software > Find. Testing and Install • Properties projet )Updates / Continuous Properties Search for new features • « • Enable Informed Testing » etto install Add. Continuous Update Site. . • « • Enable Informed Testing » 9

Les plus de Continuous testing (1) CONSEIL & INGENIERIE • PRIORISER et FILTRER les

Les plus de Continuous testing (1) CONSEIL & INGENIERIE • PRIORISER et FILTRER les tests : Test Filtering and Prioritization -> possibilité de spécifier un ordre d’exécution Priorités Filtres • Most Recent Failures First 10 • Most Frequent Failures First • Omit Previous Successes • Quickest Test First • Most Recent Failures Deleted • Round Robin • Informed Filter(Ct Only) • Random • Default No Filter • No reordering

Les plus de Continuous testing (2) CONSEIL & INGENIERIE • Notification d’erreurs et liste

Les plus de Continuous testing (2) CONSEIL & INGENIERIE • Notification d’erreurs et liste d’erreurs Error notification and Problems View -> mise en évidence les méthodes qui échouent lors des tests 11

Démonstration CONSEIL & INGENIERIE Un exemple simple : • Classe à tester : Top.

Démonstration CONSEIL & INGENIERIE Un exemple simple : • Classe à tester : Top. Ten. java • Classe de test : Top. Ten. Test. java Exemple en IG : • Classe à tester : Ma. Fenetre. java • Classe test : Ma. Fenetre. Test. java 12

Différents outils de tests unitaires CONSEIL & INGENIERIE Pour les langages : 13 .

Différents outils de tests unitaires CONSEIL & INGENIERIE Pour les langages : 13 . NET NUnit C++ Cpp. Unit / CUnit Delphi DUnit

Conclusion : ce qu’il faut retenir CONSEIL & INGENIERIE L’intérêt d’utiliser des cas de

Conclusion : ce qu’il faut retenir CONSEIL & INGENIERIE L’intérêt d’utiliser des cas de tests : • non régression du code • rapidité • clarté • documentation efficace Options de Continuous testing : • automatiser • prioriser • filtrer • spécifier les erreurs 14