SlideShare une entreprise Scribd logo
1  sur  55
COURS IGL
                                                  Cours 8 :
                                      COURS 8     Tests

                                        TESTS



Mostefai Mohammed Amine – m_mostefai@esi.dz
Batata Sofiane – s_batata@esi.dz              1
Cours 8 – Tests                  OBJECTIFS DU COURS



      Objectifs du cours

 Présenter l’activité de tests
 Donner les différents types de tests




                                                              Cours IGL, Copyright © 2011, ESI
 Introduire les tests en boîte noire
 Introduire les tests unitaires




                                                         2
INTRODUCTION
                                   Section 2 : Le   AU GÉNIE
   Section 1 :                                      LOGICIEL
                                   Processus de
  Introduction                                      Cours 8
                                       Tests        Tests



     Section 3 :                    Section 4 :
      Tests en                        Tests
     boîte noire                     unitaires
                                                          3




Cours IGL, Copyright © 2011, ESI
COURS IGL

                                            Cours N° 8
                                            Tests
                 Section 1 : Introduction



                                                  4




Cours IGL, Copyright © 2011, ESI
SECTION 1 -
        Cours 8 – Tests                       INTRODUCTION


      Qualité d’un logci

 Les tests sont le procédé de validation et de vérification
  d’un logiciel




                                                                  Cours IGL, Copyright © 2011, ESI
 Les tests assurent que le produit est conforme à ses
  spécifications
 Les tests assurent que le produit fait ce qu’on attend de
  lui
 Les tests identifient les bugs, les erreurs ou les
  défaillances les plus importantes dans le but de les
  réparer
 Une défaillance importante est celle qui affecte
  l’utilisabilité du produit


                                                              5
SECTION 1 -
     Cours 8 – Tests                    INTRODUCTION


  Qualité de logiciels




                                                            Cours IGL, Copyright © 2011, ESI
   Qualité                 Qualité       Qualité du
fonctionnelle            structurelle     logiciel




                                                        6
SECTION 1 -
        Cours 8 – Tests                       INTRODUCTION


     Qualité d’un logiciel

 La qualité fonctionnelle assure que le produit est
  conforme à ses spécifications fonctionnelle.




                                                                  Cours IGL, Copyright © 2011, ESI
 La qualité structurelle concerne la conformité aux
  spécifications non fonctionnelles (par exemple
  robustesse, rapidité, performance) et aussi à l’analyse de
  la structure interne du produit (code source,
  architecture,…)
 L’objectif des tests n’est pas d’améliorer la qualité mais
  plutôt de la mesurer




                                                              7
SECTION 1 -
 Cours 8 – Tests             INTRODUCTION


Objectifs des tests




                                                 Cours IGL, Copyright © 2011, ESI
Vérification          Validation


             Recensement
                  des
              défaillances
                                             8
SECTION 1 -
        Cours 8 – Tests                       INTRODUCTION


      Objectifs des tests

 La vérification consiste à vérifier une spécification par
  rapport aux attentes techniques. Par exemple, après la
  validation d’une facture, retrouver le champ « valide » à




                                                                  Cours IGL, Copyright © 2011, ESI
  « true » dans la base de données
 La validation consiste à vérifier une spécification par
  rapport aux attentes métier. Par exemple, après la
  validation d’une facture, la quantité du produit vendu
  doit décroître
 Une défaillance est une variation entre les résultats
  actuels et les résultats attendus. L’origine de la
  défaillance peut être dans l’expression de besoins, la
  conception, l’analyse ou l’implémentation.

                                                              9
SECTION 1 -
          Cours 8 – Tests                                   INTRODUCTION


        Objectifs des tests

 Les tests répondent aux questions suivantes :

    Est-ce que ça         Est-ce que c’est        Est-ce que ça




                                                                                 Cours IGL, Copyright © 2011, ESI
   marche comme            conforme aux          correspond aux
       prévu ?            spécifications ?     attentes du client ?


                          Est-ce que c’est       Est-ce que ça
  Est-ce que le client    compatible avec        s’adapte à un
      apprécie ?             les autres        nombre important
                            systèmes ?          d’utilisateurs ?


                Quels sont les       Est-ce que c’est
              points à améliorer      prêt pour le
                       ?             déploiement ?
                                                                            10
SECTION 1 -
           Cours 8 – Tests                                        INTRODUCTION


        Objectifs des tests

 Les réponses à ces questions vont servir à :
  Economiser le temps




                                                                                       Cours IGL, Copyright © 2011, ESI
     et l’argent en             Rendre le
                                                        Augmenter la
       identifiant         développement plus
                                                    satisfaction du client
    rapidement les               efficace
      défaillances


                               Identifier les
                                                       Identifier les
     Correspondre le         modifications à
                                                     composants et les
  résultats aux attentes     inclure dans les
                                                    modules réutilisables
                           prochaines versions



                           Identifier les lacunes
                             des développeurs

                                                                                  11
SECTION 1 -
        Cours 8 – Tests                       INTRODUCTION


       Principes de tests

 Commencer par les cas généraux avant les cas
  particuliers




                                                                   Cours IGL, Copyright © 2011, ESI
 Commencer par les cas prioritaires
 Quand une fonction est signalée défaillante, la cause n’est
  pas forcément le code




                                                              12
SECTION 1 -
        Cours 8 – Tests                                       INTRODUCTION


        Portée des tests

 Les tests doivent concerner les éléments suivants :




                                                                                   Cours IGL, Copyright © 2011, ESI
   Conformité aux         Conformité aux
                                                       Exigences
    spécifications         spécifications
                                                       juridiques
   fonctionnelles           techniques


                         Les restriction et
                        recommandations        Culture et standards
   Le code source
                       des administrateurs       de l’entreprise
                           du système


                                        Propriétés
              La configuration
                                      culturelles et
                 matérielle
                                      linguistiques
                                                                              13
COURS IGL

                                            Cours N° 8
                Section 1 : Introduction,   Tests

                     débat 05 mns



                                                  14




Cours IGL, Copyright © 2011, ESI
COURS IGL

                                          Cours N° 8
            Section 2 : Le processus de   Tests

                        tests



                                                15




Cours IGL, Copyright © 2011, ESI
SECTION 2 – LE
        Cours 8 – Tests                     PROCESSUS DE TESTS


     L’équipe de testeurs

 Les tests ne sont pas le travail d’un seul homme mais
  celui d’une équipe




                                                                 Cours IGL, Copyright © 2011, ESI
 La taille de cette équipe dépend de la taille et de la
  complexité du projet
 Les développeurs doivent avoir un rôle dans les tests
  mais d’une façon réduite
 Le testeur doit être minutieux, critique (pas au sens
  jugement), curieux doté d’une bonne communication




                                                            16
