Qualité et génie logiciel
- Comment bien structurer son code
- Mutualisation et factorisation de code
- Origine des défauts logiciels
- Les coûts provoqués par un programme non testé
- Utilisation de librairies : gestion des dépendances
Les différents types de test et leur finalité
- Tests unitaires
- Tests d'intégration
- Tests fonctionnels
- Tests de non-régression
- Tests IHM
- Tests de configuration
- Tests de performance
- Tests d'installation
Tester pendant le cycle de vie logiciel
- Les tests dans le cadre du mode Agile vs cycle en V
- Niveaux de tests : composants, intégration, système
- Cible des tests : fonctionnels / non fonctionnels, architecture logicielle, non régression
Les techniques de test
- La revue de code
- Techniques dites “boîtes noires” et “boîtes blanches”
- Test Driven Development
Automatisation des tests et de la production de livrable
- Bien choisir ses outils de test
- Étude des différences entre Maven, npm et Composer
- Les outils de test : Selenium, Robot Framework, ...
- Exécution et génération de rapport de test
- Les tests dans un contexte agile
- Granularité de tests : composants, intégration, système
- Les tests dans une chaîne d'intégration continue
Git : travailler en mode collaboratif
- La décentralisation
- Ajout, modification, suppression de fichiers et répertoires
- Gestion des commits
- Synchronisation avec un référentiel distant
- Comparaison
- Utilisation des tags
- Créer et appliquer des patchs
- Gérer efficacement les branches
Jira : gestion des bugs
- Le bug tracking
- Jira dans la communication avec ses utilisateurs
- Suivi de l'activité