SlideShare une entreprise Scribd logo
Industrialisation des
développements
(la recette)
Hello!
Je suis Sylvain Leroy
Vous pouvez me trouver sur :
sylvain.leroy@tocea.com / @sleroy0
about.me/sylvain_leroy
2007
Ingénieur
Recherche
Informatique
2011
Création
Société Tocea
2014
Acquisition Tocea
Groupe Metrixware
CTO Tocea
2015
Acquisition Echoes
Groupe Metrixware
CTO MetrixwareProjet Recherche
Ma Société
▧ Assistance Qualité / Recette
applications
▧ Modernisation automatique
d’applications
▧ Offre Intégration Usine
Logicielle
▧ Formateurs Bonnes Pratiques
/Cleancode / Qualité / Devops
▧ Distributeur Outils de
qualité de code
(Optimyth)
▧ Komea Dashboard
(Pilotage développements
par la
qualité/productivité)
▧ Offres Cobol/Mainframe
TOP 20 Justifications les plus courantes
▧ Cela fonctionne sur ma machine
▧ Ou étiez-vous quand le programme a crashé ?
▧ Pourquoi voulez-vous faire ceci ainsi ?
▧ Vous n’utilisez pas la bonne version du système d’exploitation
▧ Même si cela ne fonctionne pas, est-ce gênant ?
▧ Avez vous passé l’antivirus ?
▧ Quelqu’un a du changé mon code
▧ Cela fonctionne mais cela n’a pas été testé
▧ Ceci ne peut être à l’origine de Cela!
▧ Je ne peux pas tout tester!
▧ C’est juste une coïncidence malchanceuse
▧ Vous ne devez pas utiliser la dernière version du logiciel
▧ Je n’ai pas touché à ce module depuis des lustres!
▧ Il doit avoir quelque chose de bizarre dans vos données
▧ Qu’avez vous pu taper pour faire planter le logiciel ?
▧ Cela doit être un problème matériel
▧ Comment est-ce possible ?
▧ Cela fonctionnait hier
▧ Cela fonctionne sur ma machine
▧ Cela n’avait jamais cela avant
▧ C’est bizarre
▧ C’est normal, c’est une fonctionnalité
L’industrialisation du
processus de
développement
Quelles
méthodologies et outils
pour démarrer
un nouveau
développement ?
Quels sont les
pré-requis pour
un projet de
développement
chez Google ?
Industrialisation des développements logiciels
Un outil de
gestion des
exigences et
des tests
(réclamations..)
Tracage des exigences
Identifiez les changements, la raison des
changements et l’époque
Evaluation des spécifications
Faîtes évaluer les spécifications par les
développeurs
Estimez le poids des
exigences
Estimez la charge pour chaque exigence,
visez 10 à 15j maximum.
un dépôt de
source
unique qui
contient tout
Stockez tout!
Utilisez votre dépôt de source pour
stocker fichiers, sources, scripts, données.
Définissez votre workflow
Parce que GIT vous en offre un tout cuit
Industrialisation des développements logiciels
Utilisation de Git + GitFlow
https://danielkummer.github.io/git-flow-cheatsheet/
Industrialisation des développements logiciels
Industrialisation des développements logiciels
Les différentes Gates
Tests des fonctionnalités critiques (scénario nominal)
Charge <= 1JQ1
Tests complets : toutes les options sont testées, toutes
les interactions complexes
Charge : (max 1 semaine par env)
Q2
Q3
Tests de performance , sécurité
Charge : 1 à 2 semaine par env
Qg
Analyse qualimétrique du programme.
Règles de programmation, métriques
Charge : machine < 4h.
Casser un build lors de l’analyse qualimétrique
▧ Installation du plugin BuildBreaker de Sonar
▧ Définition d’alertes sur les métriques ciblées
Un système de
gestionnaire de
sources distribué
Un serveur
d’intégration
continue
Ne négligez pas le
temps de build !
Parce que personne n’aime attendre.
L’intégration continue
est une machine,
maintenez-la!
Inspirez-vous de la maintenance industrielle (MTBF,
MTTM, Availability)
Un processus de
fabrication
Le pipeline de
déploiement
Industrialisation des développements logiciels
Build Pipeline plugin
Jenkins Workflow plugin( $$$)
Documentez votre
processus de fabrication
Un serveur de
documentation
centralisé
Générez votre
documentation
Utilisez un format de documentation pour
la génération automatique
Versionnez votre
documentation
Stocker votre documentation sur votre
SCM
Un dépôt
Maven/GEM/Deb
Rationalisez les
technologies
Identifier et rationalisez les technologies,
suivez les évolutions
Utilisez un outil
de build (Gradle,
maven, ..)
Privilégiez les outils de
scripting
Parce que coder un plugin Maven ce n’est
pas sympa du tout (et maven assembly,
release…)
Une architecture
d’entreprise
Découvrez les outils comme Puppet,
Ansible, Docker, ...
Virtualisez vos
environnements
Gestion des
livraisons et des
notes de livraison
Tracez les modifications!
Associez les numéros de tickets aux
messages de commits
Gestion des livraisons
▧ Les dates de release
doivent être planifiées
selon une fréquence
régulière
▧ La procédure et
l’outillage de release
doivent être documentés
▧ Identifiez et documentez
tous les éléments liés à
une unité de déploiement
▧ La fonction de release
doit être réalisée par une
entité autonome
▧ Les unités de déploiement
doivent être construites
tôt
▧ Le processus de
déploiement doit être
testé avant le déploiement
réel.
▧ Prévoyez un plan de
restauration
▧ Utilisez des outils
▧ Gérez et configurer les
outils
Pas de
contrainte sur le
choix de l’IDE
Un logiciel de
suivi de bugs
(bugtracker)
Personnalisez le workflow
N’oubliez pas les champs nécessaires pour calculer
les KPIs par la suite!
Root Cause Analysis
Indispensable pour évaluer la qualité de votre
processus
Testez votre application!
Automatisez autant que possible
Mesurer la
couverture de
code
Quels outils de couverture de code ?
Cobertura
Atlassian
Clover
Jacoco
Code
Cover
https://confluence.atlassian.com/display/CLOVER/Comparison+of+code+coverage+tools
<project>
...
<reporting>
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-
plugin</artifactId>
<version>2.7</version>
</plugin>
</plugins>
</reporting>
</project>
PetClinic Maven project
https://github.com/spring-projects/spring-petclinic/
Exemple de rapport
allprojects {
apply plugin: 'jacoco'
repositories { jcenter() }
jacoco { toolVersion = '0.7.1.201405082137' }
}
task jacocoRootReport(type:
org.gradle.testing.jacoco.tasks.JacocoReport) {
dependsOn = subprojects.test
sourceDirectories =
files(subprojects.sourceSets.main.allSource.srcDirs)
classDirectories =
files(subprojects.sourceSets.main.output)
executionData =
files(subprojects.jacocoTestReport.executionData)
reports {
html.enabled = true
xml.enabled = true
csv.enabled = false
}
}
PetClinic Gradle project
https://github.com/sleroy/spring-petclinic
Rapport obtenu
Pour les projets
open source :
Coveralls.io
Employez des méthodologies
de tests (TDD,BDD)
“Test Driven Development :
Développement piloté par les tests
Crédit : alphatalk.vn
Astuces Tests unitaires
▧ Exécuter les tests en mémoire
▧ Ecrire les tests de manière à ce qu’ils soient indépendants
▧ Les tests doivent être isolés (pas d’effet de bord)
▧ Exécuter chaque test (pas d’@Ignore ou de /**/)
▧ Ecrire chaque test sous la forme d’une assertion (ou d’un
prédicat)
▧ Ecrire chaque test avec l’assertion la plus forte possible
▧ Assurez-vous que le code requis pour les tests et séparé
du code en production
▧ Refactorez avant de déboguer
▧ Ajoutez un timeout
▧ Nommez bien vos tests
▧ Utilisez des exceptions spécifiques
▧ Rendez vos tests exigeants
“Behaviour Driven Development :
Développement piloté par les tests
Industrialisation des développements logiciels
Industrialisation des développements logiciels
Multipliez les
niveaux de tests
▧ Tests unitaires
▧ Tests d’intégration
▧ Tests fonctionnels
▧ Tests d’acceptation
▧ Smoking Tests
▧ Tests de déploiement
▧ Tests du système
▧ Tests de performance
▧ Tests de sécurité
▧ Tests manuels
Les différents tests :
Industrialisation des développements logiciels
80%
Couverture de code optimale à
atteindre
(Pour les système ne menaçant pas la
vie humaine)
50%
Le nombre de défauts en moyenne
supprimés par les (seuls) tests
unitaires
▧ Au dessus, le coût de détection des bugs
est trop important
▧ Intégrés directement à Eclipse, Maven ..
▧ Utilisation de JUnit ou TestNG
▧ Suivre les évolutions (régulières) des
frameworks qui simplifient l’écriture
▧ Les tests unitaires c’est du code, écrivez-les
bien!
Tests unitaires
▧ Approche BigBang
▧ Approche ToP/Down
▧ Approche Bottom/Up
▧ Problématique des bases de données :
mémoire, embarquée ou simple fichier ?
▧ Problématique de simulation des web-
services : bouchons, stubs,...
Tests d’intégration
Vérifier le fonctionnement des “grands” composants de
l’architecture
▧ TF : fonctionnalités du logiciel / aux
spécifications.
▧ TS : fonctionnalités du logiciel / aux
exigences clients.
▧ Tests réalisés en boîte noire à partir d’un
livrable de l’IC
▧ 4 Vérifications :
Tests des fonctionnalités critiques (Smoke Testing)
Tests de validation de résultats (Sanity Testing)
Tests de non-régression
Tests d’ergonomie / utilisabilité
Tests fonctionnels / système
▧ Créés généralement par le client
▧ Exprimés avec son vocabulaire (DDD)
▧ Tests boîte noire
▧ Utilisation d’outils comme Fitnesse peuvent
simplifier l’expression de ces tests.
Tests d’acceptation
▧ Utilisation d’un outil de gestion d’exigences
et de scénarios de tests
▧ Un Cas de test doit avoir un objectif
▧ Une description de l’environnement de test
est requise
▧ L’installation de l’environnement de tests
doit être vérifiée
▧ Chaque cas de test doit être associé à un ou
plusieurs requirements
▧ Un cas de test doit être simple et
déterministe
Tests manuels
(A suivre)
Contrôler la qualité
du code de
l’application
(et pas que…)
Merci
Vous pouvez me trouver :
@sleroy0
sylvain.leroy@tocea.com

