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.

Présentations similaires


Présentation au sujet: "Test logiciel Xavier Baril."— Transcription de la présentation:

1 Test logiciel Xavier Baril

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

3 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é (C) Xavier Baril

4 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 (C) Xavier Baril

5 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. (C) Xavier Baril

6 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… (C) Xavier Baril

7 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 (C) Xavier Baril

8 Tests et cycle en V (C) Xavier Baril

9 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 (C) Xavier Baril

10 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); } (C) Xavier Baril

11 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… (C) Xavier Baril

12 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. (C) Xavier Baril

13 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) (C) Xavier Baril

14 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 (C) Xavier Baril

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

16 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(); } (C) Xavier Baril


Télécharger ppt "Test logiciel Xavier Baril."

Présentations similaires


Annonces Google