Ce cours est offert à l'automne 2024. Il est organisé suivant le calendrier ci-dessous.
Avec ce cours, les étudiant(e)s auront acquis les compétences suivantes:
Les étudiant(e)s sont évalué(e)s sur la base de 3 tâches, suivant les critères énoncés ci-dessous.
Prérequis: programmation Java, git et github.
Le cours a lieu en personne les jeudis de 8.30 à 11.30, en salle Z-317 au Pavillon Claire-McNicoll. Les séances de travaux pratique ont lieu les mardis de 8.30 à 10.30, en salle 1355 au Pavillon André-Aisenstadt.
Vous pouvez contacter les assistants de cours, Meriem, Yogya et Oussama, à cette adresse: dift3913@iro.umontreal.ca
critère | description |
---|---|
temps | la présentation dure entre 6.30 min et 7.30 min (limite stricte) |
structure | la présentation est bien structurée et la structure est annoncée et visible |
introduction | la présentation inclut une introduction qui motive l'importance du sujet pour la qualité logicielle |
contenu | la présentation inclut une partie technique avec des extraits de code, lisibles |
originalité | la présentation inclut un point original |
réflection | la présentation inclut une partie réflection / recul sur le sujet |
conclusion | le dernier slide inclut un message clair et pratique pour l'audience |
compréhension | l'orat(rice.eur) montre une maitrise et compréhension claire du sujet et peut répondre aux questions de l'audience |
élocution | l'orat(rice.eur) parle clairement, avec assurance, et interagit avec l'audience. le sens de l'humour responsable est apprécié |
slides | les slides sont lisibles, n'incluent pas trop de texte et contiennent des illustrations |
sources | la présentation s'appuie sur au moins 3 sources extérieures qui sont citées en bas de page et sont publiquement accessibles |
La limite de temps est obligatoire. Tous les autres critères comptent pour un point.
critère | description |
---|---|
tests | 10 nouveaux tests qui n'étaient pas présents dans la version initiale du repo |
oracle | chaque test inclut un oracle qui vérifie, automatiquement, que le programme a le comportement attendu |
intention | chaque test a une intention claire documentée dans un commentaire |
structure | les tests sont organisés en suivant le pattern AAA (arrange-act-assert) |
documentation | le repo inclut une page qui documente où se trouvent les méthodes testées et justifie les choix des méthodes testées |
utilité | l'exécution des nouveaux tests augmente la couverture de code |
exécution | les tests, y compris les 10 nouveaux, s'exécutent avec succès dans une Github action |
Chacun des critères compte pour un point.
Il est très fortement conseillé que les tests s'exécutent automatiquement et correctement dans une Github action (dernier critère). Si ce n'est pas le cas, la note maximale pour cette tâche ne pourra pas dépasser 4/10.
Bonus: au moins un test utilise la bibliothèque java-faker.
critère | description |
---|---|
flags | l'action exécute la compilation et les tests avec 5 flags différents de la JVM |
documentation | le repo inclut une page qui documente les changements apportés à la Github action pour permettre l'exécution avec divers flags |
structure | l'action génère des logs clairs qui documente quels flags sont exécutés |
intention | l'intention de qualité est clairement documentée: le choix de chaque flag est justifié vis-à-vis de son impact possible sur la qualité |
qualité | la mesure de la couverture est automatisée et le taux de couverture avec chaque flag est documenté |
humour | le repo inclut un élément d'humour responsable et documenté |
Chaque critère compte pour un point.
Si l'action ne s'exécute pas correctement, la note maximale pour cette tâche ne pourra pas dépasser 4/10.
Bonus: les commits pour développer cette action sont documentés avec lolcommits.