Contenu connexe

Tendances

Introduction au génie logiciel
Introduction au génie logicielIntroduction au génie logiciel
Introduction au génie logiciel
Mohamed Diallo
 
cours javascript.pptx
cours javascript.pptxcours javascript.pptx
cours javascript.pptx
YaminaGh1
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
Majid CHADAD
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
Olivier Le Goaër
 
formation istqb.pdf
formation istqb.pdfformation istqb.pdf
formation istqb.pdf
mido04
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
safwenbenfredj
 
DEVOPS
DEVOPSDEVOPS
DEVOPS
TayssirLimem
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielle
Youness Boukouchi
 
Methodologie projet
Methodologie projet Methodologie projet
Methodologie projet
Benjamin ACHAB
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
Sirine Barguaoui
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel
USTHB & DELTALOG
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Emeline Simon
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
Colin LEVERGER
 
These
TheseThese
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
Abdoulaye Dieng
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
Jonathan Holloway
 
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XPMéthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
Mohammed Amine Mostefai
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
Christophe Rochefolle
 
Sonarqube
SonarqubeSonarqube
Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
Abdoulaye Dieng
 

Tendances (20)

Introduction au génie logiciel
Introduction au génie logicielIntroduction au génie logiciel
Introduction au génie logiciel
 
cours javascript.pptx
cours javascript.pptxcours javascript.pptx
cours javascript.pptx
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
formation istqb.pdf
formation istqb.pdfformation istqb.pdf
formation istqb.pdf
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
 
