Table of Contents

Tests d'intégration et conception en autonomie

Ce TD vise

  1. à vous apprendre à mettre en place des tests d'intégration
  2. à concevoir une petite application à plusieurs en prévoyant les tests d'intégration.
4h c'est à dire 2 séances seront consacrées à ce TD. Vous ne parviendrez peut etre pas à tout faire.
  1. Soyez itératif, faîtes en sorte de toujours avoir un code qui tourne.
  2. Ne trainez pas non plus !

Partie 1 : Tutoriel EasyMock (1/2h grand maximum)

Si vous dépassez le temps passez à la suite et revenez dessus plus tard.

  1. Suivez le “getting started” de easyMock Mais au lieu d'utiliser maven utilisez directement le fichier jar ci-joint 1). Pour cela, sur le nom du projet > Properties > Java Build Path > Puis ajouter le .jar ci dessus.
  2. Vérifiez que tout fonctionne et comprenez évidemment.

Partie 2 : Un jeu de Quizz

Vous devez réaliser en groupe de 2 étudiants un jeu de quizz dont voici la spécification.

Spécifications

A faire

  1. Conception : V0 (Environ 1/2 heure intense)
    1. Conseils
      • Concevez l'application V0 à deux (i.e. UC, Classes, un diagramme de séquence pour analyser le déroulement d'une partie est conseillé, MAIS ne faîtes que ce qui vous paraît vraiment utile)
      • Partagez le travail à réaliser
      • Prévoyez les tests à réaliser pour chacune des histoires, vous pouvez même faire du TDD
    2. Enrichissez les histoires si besoin pour être sûrs de savoir les tester.
    3. 8-O Sauvegardez une copie de votre conception quelle qu'elle soit : photo ou autre. Vous utiliserez cette conception pour faire le point à la fin entre votre travail initial et la réalisation. Vous ne serez pas noté dessus, vous devez apprendre à vous évaluer.
  2. Vous pouvez à partir de là choisir de focaliser sur une histoire ou de traiter plusieurs histoires en même temps.
    1. Développement : V0
      • Développez le jeu en testant chacun individuellement vos classes et en utilisant les mocks pour les interactions.
    2. Intégration : V0
      • Mettez vos codes en commun
      • Testez une histoire et vérifier que vous pouvez dire qu'elle est terminée, c'est à dire que tous les tests passent.
      • Faîtes les tests sur toutes les histoires, soyez itératif.
    3. 8-O Faîtes une copie de votre architecture;
      1. vous la comparerez avec la précédente et la suivante. Il s'agit ici pour vous de
        1. déterminer si vous aviez fait des erreurs ou des incomplétudes,
        2. déterminer si vous saurez faire mieux la prochaine fois ou non, qu'avez-vous appris éventuellement?
        3. identifier les points que vous aimeriez améliorer (liste des TODO dans le code, le modèle, l'architecture).
  3. V1 : Choisissez une extension, complétez éventuellement les histoires et allez jusqu'au code correspondant.
    1. 8-O reprendre la question précédente.
  4. Si vous êtes ici et que vous en avez envie ajoutez une autre extension.

Quelques trucs utiles

Pour Interroger vous pouvez utiliser:

import javax.swing.JOptionPane;
....
 String m = JOptionPane.showInputDialog("Anyone there?");
 System.out.println(m); // juste pour expliquer ici
 JOptionPane.showMessageDialog(null, "A oui, il y a quelqu'un");

A RENDRE

  1. Document
    1. faisant état de vos réponses aux points 8-O ; les derniers modèles seront considérés pour l'évaluation de l'architecture.
    2. d'une image de la couverture de tests finale
    3. Précisez les extensions réalisées.
  2. Des codes et tests associés.

Rendus au plus tard le lundi 19 novembre à 18h45 sous http://jalon.unice.fr/cours/blay/Cours-blay-20150930110548/BoiteDepot-blay-20181113101132476393?mode_etudiant=true&tab=deposit

Voici le document qui sera utilisé pour l'évaluation (il peut encore changer) : https://goo.gl/forms/PmNPOPcurIKJLlo32

1)
Si vous êtes à l'aise avec maven pas de souci pour l'utiliser mais sinon ne perdez pas du temps là dessus