Vérification de logiciels et assurance qualité

Description

Compréhension des principes d'assurance qualité et de contrôle qualité, des notions de base en vérification logicielle, de l’importance des tests dans les phases du cycle de vie d’un logiciel, des notions liées aux techniques statiques, de la technique de conception de tests, des notions liées à la gestion des tests, des outils d’automatisation et d’exécution.

Objectifs

  • Comprendre les concepts de base du développement d’un projet logiciel
    • Définir le vocabulaire associé au développement d’un projet logiciel
    • Expliquer l’évolution des cycles de développement
    • Décrire les principaux modèles de développement
    • Décrire les étapes liées au développement d’un projet logiciel
    • Décrire la dynamique et la procédure de communication dans un projet logiciel
    • Expliquer le rôle des différents intervenants impliqués dans un projet logiciel
  • Comprendre les principes d'assurance qualité et de contrôle de la qualité dans la production de logiciels
    • Décrire le processus d’assurance qualité dans le domaine de la production de logiciels
    • Distinguer l’assurance qualité du contrôle de la qualité
    • Décrire les facteurs de qualité logicielle
    • Décrire les principales normes relatives à la qualité logicielle
    • Expliquer l’importance de la certification dans le domaine de la vérification de logiciels
    • Expliquer l’importance du code d’éthique pour les professionnels des tests logiciels
    • Décrire les principaux éléments du code d’éthique de l’ISTQB
  • Comprendre les notions de base de la vérification de logiciels
    • Définir les principaux termes utilisés dans le domaine 
    • Expliquer l’importance de la vérification dans le processus de l’assurance qualité
    • Décrire les principales causes des problèmes de logiciels
    • Expliquer ce qu’est un test en vérification logicielle
    • Décrire les sept principes généraux des tests
    • Décrire le processus des tests fondamentaux 
    • Décrire les facteurs psychologiques ayant une influence sur le succès des tests
    • Expliquer l’importance d’un code d’éthique pour le vérificateur
  • Comprendre l’importance de la vérification dans les différentes phases du cycle de vie d’un produit logiciel
    • Décrire les différents modèles de développement d’un produit logiciel
    • Expliquer les différents niveaux de tests
    • Décrire les différents types de tests utilisés lors de la vérification de logiciels
    • Expliquer la procédure liée aux tests de maintenance 
    • Expliquer le rôle d’un oracle dans le processus de test
  • Comprendre les notions liées aux techniques statiques
    • Décrire les principales techniques statiques et les processus de tests
    • Expliquer le processus d’une revue ainsi que les rôles et responsabilités des intervenants
    • Décrire les principaux types de revues
    • Décrire les différents types d’analyses statiques et de défauts identifiables
  • Comprendre les principales techniques de conception de tests
    • Expliquer le processus de développement des tests
    • Décrire les différentes catégories de techniques de tests
    • Décrire les techniques basées sur les spécifications « boîte noire »
    • Décrire les techniques de conception basées sur la structure « boîte blanche »
    • Décrire les techniques basées sur l’expérience
    • Expliquer la procédure de sélection d’un test
  • Comprendre les notions liées à la gestion des tests
    • Décrire les politiques liées à l’organisation des tests
    • Expliquer la procédure permettant de planifier et d’estimer la charge de tests
    • Expliquer la procédure de contrôle du déroulement des tests et des rapports 
    • Expliquer l’objectif de la gestion de configuration
    • Décrire les principes de la gestion des risques dans le processus de vérification de logiciels
    • Expliquer la procédure permettant la gestion des incidents
  • Comprendre le système de classement et l’utilité des outils de support aux tests
    • Décrire le système de classement des outils d’automatisation et d’exécution
    • Expliquer le rôle des principaux outils
    • Décrire des problèmes liés aux outils
    • Expliquer le processus de sélection des outils
  • Comprendre les normes et les techniques utilisées lors de la production
    • Décrire le principe de modularité
    • Expliquer le choix d’une architecture logicielle en fonction du projet
    • Expliquer l’importance du respect des normes dans la production d’un logiciel
    • Expliquer les principes d’organisation et de gestion efficace du temps
    • Expliquer les techniques utilisées pour le découpage, le jalonnement et l’ordonnancement des tâches
    • Expliquer le processus de mise au point d'un plan de production
    • Expliquer l’importance de la gestion de la documentation
    • Décrire différentes techniques de réutilisation
    • Expliquer le rôle et le processus d’élaboration d’un tableau de bord de projet
  • Comprendre la procédure de vérification de logiciels avec la méthodologie Agile
    • Expliquer ce qu’est un projet Agile
    • Distinguer différentes approches Agile
    • Décrire les activités associées à l’approche Scrum
    • Décrire le rôle des différents intervenants impliqués dans le développement Scrum
    • Expliquer les techniques nécessaires pour effectuer des vérifications dans la méthodologie Agile

Aperçu du contenu

  • Terminologie associée au développement d’un projet logiciel
  • Évolution des cycles de développement
  • Modèles de développement : modèle en cascade, cycle en V, cycle en spirale, cycle semi-itératif et cycle itératif
  • Étapes de développement d’un projet logiciel : analyse, conception, production, implantation et suivi
  • Rôles des intervenants impliqués dans le développement d’un projet logiciel
  • Principe de modularité
  • Choix des architectures logicielles
  • Respect des normes
  • Organisation et gestion efficace du temps
  • Découpage, jalonnement et ordonnancement des tâches
  • Gestion de la documentation
  • Méthodologies, approches et techniques Agile
  • Processus d’assurance qualité
  • Facteurs de qualité d’un logiciel
  • Normes de la qualité logicielle
  • Certification liée à la vérification de logiciels
  • Code d’éthique
  • Terminologie
  • Vérification logicielle et assurance qualité
  • Sept principes généraux des tests
  • Processus des tests fondamentaux
  • Facteurs psychologiques
  • Code d’éthique du vérificateur
  • Modèles de cycles de développement
  • Niveaux de tests
  • Types de tests
  • Tests de maintenance
  • Oracles
  • Techniques statiques et processus de tests
  • Processus de revue
  • Analyse statique outillée
  • Analyse du flot de données
  • Processus de développement de tests
  • Catégories de techniques de tests
  • Techniques basées sur les spécifications : boîte noire
  • Techniques de conception basées sur la structure : boîte blanche
  • Techniques basées sur l’expérience
  • Sélection de techniques
  • Politiques d’organisation des tests
  • Planification et estimation de la charge de tests
  • Contrôle de déroulement des tests
  • Rapports
  • Gestion de la configuration
  • Gestion des risques
  • Gestion des incidents
  • Typologie d’outils
  • Problèmes liés aux outils
  • Sélection des outils
  • Gabarits et modèles