Présentation

Ce programme couvre les aspects normatifs essentiels pour la création de logiciels fiables, les concepts théoriques sur les tests basés sur la théorie de l'ingénierie logicielle et l'Application Pratique de cette dernière"  

Un professionnel de l'informatique doit se concentrer sur la qualité de ses projets. Pour y parvenir de manière optimale et dans les délais requis, il doit connaître les méthodologies nécessaires. L'élimination de la dette technique dans les développements actuels et futurs devrait être l'objectif, car depuis quelques années, les projets sont développés très rapidement, dans le but de les conclure avec le client selon des critères de prix et de délai, au lieu d'avoir une approche de qualité. Cela a donné lieu à de nombreux problèmes qui, loin de fournir une approche de qualité, ont entraîné des pertes importantes. 

Ce programme de mise à jour montre l'importance du Test-Driven Design pour développer des logiciels de qualité, en fournissant au professionnel tous les outils nécessaires. De la connaissance des phases dans lesquelles un projet est décomposé à la connaissance des exigences à remplir pour décider de la méthodologie à utiliser, en passant par la génération d'un critère expert. 

On analyse ainsi les différents types de tests auxquels le logiciel doit être soumis, les outils disponibles à cet effet et les implications que ceux-ci ont sur le programme de qualité du logiciel. Trois modules sont présentés selon une approche théorico-pratique, couvrant les aspects réglementaires essentiels à la création de logiciels fiables, les concepts théoriques sur les Testing basés sur la théorie du génie logiciel et leur application pratique. Le contenu s'est concentré sur les aspects de qualité et de complémentarité avec d'autres normes, en approfondissant la norme ISO 15504, ainsi que l'ISO/IEC 15504. 

Il aborde également le fonctionnement de la méthodologie Scrum, son célèbre manifeste et la façon dont elle a été créée comme alternative à la méthode de travail Waterfall. Il analyse le fonctionnement d'un panneau Kanban, sa composition, son utilisation et son application dans un petit projet test. Prendre en compte la vision du point de vue du client qui a demandé le projet et étudier également la communication entre le client et le fournisseur. 

Pour rendre cela possible, TECH Université Technologique a réuni un groupe d'experts dans ce domaine qui transmettront les connaissances et l'expérience les plus récentes. Il y aura 3 modules divisés en différents sujets et sous-thèmes, ce qui permettra d'apprendre en 6 mois maximum. Grâce à un campus virtuel moderne avec des contenus théoriques et pratiques, distribués sous différents formats. Mise en œuvre de la méthodologie Relearning, qui facilite la mémorisation et l'apprentissage de manière agile et efficace. 

Le Certificat avancé en Test-Driven Design analyser les critères qui sous-tendent la qualité des logiciels. Élargissez votre niveau d'expertise. Inscrivez-vous maintenant" 

Ce Certificat avancé en Test-Driven Design contient le programme plus complet et le plus actuel du marché. Ses principales caractéristiques sont: 

  • Le développement d'études de cas présentées par des experts en Développement de Logiciels
  • Les contenus graphiques, schématiques et éminemment pratiques avec lesquels ils sont conçus fournissent des informations scientifiques et sanitaires essentielles à la pratique professionnelle 
  • Les exercices pratiques où le processus d'auto-évaluation peut être réalisé pour améliorer l'apprentissage 
  • Il met l'accent sur les méthodologies innovantes 
  • Cours théoriques, questions à l'expert et travail de réflexion individuel 
  • La possibilité d'accéder aux contenus depuis n'importe quel appareil fixe ou portable doté d'une connexion internet 

Cette formation vous permet d'orienter votre profil professionnel vers la spécialisation qui vous rendra unique dans votre environnement. Se distinguer par les pratiques et les connaissances les plus innovantes" 

Le programme comprend, dans son corps enseignant, des professionnels du secteur qui apportent à cette formation l'expérience de leur travail, ainsi que des spécialistes reconnus de grandes sociétés et d'universités prestigieuses. 

Grâce à son contenu multimédia développé avec les dernières technologies éducatives, les spécialistes bénéficieront d’un apprentissage situé et contextuel, ainsi, ils se formeront dans un environnement simulé qui leur permettra d’apprendre en immersion et de s’entrainer dans des situations réelles. 

La conception de ce programme est axée sur l'Apprentissage par les Problèmes, grâce auquel le professionnel doit essayer de résoudre les différentes situations de la pratique professionnelle qui se présentent tout au long du Certificat avancé. Pour ce faire, l’étudiant sera assisté d'un innovant système de vidéos interactives, créé par des experts reconnus. 

Vous comprendrez l'importance des Testing de software et de l'automatisation des tests dans le processus de développement d'un projet"

Apprenez tout sur la gestion de projet, analysez les différentes phases dans lesquelles elle se décompose et discutez du processus de décision sur la méthodologie à utiliser"