SECTION 2 – LE
       Cours 8 – Tests                     PROCESSUS DE TESTS


     L’équipe de testeurs

 Les testeurs doivent poser des questions que les
  développeurs peuvent trouver embarrassantes




                                                                Cours IGL, Copyright © 2011, ESI
           Comment              Que veut dire
        pouvez-vous dire        pour vous « ça
        que ça marche ?          marche » ?


           Pourquoi ça
                                Qu’est-ce qui a
         marchait et que
                               causé le mauvais
          ça ne marche
                              fonctionnement ?
              plus ?
                                                           17
SECTION 2 – LE
        Cours 8 – Tests                     PROCESSUS DE TESTS


     L’équipe de testeurs

 Le coordinateur de tests crée les plans de tests et les
  spécifications de tests sur la base des spécifications
  techniques et fonctionnelles




                                                                 Cours IGL, Copyright © 2011, ESI
 Les testeurs exécutent les tests et documentent les
  résultats




                                                            18
SECTION 2 – LE
  Cours 8 – Tests            PROCESSUS DE TESTS


 Catégories de tests




                                                  Cours IGL, Copyright © 2011, ESI
 Tests en                Tests en
boîte noire            boîte blanche


                                             19
SECTION 2 – LE
        Cours 8 – Tests                     PROCESSUS DE TESTS


      Catégories de tests

 Les test en boîte noire s’exécutent en ignorant les
  mécanismes internes du produit




                                                                 Cours IGL, Copyright © 2011, ESI
 Les tests en boîte blanche sont des tests qui prennent les
  mécanismes internes en considération
 Dans les tests en boîte noire, le testeur n’accède pas au
  code source




                                                            20
SECTION 2 – LE
     Cours 8 – Tests                      PROCESSUS DE TESTS


      Types de tests




                                                               Cours IGL, Copyright © 2011, ESI
                                           Tests du
                           Tests
Tests unitaires                         système et de
                       d’intégration
                                       fonctionnement


    Tests                Tests de
                                         Béta-Tests
d’acceptation           régression


                                                          21
SECTION 2 – LE
        Cours 8 – Tests                     PROCESSUS DE TESTS


        Tests unitaires

 Les tests unitaires sont les tests de blocs individuels
  (par exemple des blocs de code)




                                                                 Cours IGL, Copyright © 2011, ESI
 Les tests unitaires sont généralement écrits par les
  développeurs eux-mêmes pour la validation de leurs
  classes et leurs méthodes
 Les tests unitaires sont exécutés généralement par les
  machines




                                                            22
SECTION 2 – LE
        Cours 8 – Tests                     PROCESSUS DE TESTS


      Tests d’intégration

 Exécuté en boîte noire ou boîte blanche
 Les tests d’intégration vérifient que les composants




                                                                 Cours IGL, Copyright © 2011, ESI
  s’intègrent bien avec d’autres composants ou systèmes
 Les tests d’intégration vérifient aussi que le produit est
  compatible avec l’environnement logiciel et matériel du
  client




                                                            23
SECTION 2 – LE
        Cours 8 – Tests                    PROCESSUS DE TESTS


      Tests fonctionnels

 S’exécute en boîte noire
 Vérifie que le produit assure les fonctionnalités




                                                                Cours IGL, Copyright © 2011, ESI
  spécifiées dans les spécifications fonctionnelles




                                                           24
SECTION 2 – LE
       Cours 8 – Tests                    PROCESSUS DE TESTS


        Tests système

 S’exécute en boîte noire
 S’oriente vers les spécifications non fonctionnelles




                                                               Cours IGL, Copyright © 2011, ESI
 Composé de plusieurs tests :
 Tests de stress : tester le produit au-delà des attentes
  non fonctionnelles du client. Par exemple, un système de
  sauvegarde qui doit tout sauvegarder deux fois par jour,
  le tester en mode trois fois par jour.
 Tests de performance : évaluation par rapport à des
  exigences de performances données. Par exemple, un
  moteur de recherche doit renvoyer des résultats en moins
  de 30 millisecondes.


                                                          25
SECTION 2 – LE
       Cours 8 – Tests                   PROCESSUS DE TESTS


        Tests système

 Tests de chargement : vérifie que l’application
  fonctionne dans des conditions normales (contraire aux
  tests de stress)




                                                              Cours IGL, Copyright © 2011, ESI
 Tests d’utilisabilité : vérifier les exigences
  d’apprentissage demandées à un utilisateur normal pour
  pouvoir utiliser le produit




                                                         26
SECTION 2 – LE
        Cours 8 – Tests                      PROCESSUS DE TESTS


      Tests d’acceptation

 S’exécute en boîte noire
 Les tests d’acceptation sont des tests formalisés par le




                                                                    Cours IGL, Copyright © 2011, ESI
  client qui sont exigés par le client pour qu’il accepte le
  produit




                                                               27
SECTION 2 – LE
        Cours 8 – Tests                     PROCESSUS DE TESTS


      Tests de régression

 Les tests de régression sont un sous-ensemble des tests
  originaux




                                                                 Cours IGL, Copyright © 2011, ESI
 Les tests de régression vérifient qu’une modification n’a
  pas eu d’effets de bord sur le produit
 Les tests de régression sont utiles parce que la ré-
  exécution de tous les tests est très coûteuse




                                                            28
SECTION 2 – LE
        Cours 8 – Tests                     PROCESSUS DE TESTS


          Béta-Tests

 Quand un produit est quasiment terminé, il est distribué
  gratuitement à certains de ses utilisateurs




                                                                 Cours IGL, Copyright © 2011, ESI
 Ces utilisateurs sont appelés testeurs béta
 Ces utilisateurs vont utiliser le produit et reporter tout
  éventuel disfonctionnement de celui -ci




                                                            29
SECTION 2 – LE
              Cours 8 – Tests                               PROCESSUS DE TESTS


    Comparaison entre les tests

Test           Portée                     Catégorie          Exécutant
Unitaires      Petites portions du code   Boîte blanche      Développeur




                                                                                 Cours IGL, Copyright © 2011, ESI
               source                                        Machine
Intégration    Classes / Composants       Blanche / noire    Développeur
Fonctionnel Produit                       Boîte noire        Testeur
Système        Produit / Environnement    Boîte noire        Testeur
               simulé
Acceptation Produit / Environnement       Boîte noire        Client
            réel
Beta           Produit / Environnement    Boîte noire        Client
               réel
Régression     N’importe lequel           Blanche / noire    N’importe


                                                                            30
SECTION 2 – LE
        Cours 8 – Tests                     PROCESSUS DE TESTS


       Le plan de tests

 La planification des tests doit se faire dans les premières
  phases du projet




                                                                 Cours IGL, Copyright © 2011, ESI
 Le plan de tests est un document obligatoire
  déterminant le déroulement des tests durant le projet
 Le tableau suivant indique le contenu d’un plan de test
  selon le standard « American National Standards
  Institute and Institute for Electrical and Electronic
  Engineers Standard 829/1983 for Software Test
  Documentation”




                                                            31
