Automatisation du Test Logiciel
Automatisation du Test Logiciel
Software Testing and Automation · lab
Fiche de révisionGuide de TP
Rédigée à partir de ce document, puis vérifiée avant publication.
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 :
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.
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.
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.
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.
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.
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é.
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.
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 :
Lors de l'automatisation des tests, plusieurs erreurs peuvent survenir. Voici quelques-unes des erreurs les plus fréquentes :
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.
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.
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.
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.
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.