LOG121: Introduction aux tests unitaires

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Quelle est la principale utilité des tests en génie logiciel?

  • Évaluer si une implémentation correspond aux spécifications et aux attentes du client. (correct)
  • Optimiser la vitesse d'exécution du code.
  • Réduire la taille du code source.
  • Automatiser le déploiement de l'application.

Un test d'intégration vise à tester une classe ou un composant de manière isolée.

False (B)

Quel est l'objectif principal des tests de régression dans le contexte des tests unitaires?

Re-tester la classe à chaque fois qu'elle est modifiée.

Dans le processus agile, le développement dirigé par les tests est appelé ______.

<p>TDD</p> Signup and view all the answers

Parmi les propositions suivantes, laquelle décrit le mieux un cadre de développement (framework) pour les tests unitaires?

<p>Une librairie de classes qui facilite le développement d'applications. (B)</p> Signup and view all the answers

Dans JUnit, il n'est pas nécessaire de créer une classe de test pour tester une classe existante.

<p>False (B)</p> Signup and view all the answers

Quel tag est utilisé dans JUnit pour identifier une méthode comme un test unitaire?

<p>@Test</p> Signup and view all the answers

Dans JUnit, on utilise des ______ pour comparer le résultat retourné par une méthode par rapport au résultat attendu.

<p>assertions</p> Signup and view all the answers

Quelle est la meilleure pratique en matière de tests unitaires concernant le moment de leur écriture par rapport à l'implémentation de la classe?

<p>Développer les tests en même temps que la classe. (B)</p> Signup and view all the answers

Associez chaque niveau de test avec sa description appropriée :

<p>Test Unitaire = Test d'une classe ou d'un composant isolément. Test d'Intégration = Vérification de l'interface et de l'interaction entre deux composants différents. Test Système = Validation de l'ensemble du système par rapport aux exigences.</p> Signup and view all the answers

Flashcards

Tests en génie logiciel

Une technique pour évaluer la conformité d'une implémentation aux spécifications et aux attentes du client.

Tests unitaires

Tests d'une classe ou d'un composant individuel.

Tests d'intégration

Vérifie l'interface et l'interaction entre deux composants différents.

Tests de système

Vérifie l'ensemble du système par rapport aux exigences.

Signup and view all the flashcards

Focus d'un test unitaire

Un test unitaire se concentre sur une unité du code source.

Signup and view all the flashcards

Unité en programmation orientée objet

En programmation orientée objet, l'unité est une classe.

Signup and view all the flashcards

Objectifs des tests unitaires

Prouver la classe fonctionne correctement, re-tester la classe après chaque modification, réduire le temps de débogage, permettre des tests réguliers, faciliter l'intégration.

Signup and view all the flashcards

Quand écrire des tests

Développés simultanément avec la classe, avant, pendant, et après l'implémentation.

Signup and view all the flashcards

Cadre de développement

Une bibliothèque de classes qui facilite le développement d'applications.

Signup and view all the flashcards

Tester une classe avec JUnit

Créer une classe de tests, chaque cas de test est placé dans une méthode et précédée du tag @Test.

Signup and view all the flashcards

Study Notes

  • LOG121 porte sur la conception orientée objet.
  • Cette présentation est une introduction aux tests unitaires.

Tests en génie logiciel

  • Il s'agit d'une technique empirique qui vise à recueillir des informations pour évaluer la conformité d'une implémentation aux spécifications et aux attentes du client.
  • Le fonctionnement et la qualité de l'implémentation sont testés dans certaines conditions.
  • Les tests servent à détecter et à corriger les erreurs dans l'implémentation.
  • Les tests peuvent se faire à différents niveaux : unitaire, intégration et système.
  • Unitaire : test d'une classe ou d'un composant.
  • Intégration : sert à vérifier l'interface et l'interaction entre deux composants différents, et doit se faire de manière incrémentale.
  • Système : évalue l'ensemble du système par rapport aux exigences.

Tests unitaires

  • Un test unitaire se concentre sur une unité de code source.
  • En programmation orientée objet, l'unité individuelle est la classe.
  • Il est important de fournir un jeu de tests lors de l'implémentation d'une classe.
  • Les objectifs des tests unitaires sont de prouver que la classe fonctionne correctement, de la re-tester à chaque modification (tests de régression), de réduire le temps passé à déboguer, de permettre la réalisation de tests de façon régulière, et de faciliter l'intégration ultérieure avec le reste de l'application.
  • Les tests doivent être développés en même temps que la classe, avant, pendant et après son implémentation.
  • Dans le processus agile, on parle de développement dirigé par les tests (TDD).

Cadres de développement pour les tests

  • Plusieurs cadres de développement facilitent l'écriture de tests unitaires, par exemple JUnit et CUnit.
  • Un cadre de développement est une librairie de classes qui facilite le développement d'applications (framework).
  • Il fournit une fonctionnalité générique que l'on peut étendre pour implémenter une fonctionnalité plus spécifique.
  • Il fournit une interface bien définie (API).

JUnit

  • Pour tester une classe avec JUnit, une classe de tests doit être créée
  • Chaque cas de test doit être placé dans une méthode.
  • L'ensemble des tests JUnit est regroupé au sein d'une classe.
  • Il est recommandé que le nom d'une classe de test soit le nom de la classe à tester suivi par "Test", par exemple, MaClasseTest pour tester MaClasse.
  • Un test JUnit est une méthode de test, précédée du tag @Test.
  • Des assertions sont utilisées dans le corps de cette méthode pour comparer le résultat retourné par une méthode au résultat attendu.
  • Un cas de test est organisé comme suit : création des conditions correspondant à l'état avant le test, exécution de la méthode que l'on veut tester, et vérification que l'état après exécution correspond à l'état attendu (assertions).
  • Il est possible de créer une suite de tests pour exécuter un ensemble de tests.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser