S'il est un enjeu actuellement au coeur des préoccupations des équipes de développement, c'est clairement la qualité. Pourquoi ? Parce que l'absence de qualité a un coût... ou plutôt des coûts. Un coût d'image sur des marchés ou les clients et les utilisateurs sont toujours plus exigeants. Un coût financier si l'on considère que ce qui a été mal fait doit être refait. Et, par ricochet, d'autres coûts financiers lorsque l'on sait que les modifications réalisées à postériori sont généralement à l'origine de nouveaux bugs qu'il faudra corriger, et pour cela sans doute décaler d'autres projets. On perçoit dès lors parfaitement l'intérêt de la qualité dans les développements informatiques. Cette formation adresse cette problématique sous ses différentes facettes. Des principes à respecter pour écrire un code bien structuré en passant par l'importance des tests tout au long du cycle de vie des applications jusqu'aux outils permettant d'optimiser le travail en équipe ou la gestion des bugs, nous vous proposons un programme très complet.
Objectifs de cette formation
Qualité des applications - Connaître les bonnes pratiques d'écriture d'un code incluant la maintenance de l'application
- Connaître les outils nécessaires à la fabrique logicielle pour produire des livrables de qualité
- Appréhender l'offre des outils de tests de performance et de charge
- Appréhender les outils et phases de mise en oeuvre d'une intégration continue
- Savoir utiliser Git pour gérer les codes sources
- Architectes
- Développeurs
- Analystes
- Chefs de projets...
Génie logiciel et qualité
- Structuration d'un bon code source
- Les libraires : gestion des dépendances/couplages faibles
- Technique de mutualisation de code
- Origine des défauts logiciels
- Intérêt, évaluation
- Sensibilisation au coût d'un programme non testé
- Indicateur
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 "boites noires"
- Techniques "boite blanches"
- Choisir sa technique de test
Automatisation des tests et de la production de livrable
- Outillage : Comment bien choisir sa toolchain de test : construire sa fabrique logicielle
- Etude des différences entre Maven, NPM et Composer
- Automatisation de tests GUI/IHM
- Exécution et génération de rapport de test
- Les tests en mode Agile
- Granularité de tests : composants, intégration, système
- Les différents types : fonctionnels / non fonctionnels, architectural, non régression
GIT : Travailler en équipe au jour le jour
- 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
GIT : Gestion des branches
- Création de branches
- Navigation entre branches
- Fusion de branches
- Résolution des conflits
- Branche temporaire
Les plus de cette formation
Qualité des applications - Au-delà des apports théoriques indispensables, cette formation intègre de nombreux ateliers qui apporteront aux participants une expérience dans la mise en pratique des bonnes pratiques de tests pour produire une application de qualité.
- Des conseils pratiques et méthodologiques sont proposés pour chaque thème évoqué.
- Cette formation est éligible à l'action collective Atlas "Développer avec les langages .Net, Java et C++" (Réf : 28118).
- Répartition théorie/pratique : 45% / 55%
- Cette formation se compose d'une alternance d'apports théoriques, de travaux pratiques s'articulant autour d'une application fil rouge, de démonstrations, de phases d'échanges entre participants et de synthèses de la part du formateur
- Ressources pédagogiques : un guide d'animation, un ordinateur connecté à Internet par participant, un support de cours en français, un cahier d'ateliers