Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
Accueil > Domaines > Qualité > Qualité des applications

Qualité des applications

Acquérir des bonnes pratiques pour des développements de qualité

S’il est un enjeu actuellement au cœur des préoccupations des équipes de développement, c’est clairement la qualité. Pourquoi ? Parce que l’absence de qualité à 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

  • Connaître les meilleures pratiques pour écrire un code de qualité favorisant la "lecture" et la maintenance d’une application
  • Comprendre comment organiser ses tests pour produire une application de qualité
  • Connaître les outils nécessaire à la fabrique logicielle pour produire des livrables de qualité
  • Savoir utiliser Git pour gérer les codes sources
  • Disposer d’une première expérience de la gestion des bugs avec Jira

Public

  • Développeurs
  • Chargés de développement d’applications informatiques

Prérequis

  • Disposer d’une première expérience de développement
  • Maîtriser un langage de programmation (C#, Java ou C++)

Programme de la formation

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 "boîtes noires"
  • Techniques "boîtes 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
  • Étude 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

Jira : Gestion des bugs

  • Le bug tracking
  • Jira dans la communication avec ses utilisateurs
  • Suivi de l'activité