Aller au contenu

Automatisation du Test Logiciel

Page 1 sur 40Lecteur de document UniversityLib

Automatisation du Test Logiciel

Software Testing and Automation · lab

Fiche de révisionGuide de TP

Guide de TP – Automatisation du Test Logiciel

Rédigée à partir de ce document, puis vérifiée avant publication.

Objectifs et prérequis du TP sur l'automatisation du test logiciel

Objectifs

Ce TP sur l'automatisation du test logiciel vise à enseigner les principes généraux du test logiciel, à comprendre l'état de la technique en automatisation et à avoir un aperçu des tendances et de l'état de l'art académique. À l'issue de ce TP, les étudiants devraient être capables de :

  • Connaître les principes fondamentaux du test logiciel.
  • Comprendre les méthodes d'automatisation du test.
  • Appliquer des tests unitaires et d'intégration.

Prérequis

Pour participer à ce TP, il est nécessaire d'avoir des connaissances de base en programmation, ainsi qu'une familiarité avec les concepts de développement logiciel. Les outils requis incluent un environnement de développement intégré (IDE) comme Eclipse ou IntelliJ, et des bibliothèques de test comme JUnit pour Java.

Procédure d'automatisation du test logiciel

Choisir un cas de test

La première étape consiste à choisir un cas de test (CT) à exécuter. Cela implique de définir un scénario qui représente une fonctionnalité ou un comportement spécifique du logiciel à tester.

Estimer le résultat attendu

Une fois le cas de test choisi, il est essentiel d'estimer le résultat attendu, également connu sous le nom d'oracle. Cela permet de savoir quel résultat est considéré comme correct.

Déterminer une donnée de test

La prochaine étape consiste à déterminer une donnée de test (DT) qui exercera le cas de test. Cette donnée doit être concrète et représentative des scénarios d'utilisation réels.

Exécuter le programme

Après avoir préparé la donnée de test, il faut exécuter le programme sur cette donnée. Cela se fait généralement à l'aide d'un script de test qui automatise l'exécution.

Comparer le résultat obtenu à l'oracle

Une fois le programme exécuté, il est crucial de comparer le résultat obtenu avec l'oracle. Cela permet de déterminer si le test a réussi ou échoué.

Évaluer la couverture des tests

Enfin, il est important de se demander si suffisamment de tests ont été réalisés. Si ce n'est pas le cas, il faut retourner à l'étape 1 et choisir d'autres cas de test.

Résultats attendus

Les résultats attendus de ce TP incluent la capacité à exécuter des tests unitaires et d'intégration avec succès. Par exemple, pour un tableau d'entiers, les résultats devraient montrer que le tableau est trié correctement après l'exécution de la fonction de tri. Les valeurs attendues pour différents cas de test peuvent être :

  • Pour un tableau d'entiers non redondants : [3, 5, 15]
  • Pour un tableau vide : []
  • Pour un tableau avec des entiers redondants : [0, 5, 10, 20, 30]

Erreurs fréquentes en test logiciel

Lors de l'automatisation des tests, plusieurs erreurs peuvent survenir. Voici quelques-unes des erreurs les plus fréquentes :

  • Choix inapproprié des cas de test, ce qui peut entraîner une couverture insuffisante.
  • Estimation incorrecte des résultats attendus, rendant les tests peu fiables.
  • Utilisation de données de test non représentatives, ce qui fausse les résultats.
  • Manque de réinitialisation du système entre les tests, ce qui peut affecter les résultats.

Questions fréquentes

Qu'est-ce que l'automatisation du test logiciel ?

L'automatisation du test logiciel est un processus qui utilise des outils et des scripts pour exécuter des tests sur un logiciel afin de détecter des erreurs ou des anomalies. Cela permet de gagner du temps et d'augmenter la couverture des tests.

Quels sont les types de tests unitaires ?

Les tests unitaires peuvent inclure des tests de correction fonctionnelle, des tests d'intégration, et des tests de validation. Ils visent à vérifier que chaque module fonctionne correctement en isolation.

Comment éviter les erreurs fréquentes en test logiciel ?

Pour éviter les erreurs fréquentes, il est essentiel de bien choisir les cas de test, d'estimer correctement les résultats attendus, et de s'assurer que les données de test sont représentatives. De plus, il est important de réinitialiser le système entre les tests.

Qu'est-ce que les critères de couverture en test ?

Les critères de couverture en test sont des normes qui définissent quelles parties du code doivent être testées. Ils aident à évaluer la qualité d'un jeu de tests et à s'assurer que les tests couvrent suffisamment de scénarios.

Pourquoi les tests de régression sont-ils importants ?

Les tests de régression sont importants car ils garantissent que les modifications apportées au code n'introduisent pas de nouveaux bugs. Ils doivent être effectués chaque fois que le logiciel est modifié pour assurer sa qualité continue.

Toutes les révisions