La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Test logiciel Xavier Baril. (C) Xavier Baril2 Plan Introduction Principes de base / classification Les tests dans le cycle en V Tests unitaires (avec.

Présentations similaires


Présentation au sujet: "Test logiciel Xavier Baril. (C) Xavier Baril2 Plan Introduction Principes de base / classification Les tests dans le cycle en V Tests unitaires (avec."— Transcription de la présentation:

1 Test logiciel Xavier Baril

2 (C) Xavier Baril2 Plan Introduction Principes de base / classification Les tests dans le cycle en V Tests unitaires (avec JUnit) Tests d’intégration Conclusion

3 (C) Xavier Baril3 Introduction (1/2) Tester un logiciel... selon quels critères ? Alternatives ? Méthodes formelles Relectures de code Quel coût ? 30/40/50… % du coût de développement Dépend du niveau de criticité

4 (C) Xavier Baril4 Introduction (2/2) Le test un métier à part entière Activité créatrice Imaginer des scénarios plausibles Imaginer et construire des outils (simulateurs, …) Partie importante du plan de qualité logiciel

5 (C) Xavier Baril5 Définition (Wikipedia) « Le test est un processus manuel ou automatique, qui vise à établir qu’un système vérifie les propriétés exigées par sa spécification, ou à détecter des différences entre les résultats engendrés par le système et ceux qui sont attendus par la spécification. » Ainsi le test vise à mettre en évidence les erreurs d’un logiciel. Cependant il n'a pas pour objectif de : diagnostiquer la cause des erreurs, corriger les erreurs, prouver la correction d’un programme.

6 (C) Xavier Baril6 Quelques principes de base Un développeur ne doit pas tester ses propres programmes La définition des sorties ou résultats attendus doit être effectuée avant l’exécution d’un test Tester que le logiciel fait ce qu’il doit faire et qu’il ne fait pas ce qu’il ne doit pas faire…

7 (C) Xavier Baril7 Classification des tests Par niveau de détail : Tests unitaires Tests d’intégration Par caractéristique : Tests fonctionnels Tests de robustesse Tests de performance …

8 (C) Xavier Baril8 Tests et cycle en V

9 (C) Xavier Baril9 Tests unitaires « En programmation, le test unitaire est un procédé permettant de s'assurer du fonctionnement correct d'une partie déterminée d'un logiciel ou d'une portion d'un programme. » définition Wikipedia JUnit Couverture de code Permet de tester la non-régression via l’intégration continue

10 (C) Xavier Baril10 JUnit Framework de test pour le langage Java Permet de vérifier des assertions Exemple « Hello World » public class HelloWorld extends TestCase { public void testMultiplication() { // Testing if 3*2=6: assertEquals ("Multiplication", 6, 3*2); }

11 (C) Xavier Baril11 Ecrire un test JUnit Etendre de la classe TestCase Implémenter des méthodes publiques testXXX() Surcharger les méthodes setUp() tearDown() Stratégie ? une méthode = un test une méthode publique = un test … Bouchons de test…

12 (C) Xavier Baril12 Test d’intégration L'intégration a pour but de valider le fait que toutes les parties développées indépendamment fonctionnent bien ensemble. Dans le cadre d'une livraison, pour établir une nouvelle version (gestion de configuration…) … intégration continue : fusion des tests unitaires et des tests d’intégration.

13 (C) Xavier Baril13 Développement dirigé par les tests « Test-driven developement » Ajout d’une fonctionnalité = Ajout d’un test Jouer les tests : constater l’erreur Ecrire du code Jouer les tests : constater la correction « Refactoring » du code … Méthode Agile, XP (Extreme Programing)

14 (C) Xavier Baril14 Conclusion Le test est une activité importante dans la production d’un logiciel Nécessite des compétences Mise en place d’une stratégie Mise en place / développement d’outils

15 (C) Xavier Baril15 Bibliographie Wikipedia (mots clés : « test informatique ») (JUnit) ;-)

16 (C) Xavier Baril16 Exercice : écrire les tests JUnit public class ExpressionResolver { public int compute(IExpression expression) { String operator = expression.getOperator(); if ("+".equals(operator)) { return computeAddition(expression.getOperand1(), expression.getOperand2()); } if ("-".equals(operator)) { return computeSubstraction(expression.getOperand1(), expression.getOperand2()); } throw new RuntimeException("Bad operator: " + operator); } int computeAddition(int x, int y) { return x + y; } int computeSubstraction(int x, int y) { return x - y; } public interface IExpression { String getOperator(); int getOperand1(); int getOperand2(); }


Télécharger ppt "Test logiciel Xavier Baril. (C) Xavier Baril2 Plan Introduction Principes de base / classification Les tests dans le cycle en V Tests unitaires (avec."

Présentations similaires


Annonces Google