SECTION 2 – LE
              Cours 8 – Tests                                   PROCESSUS DE TESTS


              Le plan de tests

Élément             Description                  Objectif
Responsabilités     Acteurs et affectation       Décrit qui fait quoi dans les tests.




                                                                                             Cours IGL, Copyright © 2011, ESI
                                                 Assure le suivi et les affectations
Tests               Portée de tests, plannings, Définit le processus et détaille les
                    durées et priorités         actions à entreprendre
Communication       Plan de communication        Tout le monde doit savoir ce qu’il
                                                 doit savoir avant les tests et ce qu’il
                                                 doit faire savoir après les tests
Analyse de          Éléments critiques à         Identification des domaines qui
risques             tester                       sont critiques dans le projet
Traçage des         Documentation des            Documenter les défaillances et les
défaillance         défaillances                 détails les concernant



                                                                                        32
SECTION 2 – LE
        Cours 8 – Tests                      PROCESSUS DE TESTS


  Priorisation des défaillances

 Le plan de tests détermine la priorisation des
  défaillances




                                                                  Cours IGL, Copyright © 2011, ESI
 La priorisation facilite la communication entre
  développeurs et testeurs ainsi que l’affectation et la
  planification des tâches




                                                             33
SECTION 2 – LE
              Cours 8 – Tests                                  PROCESSUS DE TESTS


   Priorisation des défaillances

 Par exemple, une priorisation de 1 à 6 est souvent
  adoptée




                                                                                       Cours IGL, Copyright © 2011, ESI
Priorité           Description
1 – Fatal          Impossible de continuer les tests à cause de la sévérité des
                   défaillances
2- Critique        Les tests peuvent continuer mais l’application ne peut passer en
                   mode production
3- Majeur          L’application peut passer en mode production mais des
                   exigences fonctionnelles importantes ne sont pas satisfaites
4- Medium          L’application peut passer en mode production mais des
                   exigences fonctionnelles sans très grand impact ne sont pas
                   satisfaites


                                                                                  34
SECTION 2 – LE
            Cours 8 – Tests                                   PROCESSUS DE TESTS


  Priorisation des défaillances

 Par exemple, une priorisation de 1 à 6 est souvent
  adoptée




                                                                                        Cours IGL, Copyright © 2011, ESI
Priorité         Description
5- Mineur        L’application peut passer en mode production, la défaillance
                 doit être corrigée mais elle est sans impact sur les exigences
                 métier
6- Cosmétique    Défaillances mineures relatives à l’interface (couleurs, police, …)
                 mais n’ayant pas une relation avec les exigences du client




                                                                                   35
COURS IGL

                                          Cours N° 8
            Section 2 : Le processus de   Tests

               tests, débat 10 mns



                                                36




Cours IGL, Copyright © 2011, ESI
COURS IGL

                                            Cours N° 8
               Section 3 : Tests en boîte   Tests

                         noire



                                                  37




Cours IGL, Copyright © 2011, ESI
SECTION 3 – TESTS EN
        Cours 8 – Tests                         BOÎTE NOIRE


         Introduction

 Les tests en boîte noire détermine si un produit fait ce
  qu’on attend de lui indépendamment de sa structure
  interne




                                                                    Cours IGL, Copyright © 2011, ESI
 Plusieurs tests sont effectués en boîte noire tels que les
  tests fonctionnels et les tests d’acceptation
 Les tests en boîte noire déterminent les fonctions
  manquantes ou mal implémentées, les erreurs
  d’interface, des anomalies de performance ou de
  comportement, les bugs et les crashs
 Quels que soit la consistance ou le volume des tests,
  aucune garantie n’est donnée sur l’absence d’erreurs


                                                               38
SECTION 3 – TESTS EN
       Cours 8 – Tests                         BOÎTE NOIRE


         Introduction

 Il vaut mieux que les testeurs soient des personnes
  différentes des programmeurs




                                                                  Cours IGL, Copyright © 2011, ESI
 Les testeurs s’intéressent à une fonction en terme
  d’entrée et de sorties



     Entrée               Test             Sortie



                                                            39
SECTION 3 – TESTS EN
       Cours 8 – Tests                       BOÎTE NOIRE


    Cas de test (Test Case)

 Un cas de test est un ensemble d’entrées de tests, de
  conditions d’exécution et de résultats attendus pour un
  objectif particulier tel que la conformité du programme




                                                                Cours IGL, Copyright © 2011, ESI
  avec une spécification données




                                                          40
SECTION 3 – TESTS EN
     Cours 8 – Tests                   BOÎTE NOIRE


Anatomie d’un cas de test

                                   ID

                               Description




                                                          Cours IGL, Copyright © 2011, ESI
                                 Priorité

                              Préconditions

                                Scénario

                            Résultats attendus

                            Résultats actuels

                               Remarques
                                                    41
SECTION 3 – TESTS EN
        Cours 8 – Tests                           BOÎTE NOIRE


   Anatomie d’un cas de test

 L’ID est un numéro unique qui permet la traçabilité des cas de
  test, les lier à des spécifications ou à d’autres cas de test
 Les préconditions déterminent les conditions nécessaires à




                                                                     Cours IGL, Copyright © 2011, ESI
  un cas de test. Elles indiquent aussi les cas de test qui
  doivent être exécutés précédemment
 La description est un texte décrivant le tests et ses attentes
 Le scénario détermine les étapes détaillées à suivre par le
  testeur
 Les résultats attendus sont attendus de l’exécution du
  scénario
 Les résultats actuels sont les vrais résultats obtenus, s’ils
  sont différents des résultats attendus, une défaillance est
  signalée
 Les remarques sont signalées par le testeur pour ajouter des
  information concernant une exécution donnée


                                                               42
SECTION 3 – TESTS EN
        Cours 8 – Tests                        BOÎTE NOIRE


   Anatomie d’un cas de test

 Le scénario est composé de plusieurs actions
  numérotées




                                                                  Cours IGL, Copyright © 2011, ESI
 Chaque action peut avoir un résultat attendu
 L’exécution de test affecte un résultat actuel à chaque
  étape attendant un résultat
 Si chaque résultat actuel est conforme au résultat
  attendu alors le test réussit sinon le test échoue




                                                            43
SECTION 3 – TESTS EN
      Cours 8 – Tests                                                           BOÎTE NOIRE


            Exemple

ID   Description      Préconditions    Scénario              Résultats            Résultats   Remarques
                                                             attendus             actuels




                                                                                                               Cours IGL, Copyright © 2011, ESI