DEVOPS
DEVOPSDEVOPS
DEVOPS
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielle
 
Methodologie projet
Methodologie projet Methodologie projet
Methodologie projet
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
These
TheseThese
These
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XPMéthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
 

Similaire à Industrialisation des développements logiciels

20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
Arnaud Héritier
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
Stéphane Liétard
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
Emmanuel Hugonnet
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
ALTER WAY
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
ekino
 
Paris Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacyParis Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacy
François Petitit
 
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
Benoît de CHATEAUVIEUX
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatisé
Jérémie Campari
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascript
Michael Akbaraly
 
L'integration continue pour tous
L'integration continue pour tousL'integration continue pour tous
L'integration continue pour tous
Aurelien Navarre
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
Nicolas wallerand
 
Enib cours c.a.i. web - séance #6 : autour de la webapp
Enib   cours c.a.i. web - séance #6 : autour de la webappEnib   cours c.a.i. web - séance #6 : autour de la webapp
Enib cours c.a.i. web - séance #6 : autour de la webapp
Horacio Gonzalez
 
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continueOmnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Xavier Callens
 
Intégration continue transco
Intégration continue transcoIntégration continue transco
Intégration continue transco
laurent_opnworks
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Guillaume Deshayes
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
Julien Vq
 
Valider par des tests - Blend
Valider par des tests - BlendValider par des tests - Blend
Valider par des tests - Blend
Christophe Villeneuve
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration Continue
Frédéric Sagez
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
Christophe HERAL
 

Similaire à Industrialisation des développements logiciels (20)

20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
 
Paris Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacyParis Web 2015 - Atelier désendettement Javascript legacy
Paris Web 2015 - Atelier désendettement Javascript legacy
 