Programme d'études

La conception de ce Certificat avancé a été développée par des enseignants spécialisés, en sélectionnant les sujets les plus importants pour le développement d'un logiciel de qualité. Il se compose de 3 modules d'enseignement, allant du développement de projets logiciels, de la documentation fonctionnelle et technique, du Testing de software et de l'automatisation des tests, ainsi que des différentes méthodologies de gestion de projets logiciels. Tout cela dans le but d'atteindre la qualité, en développant les tests nécessaires pour atteindre un code propre qui fonctionne. La variété de contenu multimédia à la disposition de l'étudiant à partir de la plate-forme TECH Université Technologique, permettra sa consultation et l'apprentissage de façon confortable et agile. 

Vous développerez les méthodologies utilisées en gestion: Waterfall et Agile” 

Module 1. Développement de Projets Software. Documentation Fonctionnelle et Technique

1.1. Gestion de projets 

1.1.1. Gestion de projet en matière de qualité des logiciels 
1.1.2. Gestion de projets. Avantages 
1.1.3. Gestion de projets. Typologie 

1.2. Méthodologie de la gestion de projet 

1.2.1. Méthodologie dans la gestion de projets 
1.2.2. Méthodologie de la gestion de projet Typologie 
1.2.3. Méthodologie dans la gestion de projets. Application 

1.3. Phase d'identification des besoins 

1.3.1. Identification des besoins du projet 
1.3.2. Gestion des réunions de projet 
1.3.3. Documentation à fournir 

1.4. Modèle 

1.4.1. Phase initiale 
1.4.2. Phase d'analyse 
1.4.3. Phase de construction 
1.4.4. Phase de test 
1.4.5. Livraison 

1.5. Modèle de données à utiliser 

1.5.1. Détermination du nouveau modèle de données 
1.5.2. Identification du plan de migration des données 
1.5.3. Ensemble de données 

1.6. Impact sur d'autres projets 

1.6.1. Impact d'un projet. Exemples
1.6.2. Risques liés au projet 
1.6.3. Gestion des risques 

1.7. “Must” du projet 

1.7.1. Must du projet 
1.7.2. Identification du Must du projet 
1.7.3. Identification des points de mise en œuvre pour la réalisation d'un projet 

1.8. L'équipe de construction du projet 

1.8.1. Rôles à jouer en fonction du projet 
1.8.2. Contact avec les RH pour le recrutement 
1.8.3. Livrables et calendrier du projet 

1.9. Aspects techniques d'un projet de logiciel 

1.9.1. Architecte du projet. Aspects techniques 
1.9.2. Responsables techniques 
1.9.3. Construction du projet logiciel 
1.9.4. Évaluation de la qualité du code, sonar 

1.10. Livrables du projet 

1.10.1. Analyse fonctionnelle 
1.10.2. Modèles de données 
1.10.3. Diagrammes d'état 
1.10.4. Documentation technique 

Module 2. Testing de Software. Automatisation des Tests 

2.1. Modèles de qualité des logiciels 

2.1.1. Qualité du produit 
2.1.2. Qualité du processus 
2.1.3. Qualité de l'utilisation 

2.2. Qualité du processus 

2.2.1. Qualité du processus 
2.2.2. Modèles de maturité 
2.2.3. Norme ISO 15504 

2.2.3.1. Objectifs 
2.2.3.2. Contexte 
2.2.3.3. Étapes 

2.3. Norme ISO/IEC 15504 

2.3.1. Catégories de processus 
2.3.2. Processus de développement. Exemple 
2.3.3. Fragment de profil 
2.3.4. Étapes 