1    Ouverture d’un   Existence d’un   1- Cliquez sur le     2- Une boîte
     document         document         bouton « Ouvrir »     d’ouverture de
                                       2- Sélectionnez le    fichiers s’affiche
                                       fichier désiré        3- Le Document
                                       3- Appuyez sur OK     est ouvert et prêt
                                                             à être manipulé
2    Impression       TC 1             1- Cliquez sur le     1- La boîte de
     d’un document                     bouton imprimer       configuration
                                       2- Sélection la       d’imprimante
                                       config puis cliquer   s’affiche
                                       sur « Imprimer »      2- Le document
                                                             sort sous format
                                                             papier




                                                                                                          44
SECTION 3 – TESTS EN
       Cours 8 – Tests                         BOÎTE NOIRE


      Campagne de tests

 Une campagne de tests sélectionne un certain nombre de
  cas de tests sémantiquement relatifs et les exécute




                                                                  Cours IGL, Copyright © 2011, ESI
 Chaque campagne de tests a un objectif tracé : validation
  du produit, performance, … etc.




                                                            45
SECTION 3 – TESTS EN
          Cours 8 – Tests                      BOÎTE NOIRE


Qu’est-ce qu’un bon plan de tests ?

  Un bon plan de tests minimise les cas de tests et
   maximise la probabilité de détection des défaillances




                                                                  Cours IGL, Copyright © 2011, ESI
                                                            46
COURS IGL

                                            Cours N° 8
               Section 3 : Tests en boîte   Tests

                 noire, débat 10 mns



                                                  47




Cours IGL, Copyright © 2011, ESI
COURS IGL

                                            Cours N° 8
                                            Tests
              Section 4 : Tests unitaires



                                                  48




Cours IGL, Copyright © 2011, ESI
S EC T I O N 4 – T E S T S
        Cours 8 – Tests                           U N I TA I R ES


         Introduction

 Les tests unitaires sont des tests en boîte blanche
 Les tests unitaires sont composé d’un ensemble de




                                                                         Cours IGL, Copyright © 2011, ESI
  classes appelées « classes de test »
 Ces classes valident que des portions de code répondent
  à un certain besoin
 Les tests unitaires sont importants car ils permettent de
  détecter le maximum de défaillance avant les tests en
  boîte noire et qu’ils peuvent s’exécuter d’une manière
  automatique




                                                                   49
S EC T I O N 4 – T E S T S
        Cours 8 – Tests                           U N I TA I R ES


           Objectifs

 Les tests unitaires ont deux objectifs : « couverture de
  code » et « couverture de données »




                                                                         Cours IGL, Copyright © 2011, ESI
 La couverture du code stipule de tester chaque ligne de
  code écrite (appel de fonction, boucles, décisions,
  décisions multiples,…)
 La couverture des données oriente les tests vers les
  données (données valides, données invalides, accès aux
  éléments en dehors de la capacité d’un tableau, peu de
  données, trop de données,… etc)




                                                                   50
S EC T I O N 4 – T E S T S
       Cours 8 – Tests                          U N I TA I R ES


       Caractéristiques

 Les tests unitaires doivent être conforme à l’acronyme
  FIRST:




                                                                       Cours IGL, Copyright © 2011, ESI
 FAST : un test unitaire doit s’exécuter rapidement
 INDEPENDANT: chaque test doit être indépendant des
  autres
 REPEATABLE: chaque test peut être répété autant de fois
  que voulu
 SELF-VALIDATING: Un test se valide lui-même par un
  succès ou par un échec
 TIMELY: On écrit les tests quand on en a besoin



                                                                 51
S EC T I O N 4 – T E S T S
         Cours 8 – Tests               U N I TA I R ES


             Exemple

public class Calculator
{
public int add(int x, int y)




                                                              Cours IGL, Copyright © 2011, ESI
{
       return x + y;
}

public int multi(int x, int y)
{
       return x*y;
}
}


                                                        52
S EC T I O N 4 – T E S T S
          Cours 8 – Tests                              U N I TA I R ES


              Exemple

// tester la classe
public class CalculatorTest
{




                                                                              Cours IGL, Copyright © 2011, ESI
// tester l’addition
public int addTest()
{
        // valeurs en entrée
        int a = 15;
        int b = 18;
        Calculator calc = new Calculator();
        int c = calc.Add(a,b);
        // résultat attendu et résultat actuel
        assertEquals(33, c);
}

}


                                                                        53
COURS IGL

                                            Cours N° 8
             Section 4 : Tests unitaires,   Tests

                   débat (05 mns)



                                                  54




Cours IGL, Copyright © 2011, ESI
Cours 6 – Introduction aux                BIBLIOGRAPHIE
   architectures de logiciels

         Bibliographie

 Software Development and Professional Practice, John
  Dooley, APress, 2010




                                                                 Cours IGL, Copyright © 2011, ESI
 Software Testing Fundamentals —Concepts, Roles, and
  Terminology - John E. Bentley, Wachovia Bank, Charlotte
  NC, 2002
 Testing Overview and Black-Box Testing Techniques,
  Laurie Williams 2006




                                                            55

Contenu connexe

Tendances

Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
Tests & recette - Les fondamentaux
Tests & recette - Les fondamentauxTests & recette - Les fondamentaux
Tests & recette - Les fondamentauxCOMPETENSIS
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logicieldanaobrest
 
Introduction au génie logiciel
Introduction au génie logicielIntroduction au génie logiciel
Introduction au génie logicielMohamed Diallo
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMireille Blay-Fornarino
 
Introduction aux méthodes agiles
Introduction aux méthodes agilesIntroduction aux méthodes agiles
Introduction aux méthodes agilesGuillaume Collic
 
Rapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XPRapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XPSarah
 
Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesGénie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesMohammed Amine Mostefai
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logicielMajid CHADAD
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueFrançois Trudel
 
Méthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XPMéthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XPYouness Boukouchi
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011agnes_crepet
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielleYouness Boukouchi
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonEmeline Simon
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des testsZhu Wei QI
 

Tendances (20)

Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
Tests & recette - Les fondamentaux
Tests & recette - Les fondamentauxTests & recette - Les fondamentaux
Tests & recette - Les fondamentaux
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logiciel
 
Introduction au génie logiciel
Introduction au génie logicielIntroduction au génie logiciel
Introduction au génie logiciel
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifié
 
Tests Logiciel
Tests LogicielTests Logiciel
Tests Logiciel
 
Introduction aux méthodes agiles
Introduction aux méthodes agilesIntroduction aux méthodes agiles
Introduction aux méthodes agiles
 
Rapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XPRapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XP
 
Methodes agiles
Methodes agilesMethodes agiles
Methodes agiles
 
Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesGénie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architectures
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En Pratique
 
Méthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XPMéthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XP
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielle
 
cycle de vie
cycle de vie cycle de vie
cycle de vie
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
 