Normandy JUG integration Continue
Normandy JUG integration ContinueNormandy JUG integration Continue
Normandy JUG integration Continue
 
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatisé
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascript
 
L'integration continue pour tous
L'integration continue pour tousL'integration continue pour tous
L'integration continue pour tous
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
Enib cours c.a.i. web - séance #6 : autour de la webapp
Enib   cours c.a.i. web - séance #6 : autour de la webappEnib   cours c.a.i. web - séance #6 : autour de la webapp
Enib cours c.a.i. web - séance #6 : autour de la webapp
 
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continueOmnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
 
Intégration continue transco
Intégration continue transcoIntégration continue transco
Intégration continue transco
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
 
Valider par des tests - Blend
Valider par des tests - BlendValider par des tests - Blend
Valider par des tests - Blend
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration Continue
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 

Plus de Sylvain Leroy

Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite  Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite
Sylvain Leroy
 
Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite  Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite
Sylvain Leroy
 
Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++
Sylvain Leroy
 
Qu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéQu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualité
Sylvain Leroy
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
Sylvain Leroy
 
Assurance Qualité logicielle
Assurance Qualité logicielleAssurance Qualité logicielle
Assurance Qualité logicielle
Sylvain Leroy
 
Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)
Sylvain Leroy
 
Cleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionCleancode / Tocea / Introduction
Cleancode / Tocea / Introduction
Sylvain Leroy
 

Plus de Sylvain Leroy (8)

Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite  Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite
 
Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite  Arguments in favor of a progressive software rewrite
Arguments in favor of a progressive software rewrite
 
Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++
 
Qu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéQu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualité
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
 
Assurance Qualité logicielle
Assurance Qualité logicielleAssurance Qualité logicielle
Assurance Qualité logicielle
 
Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)
 
Cleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionCleancode / Tocea / Introduction
Cleancode / Tocea / Introduction
 

Industrialisation des développements logiciels

Notes de l'éditeur

  1. ANomalie : Toute condition qui dévie des attentes basées sur les exigences de spécifications, documents de conception, documents utilisateurs, standards etc, ou des perceptions ou expériences de quelqu’un. Les anomalies peuvent être trouvées pendant, mais pas uniquement, les revues, tests, analyses, compilations ou utilisation des produits logiciels ou de la documentation applicable [IEEE 1044]. Voir aussi défauts, déviation, erreur, faute, défaillance, incident, problème.
  2. Versioner la documentation Générer la documentation Collaborer pour améliorer la documentatio
  3. Wiki, etc
  4. Versionner la documentation Générer la documentation Collaborer pour améliorer la documentatio
  5. Versionner la documentation Générer la documentation Collaborer pour améliorer la documentatio
  6. Versionner la documentation Générer la documentation Collaborer pour améliorer la documentatio
  7. Versionner la documentation Générer la documentation Collaborer pour améliorer la documentatio
  8. Versionner la documentation Générer la documentation Collaborer pour améliorer la documentatio
  9. Versionner la documentation Générer la documentation Collaborer pour améliorer la documentatio
  10. Versionner la documentation Générer la documentation Collaborer pour améliorer la documentatio
  11. Versionner la documentation Générer la documentation Collaborer pour améliorer la documentatio
  12. Versionner la documentation Générer la documentation Collaborer pour améliorer la documentatio
  13. Versionner la documentation Générer la documentation Collaborer pour améliorer la documentatio
  14. http://agiledata.org/essays/tdd.html
  15. http://www.bullseye.com/minimum.html
  16. http://www.bullseye.com/minimum.html
  17. http://www.bullseye.com/minimum.html https://en.wikipedia.org/wiki/Usability_testing http://www.tutorialspoint.com/software_testing_dictionary/acceptance_testing.htm
  18. http://www.bullseye.com/minimum.html https://en.wikipedia.org/wiki/Usability_testing https://en.wikipedia.org/wiki/System_testing https://en.wikipedia.org/wiki/Sanity_testing http://www.tutorialspoint.com/software_testing_dictionary/acceptance_testing.htm http://agiledata.org/essays/tdd.html http://fr.slideshare.net/edvorkin/unit-testing-with-spock-framework?next_slideshow=1 http://www.bullseye.com/minimum.html
  19. http://www.bullseye.com/minimum.html https://en.wikipedia.org/wiki/Usability_testing https://en.wikipedia.org/wiki/System_testing https://en.wikipedia.org/wiki/Sanity_testing http://www.tutorialspoint.com/software_testing_dictionary/acceptance_testing.htm http://agiledata.org/essays/tdd.html http://fr.slideshare.net/edvorkin/unit-testing-with-spock-framework?next_slideshow=1 http://www.bullseye.com/minimum.html