2.4. CMMI (Capability Maturity Model Integration

2.4.1. CMMI. Intégration du modèle de maturité de la capacité 
2.4.2. Modèles et zones. Typologie 
2.4.3. Domaines de processus 
2.4.4. Niveaux de capacité 
2.4.5. Gestion des processus 
2.4.6. Gestion de projet 

2.5. Gestion des changements et des référentiels 

2.5.1. Gestion des changements logiciels 

2.5.1.1. Élément de configuration. Intégration continue 
2.5.1.2. Lignes 
2.5.1.3. Organigrammes 
2.5.1.4. Branches 

2.5.2. Référentiel 

2.5.2.1. Contrôle de la version 
2.5.2.2. Équipe de travail et utilisation du référentiel 
2.5.2.3. Intégration continue dans le référentiel 

2.6. Team Foundation Server (TFS) 

2.6.1. Installation et configuration 
2.6.2. Création d'un projet d'équipement 
2.6.3. Ajouter du contenu au contrôle de la source 
2.6.4. TFS on Cloud 

2.7. Testing 

2.7.1. Motivation pour les tests 
2.7.2. Test de vérification 
2.7.3. Tests bêta 
2.7.4. Mise en œuvre et maintenance 

2.8. Essais de charge 

2.8.1. Load testing 
2.8.2. Tests avec LoadView 
2.8.3. Tests avec K6 Cloud 
2.8.4. Tests avec Loader 

2.9. Tests unitaires, de stress et d'endurance 

2.9.1. Raison d'être des tests unitaires 
2.9.2. Outils de Unit Testing 
2.9.3. Motivation des tests de résistance 
2.9.4. Test en utilisant le StressTesting 
2.9.5. Motivation pour les tests de résistance 
2.9.6. Test à l'aide de LoadRunner 

2.10. Évolutivité. Conception de logiciels évolutifs 

2.10.1. Scalabilité et architecture logicielle 
2.10.2. Indépendance entre les couches 
2.10.3. Couplage entre les couches. Modèles architecturaux

Module 3. Méthodologies de Gestion de Projets de Software. Méthodologies Waterfall par rapport aux méthodologies agiles 

3.1. Méthodologie Waterfall 

3.1.1. Méthodologie Waterfall 
3.1.2. Méthodologie Waterfall. Influence sur la qualité des logiciels 
3.1.3. Méthodologie Waterfall. Exemples 

3.2. Méthodologie Agile 

3.2.1. Méthodologie Agile 
3.2.2. Méthodologie Agile Influence sur la qualité des logiciels 
3.2.3. Méthodologie Agile Exemples 

3.3. Méthodologie Scrum 

3.3.1. Méthodologie Scrum 
3.3.2. Manifeste de Scrum 
3.3.3. Mise en œuvre de Scrum 

3.4. Panel Kanban 

3.4.1. Méthode Kanban 
3.4.2. Panel Kanban 
3.4.3. Panel Kanban. Exemples d'application 

3.5. Gestion de projet en Waterfall 

3.5.1. Phases d’un projet 
3.5.2. Vision dans un projet Waterfall 
3.5.3. Livrables à considérer 

3.6. Gestion de projet en Scrum 

3.6.1. Phases d’un projet Scrum 
3.6.2. Vision dans un projet Scrum 
3.6.3. Produits livrables à considérer 

3.7. Waterfall vs. Scrum Comparaison 

3.7.1. Approche par projet pilote 
3.7.2. Projet utilisant Waterfall. Exemple 
3.7.3. Projet utilisant Scrum. Exemple 

3.8. Aperçu des clients 

3.8.1. Documents dans un Waterfall 
3.8.2. Documents dans un Scrum 
3.8.3. Comparaison 

3.9. Structure Kanban 

3.9.1. Histoires d'utilisateurs 
3.9.2. Backlog 
3.9.3. Analyse Kanban 

3.10. Projets hybrides 

3.10.1. Construction du projet 
3.10.2. Gestion de projet 
3.10.3. Produits livrables à considérer

Avec le contenu le plus exclusif, titillez-vous en tant qu'expert en quelques mois et donnez un plus à votre profil professionnel" 

Certificat Avancé en Test-Driven Design

La conception pilotée par les tests (TDD) est une technique de conception de logiciels qui se concentre sur l'écriture et l'exécution de tests automatisés avant le développement du code. Fondamentalement, il s'agit de développer une application en testant chaque élément de code avant d'écrire le moindre code. Cette approche du développement logiciel est une pratique importante de la méthodologie Agile.

L'idée qui sous-tend le TDD est que si vous structurez chaque étape de la bonne manière, vous pouvez prédire les résultats finaux du processus. Ainsi, les développeurs peuvent s'assurer que leur code fonctionne avant même d'être prêts à écrire l'application dans son intégralité. Grâce aux conseils fournis par les tests continus, ils peuvent s'assurer que chaque nouvelle itération du code fonctionne comme prévu et ne contient pas de bogues. Le développement est ainsi plus efficace et plus rentable, la qualité et la sécurité étant intégrées dès le début de la phase de conception.

Le processus TDD commence par la création d'un test automatisé pour vérifier le comportement attendu d'un morceau de code. Ensuite, on écrit suffisamment de code pour réussir le test. Les tests automatisés sont ensuite réexécutés pour s'assurer que tous les tests ont été passés avec succès. Si les tests sont concluants, le nouveau morceau de code est facilement intégré dans le système. Dans le cas contraire, les ajustements nécessaires sont apportés au code pour qu'il se comporte correctement. Le processus est répété pour chaque élément majeur du code, ce qui garantit que toutes les fonctionnalités sont validées et testées tout au long du cycle de développement. De cette manière, il devient possible de documenter chaque partie du système ou de l'application avant d'écrire une seule ligne de code.

Le TDD est une technique de conception de logiciels visant à tester et à créer un code sûr et de haute qualité. En structurant le processus de conception de cette manière, les développeurs peuvent s'assurer que leur code est robuste, ce qui permet de réduire les coûts et le temps nécessaire au développement du logiciel, d'en augmenter l'efficacité et l'adaptabilité.