Méthodes agiles
Méthodes agilesMéthodes agiles
Méthodes agiles
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des tests
 

Similaire à Génie Logiciel : les tests

Exposé qualité et test
Exposé qualité et test Exposé qualité et test
Exposé qualité et test Imen Turki
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Microsoft
 
Exposée: Processus de test logiciel
Exposée:  Processus de test logiciel Exposée:  Processus de test logiciel
Exposée: Processus de test logiciel Esaie88
 
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...Sébastien Levert
 
Atr2011 3 rex pour differentes facettes du lean- synthèse agile tour-21-09-...
Atr2011  3  rex pour differentes facettes du lean- synthèse agile tour-21-09-...Atr2011  3  rex pour differentes facettes du lean- synthèse agile tour-21-09-...
Atr2011 3 rex pour differentes facettes du lean- synthèse agile tour-21-09-...Eric Hébert
 
Valtech - Quel ROI pour ma transformation Agile ?
Valtech - Quel ROI pour ma transformation Agile ?Valtech - Quel ROI pour ma transformation Agile ?
Valtech - Quel ROI pour ma transformation Agile ?Valtech
 
Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Elapse Technologies
 
Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsCloudNetCare
 
Présentation du logiciel SOCLE
Présentation du logiciel SOCLEPrésentation du logiciel SOCLE
Présentation du logiciel SOCLEsocle
 
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...TelecomValley
 
Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1SQLI
 
Genie logiciel eseo-v1.1-1spp
Genie logiciel eseo-v1.1-1sppGenie logiciel eseo-v1.1-1spp
Genie logiciel eseo-v1.1-1sppLaurent Guérin
 
presentation Zest au JFTL 2014
presentation Zest au JFTL 2014presentation Zest au JFTL 2014
presentation Zest au JFTL 2014Laurent PY
 
Petit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 EurositesPetit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 EurositesHervé Leclerc
 
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet AgileLes cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet AgileDenis Voituron
 
Presentation tests d'acceptations automatisés sug v1.1
Presentation tests d'acceptations automatisés sug v1.1Presentation tests d'acceptations automatisés sug v1.1
Presentation tests d'acceptations automatisés sug v1.1Jean-Emmanuel Houdu
 

Similaire à Génie Logiciel : les tests (20)

Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyseGénie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
 
Génie Logiciel : Conception
Génie Logiciel : ConceptionGénie Logiciel : Conception
Génie Logiciel : Conception
 
Exposé qualité et test
Exposé qualité et test Exposé qualité et test
Exposé qualité et test
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
 
Exposée: Processus de test logiciel
Exposée:  Processus de test logiciel Exposée:  Processus de test logiciel
Exposée: Processus de test logiciel
 
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
 
Atr2011 3 rex pour differentes facettes du lean- synthèse agile tour-21-09-...
Atr2011  3  rex pour differentes facettes du lean- synthèse agile tour-21-09-...Atr2011  3  rex pour differentes facettes du lean- synthèse agile tour-21-09-...
Atr2011 3 rex pour differentes facettes du lean- synthèse agile tour-21-09-...
 
Valtech - Quel ROI pour ma transformation Agile ?
Valtech - Quel ROI pour ma transformation Agile ?Valtech - Quel ROI pour ma transformation Agile ?
Valtech - Quel ROI pour ma transformation Agile ?
 
20111004 04 - Présentation ATDD
20111004 04 - Présentation ATDD20111004 04 - Présentation ATDD
20111004 04 - Présentation ATDD
 
Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29
 
Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests Logiciels
 
Présentation du logiciel SOCLE
Présentation du logiciel SOCLEPrésentation du logiciel SOCLE
Présentation du logiciel SOCLE
 
Initiation à l'agile
Initiation à l'agileInitiation à l'agile
Initiation à l'agile
 
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
 
Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1Tra optimiser preparation_tests_v1
Tra optimiser preparation_tests_v1
 
Genie logiciel eseo-v1.1-1spp
Genie logiciel eseo-v1.1-1sppGenie logiciel eseo-v1.1-1spp
Genie logiciel eseo-v1.1-1spp
 
presentation Zest au JFTL 2014
presentation Zest au JFTL 2014presentation Zest au JFTL 2014
presentation Zest au JFTL 2014
 
Petit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 EurositesPetit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 Eurosites
 
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet AgileLes cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
 
Presentation tests d'acceptations automatisés sug v1.1
Presentation tests d'acceptations automatisés sug v1.1Presentation tests d'acceptations automatisés sug v1.1
Presentation tests d'acceptations automatisés sug v1.1
 

Plus de Mohammed Amine Mostefai

Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Mohammed Amine Mostefai
 
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationUtilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationMohammed Amine Mostefai
 
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsUtilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsMohammed Amine Mostefai
 
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionUtilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionMohammed Amine Mostefai
 
Module 8 programmation avancée d'asp.net
Module 8   programmation avancée d'asp.netModule 8   programmation avancée d'asp.net
Module 8 programmation avancée d'asp.netMohammed Amine Mostefai
 

Plus de Mohammed Amine Mostefai (20)

Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)
 
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationUtilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - Personnalisation
 
Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)
 
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsUtilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de Documents
 
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionUtilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - Introduction
 
Pratiques agiles
Pratiques agilesPratiques agiles
Pratiques agiles
 
Introduction à Scrum
Introduction à ScrumIntroduction à Scrum
Introduction à Scrum
 
Le Manifeste Agile
Le Manifeste AgileLe Manifeste Agile
Le Manifeste Agile
 
Méthodes Agiles - Généralités
Méthodes Agiles - GénéralitésMéthodes Agiles - Généralités
Méthodes Agiles - Généralités
 
Introduction aux technologies mobiles
Introduction aux technologies mobilesIntroduction aux technologies mobiles
Introduction aux technologies mobiles
 
Workflow Foundation - Cours 5
Workflow Foundation - Cours 5Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
 
Workflow Foundation Module 4
Workflow Foundation Module 4Workflow Foundation Module 4
Workflow Foundation Module 4
 
Présentation cloud journée azure
Présentation cloud   journée azurePrésentation cloud   journée azure
Présentation cloud journée azure
 
Wf module3
Wf module3Wf module3
Wf module3
 
Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2
 
Introduction to Workflow Foundation
Introduction to Workflow FoundationIntroduction to Workflow Foundation
Introduction to Workflow Foundation
 
Le Langage CSS
Le Langage CSSLe Langage CSS
Le Langage CSS
 
Sécurisation des applications ASP.NET
Sécurisation des applications ASP.NETSécurisation des applications ASP.NET
Sécurisation des applications ASP.NET
 
Présentation sharepoint 2013
Présentation sharepoint 2013Présentation sharepoint 2013
Présentation sharepoint 2013
 
Module 8 programmation avancée d'asp.net
Module 8   programmation avancée d'asp.netModule 8   programmation avancée d'asp.net
Module 8 programmation avancée d'asp.net
 

Génie Logiciel : les tests

  • 1. COURS IGL Cours 8 : COURS 8 Tests TESTS Mostefai Mohammed Amine – m_mostefai@esi.dz Batata Sofiane – s_batata@esi.dz 1
  • 2. Cours 8 – Tests OBJECTIFS DU COURS Objectifs du cours  Présenter l’activité de tests  Donner les différents types de tests Cours IGL, Copyright © 2011, ESI  Introduire les tests en boîte noire  Introduire les tests unitaires 2
  • 3. INTRODUCTION Section 2 : Le AU GÉNIE Section 1 : LOGICIEL Processus de Introduction Cours 8 Tests Tests Section 3 : Section 4 : Tests en Tests boîte noire unitaires 3 Cours IGL, Copyright © 2011, ESI
  • 4. COURS IGL Cours N° 8 Tests Section 1 : Introduction 4 Cours IGL, Copyright © 2011, ESI
  • 5. SECTION 1 - Cours 8 – Tests INTRODUCTION Qualité d’un logci  Les tests sont le procédé de validation et de vérification d’un logiciel Cours IGL, Copyright © 2011, ESI  Les tests assurent que le produit est conforme à ses spécifications  Les tests assurent que le produit fait ce qu’on attend de lui  Les tests identifient les bugs, les erreurs ou les défaillances les plus importantes dans le but de les réparer  Une défaillance importante est celle qui affecte l’utilisabilité du produit 5
  • 6. SECTION 1 - Cours 8 – Tests INTRODUCTION Qualité de logiciels Cours IGL, Copyright © 2011, ESI Qualité Qualité Qualité du fonctionnelle structurelle logiciel 6
  • 7. SECTION 1 - Cours 8 – Tests INTRODUCTION Qualité d’un logiciel  La qualité fonctionnelle assure que le produit est conforme à ses spécifications fonctionnelle. Cours IGL, Copyright © 2011, ESI  La qualité structurelle concerne la conformité aux spécifications non fonctionnelles (par exemple robustesse, rapidité, performance) et aussi à l’analyse de la structure interne du produit (code source, architecture,…)  L’objectif des tests n’est pas d’améliorer la qualité mais plutôt de la mesurer 7
  • 8. SECTION 1 - Cours 8 – Tests INTRODUCTION Objectifs des tests Cours IGL, Copyright © 2011, ESI Vérification Validation Recensement des défaillances 8
  • 9. SECTION 1 - Cours 8 – Tests INTRODUCTION Objectifs des tests  La vérification consiste à vérifier une spécification par rapport aux attentes techniques. Par exemple, après la validation d’une facture, retrouver le champ « valide » à Cours IGL, Copyright © 2011, ESI « true » dans la base de données  La validation consiste à vérifier une spécification par rapport aux attentes métier. Par exemple, après la validation d’une facture, la quantité du produit vendu doit décroître  Une défaillance est une variation entre les résultats actuels et les résultats attendus. L’origine de la défaillance peut être dans l’expression de besoins, la conception, l’analyse ou l’implémentation. 9
  • 10. SECTION 1 - Cours 8 – Tests INTRODUCTION Objectifs des tests  Les tests répondent aux questions suivantes : Est-ce que ça Est-ce que c’est Est-ce que ça Cours IGL, Copyright © 2011, ESI marche comme conforme aux correspond aux prévu ? spécifications ? attentes du client ? Est-ce que c’est Est-ce que ça Est-ce que le client compatible avec s’adapte à un apprécie ? les autres nombre important systèmes ? d’utilisateurs ? Quels sont les Est-ce que c’est points à améliorer prêt pour le ? déploiement ? 10
  • 11. SECTION 1 - Cours 8 – Tests INTRODUCTION Objectifs des tests  Les réponses à ces questions vont servir à : Economiser le temps Cours IGL, Copyright © 2011, ESI et l’argent en Rendre le Augmenter la identifiant développement plus satisfaction du client rapidement les efficace défaillances Identifier les Identifier les Correspondre le modifications à composants et les résultats aux attentes inclure dans les modules réutilisables prochaines versions Identifier les lacunes des développeurs 11
  • 12. SECTION 1 - Cours 8 – Tests INTRODUCTION Principes de tests  Commencer par les cas généraux avant les cas particuliers Cours IGL, Copyright © 2011, ESI  Commencer par les cas prioritaires  Quand une fonction est signalée défaillante, la cause n’est pas forcément le code 12
  • 13. SECTION 1 - Cours 8 – Tests INTRODUCTION Portée des tests  Les tests doivent concerner les éléments suivants : Cours IGL, Copyright © 2011, ESI Conformité aux Conformité aux Exigences spécifications spécifications juridiques fonctionnelles techniques Les restriction et recommandations Culture et standards Le code source des administrateurs de l’entreprise du système Propriétés La configuration culturelles et matérielle linguistiques 13
  • 14. COURS IGL Cours N° 8 Section 1 : Introduction, Tests débat 05 mns 14 Cours IGL, Copyright © 2011, ESI
  • 15. COURS IGL Cours N° 8 Section 2 : Le processus de Tests tests 15 Cours IGL, Copyright © 2011, ESI
  • 16. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS L’équipe de testeurs  Les tests ne sont pas le travail d’un seul homme mais celui d’une équipe Cours IGL, Copyright © 2011, ESI  La taille de cette équipe dépend de la taille et de la complexité du projet  Les développeurs doivent avoir un rôle dans les tests mais d’une façon réduite  Le testeur doit être minutieux, critique (pas au sens jugement), curieux doté d’une bonne communication 16
  • 17. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS L’équipe de testeurs  Les testeurs doivent poser des questions que les développeurs peuvent trouver embarrassantes Cours IGL, Copyright © 2011, ESI Comment Que veut dire pouvez-vous dire pour vous « ça que ça marche ? marche » ? Pourquoi ça Qu’est-ce qui a marchait et que causé le mauvais ça ne marche fonctionnement ? plus ? 17
  • 18. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS L’équipe de testeurs  Le coordinateur de tests crée les plans de tests et les spécifications de tests sur la base des spécifications techniques et fonctionnelles Cours IGL, Copyright © 2011, ESI  Les testeurs exécutent les tests et documentent les résultats 18
  • 19. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Catégories de tests Cours IGL, Copyright © 2011, ESI Tests en Tests en boîte noire boîte blanche 19
  • 20. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Catégories de tests  Les test en boîte noire s’exécutent en ignorant les mécanismes internes du produit Cours IGL, Copyright © 2011, ESI  Les tests en boîte blanche sont des tests qui prennent les mécanismes internes en considération  Dans les tests en boîte noire, le testeur n’accède pas au code source 20
  • 21. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Types de tests Cours IGL, Copyright © 2011, ESI Tests du Tests Tests unitaires système et de d’intégration fonctionnement Tests Tests de Béta-Tests d’acceptation régression 21
  • 22. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Tests unitaires  Les tests unitaires sont les tests de blocs individuels (par exemple des blocs de code) Cours IGL, Copyright © 2011, ESI  Les tests unitaires sont généralement écrits par les développeurs eux-mêmes pour la validation de leurs classes et leurs méthodes  Les tests unitaires sont exécutés généralement par les machines 22
  • 23. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Tests d’intégration  Exécuté en boîte noire ou boîte blanche  Les tests d’intégration vérifient que les composants Cours IGL, Copyright © 2011, ESI s’intègrent bien avec d’autres composants ou systèmes  Les tests d’intégration vérifient aussi que le produit est compatible avec l’environnement logiciel et matériel du client 23
  • 24. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Tests fonctionnels  S’exécute en boîte noire  Vérifie que le produit assure les fonctionnalités Cours IGL, Copyright © 2011, ESI spécifiées dans les spécifications fonctionnelles 24
  • 25. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Tests système  S’exécute en boîte noire  S’oriente vers les spécifications non fonctionnelles Cours IGL, Copyright © 2011, ESI  Composé de plusieurs tests :  Tests de stress : tester le produit au-delà des attentes non fonctionnelles du client. Par exemple, un système de sauvegarde qui doit tout sauvegarder deux fois par jour, le tester en mode trois fois par jour.  Tests de performance : évaluation par rapport à des exigences de performances données. Par exemple, un moteur de recherche doit renvoyer des résultats en moins de 30 millisecondes. 25
  • 26. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Tests système  Tests de chargement : vérifie que l’application fonctionne dans des conditions normales (contraire aux tests de stress) Cours IGL, Copyright © 2011, ESI  Tests d’utilisabilité : vérifier les exigences d’apprentissage demandées à un utilisateur normal pour pouvoir utiliser le produit 26
  • 27. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Tests d’acceptation  S’exécute en boîte noire  Les tests d’acceptation sont des tests formalisés par le Cours IGL, Copyright © 2011, ESI client qui sont exigés par le client pour qu’il accepte le produit 27
  • 28. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Tests de régression  Les tests de régression sont un sous-ensemble des tests originaux Cours IGL, Copyright © 2011, ESI  Les tests de régression vérifient qu’une modification n’a pas eu d’effets de bord sur le produit  Les tests de régression sont utiles parce que la ré- exécution de tous les tests est très coûteuse 28
  • 29. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Béta-Tests  Quand un produit est quasiment terminé, il est distribué gratuitement à certains de ses utilisateurs Cours IGL, Copyright © 2011, ESI  Ces utilisateurs sont appelés testeurs béta  Ces utilisateurs vont utiliser le produit et reporter tout éventuel disfonctionnement de celui -ci 29
  • 30. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Comparaison entre les tests Test Portée Catégorie Exécutant Unitaires Petites portions du code Boîte blanche Développeur Cours IGL, Copyright © 2011, ESI source Machine Intégration Classes / Composants Blanche / noire Développeur Fonctionnel Produit Boîte noire Testeur Système Produit / Environnement Boîte noire Testeur simulé Acceptation Produit / Environnement Boîte noire Client réel Beta Produit / Environnement Boîte noire Client réel Régression N’importe lequel Blanche / noire N’importe 30
  • 31. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Le plan de tests  La planification des tests doit se faire dans les premières phases du projet Cours IGL, Copyright © 2011, ESI  Le plan de tests est un document obligatoire déterminant le déroulement des tests durant le projet  Le tableau suivant indique le contenu d’un plan de test selon le standard « American National Standards Institute and Institute for Electrical and Electronic Engineers Standard 829/1983 for Software Test Documentation” 31
  • 32. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Le plan de tests Élément Description Objectif Responsabilités Acteurs et affectation Décrit qui fait quoi dans les tests. Cours IGL, Copyright © 2011, ESI Assure le suivi et les affectations Tests Portée de tests, plannings, Définit le processus et détaille les durées et priorités actions à entreprendre Communication Plan de communication Tout le monde doit savoir ce qu’il doit savoir avant les tests et ce qu’il doit faire savoir après les tests Analyse de Éléments critiques à Identification des domaines qui risques tester sont critiques dans le projet Traçage des Documentation des Documenter les défaillances et les défaillance défaillances détails les concernant 32
  • 33. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Priorisation des défaillances  Le plan de tests détermine la priorisation des défaillances Cours IGL, Copyright © 2011, ESI  La priorisation facilite la communication entre développeurs et testeurs ainsi que l’affectation et la planification des tâches 33
  • 34. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Priorisation des défaillances  Par exemple, une priorisation de 1 à 6 est souvent adoptée Cours IGL, Copyright © 2011, ESI Priorité Description 1 – Fatal Impossible de continuer les tests à cause de la sévérité des défaillances 2- Critique Les tests peuvent continuer mais l’application ne peut passer en mode production 3- Majeur L’application peut passer en mode production mais des exigences fonctionnelles importantes ne sont pas satisfaites 4- Medium L’application peut passer en mode production mais des exigences fonctionnelles sans très grand impact ne sont pas satisfaites 34
  • 35. SECTION 2 – LE Cours 8 – Tests PROCESSUS DE TESTS Priorisation des défaillances  Par exemple, une priorisation de 1 à 6 est souvent adoptée Cours IGL, Copyright © 2011, ESI Priorité Description 5- Mineur L’application peut passer en mode production, la défaillance doit être corrigée mais elle est sans impact sur les exigences métier 6- Cosmétique Défaillances mineures relatives à l’interface (couleurs, police, …) mais n’ayant pas une relation avec les exigences du client 35
  • 36. COURS IGL Cours N° 8 Section 2 : Le processus de Tests tests, débat 10 mns 36 Cours IGL, Copyright © 2011, ESI
  • 37. COURS IGL Cours N° 8 Section 3 : Tests en boîte Tests noire 37 Cours IGL, Copyright © 2011, ESI
  • 38. SECTION 3 – TESTS EN Cours 8 – Tests BOÎTE NOIRE Introduction  Les tests en boîte noire détermine si un produit fait ce qu’on attend de lui indépendamment de sa structure interne Cours IGL, Copyright © 2011, ESI  Plusieurs tests sont effectués en boîte noire tels que les tests fonctionnels et les tests d’acceptation  Les tests en boîte noire déterminent les fonctions manquantes ou mal implémentées, les erreurs d’interface, des anomalies de performance ou de comportement, les bugs et les crashs  Quels que soit la consistance ou le volume des tests, aucune garantie n’est donnée sur l’absence d’erreurs 38
  • 39. SECTION 3 – TESTS EN Cours 8 – Tests BOÎTE NOIRE Introduction  Il vaut mieux que les testeurs soient des personnes différentes des programmeurs Cours IGL, Copyright © 2011, ESI  Les testeurs s’intéressent à une fonction en terme d’entrée et de sorties Entrée Test Sortie 39
  • 40. SECTION 3 – TESTS EN Cours 8 – Tests BOÎTE NOIRE Cas de test (Test Case)  Un cas de test est un ensemble d’entrées de tests, de conditions d’exécution et de résultats attendus pour un objectif particulier tel que la conformité du programme Cours IGL, Copyright © 2011, ESI avec une spécification données 40
  • 41. SECTION 3 – TESTS EN Cours 8 – Tests BOÎTE NOIRE Anatomie d’un cas de test ID Description Cours IGL, Copyright © 2011, ESI Priorité Préconditions Scénario Résultats attendus Résultats actuels Remarques 41
  • 42. SECTION 3 – TESTS EN Cours 8 – Tests BOÎTE NOIRE Anatomie d’un cas de test  L’ID est un numéro unique qui permet la traçabilité des cas de test, les lier à des spécifications ou à d’autres cas de test  Les préconditions déterminent les conditions nécessaires à Cours IGL, Copyright © 2011, ESI un cas de test. Elles indiquent aussi les cas de test qui doivent être exécutés précédemment  La description est un texte décrivant le tests et ses attentes  Le scénario détermine les étapes détaillées à suivre par le testeur  Les résultats attendus sont attendus de l’exécution du scénario  Les résultats actuels sont les vrais résultats obtenus, s’ils sont différents des résultats attendus, une défaillance est signalée  Les remarques sont signalées par le testeur pour ajouter des information concernant une exécution donnée 42
  • 43. SECTION 3 – TESTS EN Cours 8 – Tests BOÎTE NOIRE Anatomie d’un cas de test  Le scénario est composé de plusieurs actions numérotées Cours IGL, Copyright © 2011, ESI  Chaque action peut avoir un résultat attendu  L’exécution de test affecte un résultat actuel à chaque étape attendant un résultat  Si chaque résultat actuel est conforme au résultat attendu alors le test réussit sinon le test échoue 43
  • 44. SECTION 3 – TESTS EN Cours 8 – Tests BOÎTE NOIRE Exemple ID Description Préconditions Scénario Résultats Résultats Remarques attendus actuels Cours IGL, Copyright © 2011, ESI 1 Ouverture d’un Existence d’un 1- Cliquez sur le 2- Une boîte document document bouton « Ouvrir » d’ouverture de 2- Sélectionnez le fichiers s’affiche fichier désiré 3- Le Document 3- Appuyez sur OK est ouvert et prêt à être manipulé 2 Impression TC 1 1- Cliquez sur le 1- La boîte de d’un document bouton imprimer configuration 2- Sélection la d’imprimante config puis cliquer s’affiche sur « Imprimer » 2- Le document sort sous format papier 44
  • 45. SECTION 3 – TESTS EN Cours 8 – Tests BOÎTE NOIRE Campagne de tests  Une campagne de tests sélectionne un certain nombre de cas de tests sémantiquement relatifs et les exécute Cours IGL, Copyright © 2011, ESI  Chaque campagne de tests a un objectif tracé : validation du produit, performance, … etc. 45
  • 46. SECTION 3 – TESTS EN Cours 8 – Tests BOÎTE NOIRE Qu’est-ce qu’un bon plan de tests ?  Un bon plan de tests minimise les cas de tests et maximise la probabilité de détection des défaillances Cours IGL, Copyright © 2011, ESI 46
  • 47. COURS IGL Cours N° 8 Section 3 : Tests en boîte Tests noire, débat 10 mns 47 Cours IGL, Copyright © 2011, ESI
  • 48. COURS IGL Cours N° 8 Tests Section 4 : Tests unitaires 48 Cours IGL, Copyright © 2011, ESI
  • 49. S EC T I O N 4 – T E S T S Cours 8 – Tests U N I TA I R ES Introduction  Les tests unitaires sont des tests en boîte blanche  Les tests unitaires sont composé d’un ensemble de Cours IGL, Copyright © 2011, ESI classes appelées « classes de test »  Ces classes valident que des portions de code répondent à un certain besoin  Les tests unitaires sont importants car ils permettent de détecter le maximum de défaillance avant les tests en boîte noire et qu’ils peuvent s’exécuter d’une manière automatique 49
  • 50. S EC T I O N 4 – T E S T S Cours 8 – Tests U N I TA I R ES Objectifs  Les tests unitaires ont deux objectifs : « couverture de code » et « couverture de données » Cours IGL, Copyright © 2011, ESI  La couverture du code stipule de tester chaque ligne de code écrite (appel de fonction, boucles, décisions, décisions multiples,…)  La couverture des données oriente les tests vers les données (données valides, données invalides, accès aux éléments en dehors de la capacité d’un tableau, peu de données, trop de données,… etc) 50
  • 51. S EC T I O N 4 – T E S T S Cours 8 – Tests U N I TA I R ES Caractéristiques  Les tests unitaires doivent être conforme à l’acronyme FIRST: Cours IGL, Copyright © 2011, ESI  FAST : un test unitaire doit s’exécuter rapidement  INDEPENDANT: chaque test doit être indépendant des autres  REPEATABLE: chaque test peut être répété autant de fois que voulu  SELF-VALIDATING: Un test se valide lui-même par un succès ou par un échec  TIMELY: On écrit les tests quand on en a besoin 51
  • 52. S EC T I O N 4 – T E S T S Cours 8 – Tests U N I TA I R ES Exemple public class Calculator { public int add(int x, int y) Cours IGL, Copyright © 2011, ESI { return x + y; } public int multi(int x, int y) { return x*y; } } 52
  • 53. S EC T I O N 4 – T E S T S Cours 8 – Tests U N I TA I R ES Exemple // tester la classe public class CalculatorTest { Cours IGL, Copyright © 2011, ESI // tester l’addition public int addTest() { // valeurs en entrée int a = 15; int b = 18; Calculator calc = new Calculator(); int c = calc.Add(a,b); // résultat attendu et résultat actuel assertEquals(33, c); } } 53
  • 54. COURS IGL Cours N° 8 Section 4 : Tests unitaires, Tests débat (05 mns) 54 Cours IGL, Copyright © 2011, ESI
  • 55. Cours 6 – Introduction aux BIBLIOGRAPHIE architectures de logiciels Bibliographie  Software Development and Professional Practice, John Dooley, APress, 2010 Cours IGL, Copyright © 2011, ESI  Software Testing Fundamentals —Concepts, Roles, and Terminology - John E. Bentley, Wachovia Bank, Charlotte NC, 2002  Testing Overview and Black-Box Testing Techniques, Laurie Williams 2006 55