SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
05/10/17Soirée du test logiciel
• Notre parcours
• Intégration, livraison et déploiement continus
• La place des tests au sein de l’I.C.
• Présentation d’une solution
• Questions
Sommaire
05/10/17Soirée du test logiciel
Marc
Ingénieur test
6 ans d’expérience
Audrey
Ingénieure développement Web
9 ans d’expérience
Profil Linkedin de Marc Profil Linkedin d’Audrey
Notre parcours
05/10/17Soirée du test logiciel
Intégration, livraison et déploiement
continus
05/10/17Soirée du test logiciel
• Rappels et définitions :
• Agile
• Devops
• I.C. / L.C. / D.C.
• TDD
Quelques définitions…
05/10/17Soirée du test logiciel
• 4 valeurs fondamentales
• 12 principes généraux dont :
• Orientation client
• Livrables fréquents et réguliers
• Construction incrémentale
• …
• Différentes méthodes de travail :
• SCRUM
• KANBAN
• …
AGILE, oui, mais souple aussi ?
05/10/17Soirée du test logiciel
• DevOps n’est ni une personne, ni une compétence,
c’est une philosophie de travail.
• 4 piliers :
• Culture
• Automatisation
• Mesure
• Partage
Le devOps, kezako ?
05/10/17Soirée du test logiciel
Intégration Qualification Production
Développement Build Tests Delivery Tests Déploiement Tests
Intégration continue
Livraison continue
Déploiement continu
I.C. / L.C. / D.C.
05/10/17Soirée du test logiciel
Ajouter un test
Exécuter le test
Implémenter la
fonctionnalité
Exécuter le test
Refactoring du
code
Exécution de
l’ensemble des
tests
Test Driven Development (TDD)
05/10/17Soirée du test logiciel
• Evolutivité
• TTM : Vite fait, Bien fait
• Réduction du coût total
• Industrialiser
Les enjeux de la démarche
05/10/17Soirée du test logiciel
La problématique des tests
05/10/17Soirée du test logiciel
La problématique des tests
• Rappels
• Quels tests, dans quels cas ?
• Problématique des tests
• Tests automatisés vs tests manuels
• La limite des tests automatisés
05/10/17Soirée du test logiciel
Améliorer la visibilité sur la qualité de l’application
Rappels
05/10/17Soirée du test logiciel
Rappels
Le test c’est vaste et c’est partout!
Le test en I.C. c’est aussi:
• Les revues (de codes ou de spécifications) c’est du test!
• Les tests de performances (sécurité, temps de réponse,
ergonomie…)
• Tests fonctionnels
• Différents niveaux de test
• …
05/10/17Soirée du test logiciel
Quels tests mettre en place ?
• Tests de validation
• Tests vitaux
• Exemple de tests au sein du déploiement continu
05/10/17Soirée du test logiciel
Définition:
Les tests de validation permettent de vérifier qu’une
fonctionnalité est conforme aux exigences fonctionnelles.
Ces tests peuvent être très nombreux.
Rarement automatisés
Les tests de validation
05/10/17Soirée du test logiciel
Définition:
Les tests vitaux sont un sous ensemble des tests de régressions.
• Ils couvrent les principaux scenarii.
• Exécution très rapide (inclus dans les processus d’I.C)
• Exécution très fréquente (chaque livraison)
Il permettent de repérer très rapidement une éventuelle
régression majeure.
Les tests vitaux
05/10/17Soirée du test logiciel18
Exemple des tests possibles au sein
du déploiement continu
05/10/17Soirée du test logiciel
Contraintes
Limites
Changements
Problématique des tests
• 3 facteurs :
05/10/17Soirée du test logiciel
• Changements induits par les x.C
Problématique des tests
05/10/17Soirée du test logiciel
Idéal:
Dans l’idéal tous les tests sont automatisés, à jour et
parfaitement stable.
L’analyse d’un cas en échec est simple et une simple pression
sur un bouton rouge permet d’exécuter les tests et d’avoir leur
rapport en moins de 15 minutes.
21
Problématique des tests:
Automatisation
05/10/17Soirée du test logiciel
• Mauvaise évaluation des coûts
• Implémentation, formation, outils,
maintenance
• Mauvais outil
• Vouloir tout automatiser
• Tests mal écrits
• Stabilité, bonnes vérifications…
• Ne pas analyser les échecs après exécution
• L’exécution seule ne sert à rien
• Avoir des environnement et données instables
22
Problématique des tests:
Automatisation
05/10/17Soirée du test logiciel
• Impact client
• Sécurisation des
données
• Qualité de code
• …
• Fonctionnels
• Sécurité
• Performance
• …
• Sécurité
• Performance
• Fonctionnalités
• Multiplication des
livraisons
• Limitation du
temps d’exécution
Temps Production
Qualité
Paralléliser
les tests
Problématique des tests: contraintes
05/10/17Soirée du test logiciel
Problématique des tests: limites
Développement
Nombre
d’exécutions
Impact client Performances
Tests manuels
Tests unitaires
Tests fonctionnels
05/10/17Soirée du test logiciel
Présentation d’une solution
05/10/17Soirée du test logiciel
• Etat au début du projet
• Solutions apportées
• Process de tests mis en place
• Automatisation des tests
• Et à la fin ?
Présentation d’une solution
05/10/17Soirée du test logiciel
• Plusieurs équipes à coordonner
• Différentes façons de travailler
• Temps de livraisons très courts
• KPI sécurités et qualité très attendus
• Freins humains / culturels
• Stratégie et vision des tests différentes
Etat au début du projet
05/10/17Soirée du test logiciel
• Mise en place de workshops et de brainstorming
• Définition des différents types de tests
• Définition des KPI des différents types de tests
• Intégration des KPI aux DoD
• Validation des KPI lors des sprint reviews
Solution apportée: freins humains
05/10/17Soirée du test logiciel
• Mise en place de plateformes d’intégration, livraison et
déploiement continus
• Outils utilisés: Gitlab / GitlabCI
• Mise en place d’une démarche devops
Solution apportée: automatisation
05/10/17Soirée du test logiciel
Automatisation des tâches : les
pipelines
05/10/17Soirée du test logiciel
Automatisation des tâches : les tests
auto
• Tests Front-end pour la non-régression : Robot
Framework et Selenium
• Tests Back-end automatisés : Mocha.js
05/10/17Soirée du test logiciel
• Mise en place des audits sécurité
• Mise en place de bench
• Envois de rapports « publics » pour justifier des KPI
Solution apportée: KPI
05/10/17Soirée du test logiciel
• Process de travail mis en place
• Branching model et merge requests
Process de travail
05/10/17Soirée du test logiciel
Defects
Corrections
Defects
Corrections
Pipeline
T. Statics
Pipeline
T.U.
Build
image
Nouvelle
branche
Développemen
t
Merge
request
Merge validé
Tag de
release
Livraison sur
REC
Tests
validation
Tests de
régression
Validation
PO
Livraison
Process de travail
05/10/17Soirée du test logiciel
Feature
Develop
Master
Merge request
Création d’un tag de release + création de l’image Docker à déployer
Livraison en REC
Exécution des différentes phases de test (validation, régression,…)
Livraison sur Master
Exécution des tests de régression
Exécution des pipelines (Tests unitaires, analyse statique,…)
Process de travail : branching model
05/10/17Soirée du test logiciel
• KPI sécu respectés (audits réguliers)
• 3 Audits de performances en conditions de Prod
• Couverture du fonctionnel (Front-end) à plus de 80%
• Couverture des APIs à plus de 75%
• Management confiant
• MEP réussie au premier coup !
Et à la fin ?
05/10/17Soirée du test logiciel
?
?
?
Questions ?
05/10/17Soirée du test logiciel
Wikipedia : Méthodologie Agile
Article LinkedIn : L’intégration et le déploiement continu : le
royaume de l’automatisation – Marc Hage Chahine
ITIL France : Définition des pratiques d’intégration
continue, de livraison continue et de déploiement continu
(traduction d’un article de Martin Fowler)
Références
05/10/17Soirée du test logiciel
www.telecom-valley.fr
Merci de votre attention !

Mais conteúdo relacionado

Mais procurados

Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests FonctionnelsDATANYWARE.com
 
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
 
Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsCloudNetCare
 
Présentation Agile Testing
Présentation Agile TestingPrésentation Agile Testing
Présentation Agile Testingjubehr
 
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 1Christophe Rochefolle
 
Guide tests fonctionnels
Guide tests fonctionnelsGuide tests fonctionnels
Guide tests fonctionnelscvcby
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des testsZhu Wei QI
 
Stratégie de tests type
Stratégie de tests typeStratégie de tests type
Stratégie de tests typemadspock
 
Tests & recette - Les fondamentaux
Tests & recette - Les fondamentauxTests & recette - Les fondamentaux
Tests & recette - Les fondamentauxCOMPETENSIS
 
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 SimonEmeline Simon
 
Testing agile, transformation dans la transformation ! Culture, Process, Outils!
Testing agile, transformation dans la transformation ! Culture, Process, Outils!Testing agile, transformation dans la transformation ! Culture, Process, Outils!
Testing agile, transformation dans la transformation ! Culture, Process, Outils!DC CONSULTANTS
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebChristophe Rochefolle
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?LeClubQualiteLogicielle
 
Types de tests vs techniques de tests
Types de tests vs techniques de testsTypes de tests vs techniques de tests
Types de tests vs techniques de testsSabrine MASTOURA
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logicielSylvain Leroy
 

Mais procurados (20)

Test logiciel
Test logicielTest logiciel
Test logiciel
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests Fonctionnels
 
Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)
 
Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests Logiciels
 
Présentation Agile Testing
Présentation Agile TestingPrésentation Agile Testing
Présentation Agile Testing
 
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
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
 
Guide tests fonctionnels
Guide tests fonctionnelsGuide tests fonctionnels
Guide tests fonctionnels
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des tests
 
Stratégie de tests type
Stratégie de tests typeStratégie de tests type
Stratégie de tests type
 
Tests & recette - Les fondamentaux
Tests & recette - Les fondamentauxTests & recette - Les fondamentaux
Tests & recette - Les fondamentaux
 
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
 
Maintenance logicielle
Maintenance logicielleMaintenance logicielle
Maintenance logicielle
 
Testing agile, transformation dans la transformation ! Culture, Process, Outils!
Testing agile, transformation dans la transformation ! Culture, Process, Outils!Testing agile, transformation dans la transformation ! Culture, Process, Outils!
Testing agile, transformation dans la transformation ! Culture, Process, Outils!
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et Web
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?
 
Génie Logiciel : les tests
Génie Logiciel : les testsGénie Logiciel : les tests
Génie Logiciel : les tests
 
Types de tests vs techniques de tests
Types de tests vs techniques de testsTypes de tests vs techniques de tests
Types de tests vs techniques de tests
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
 

Semelhante a Altran soirée du test logiciel - assez des c 05-10-17

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 continueXavier Callens
 
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelHa zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelAgile Montréal
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests PlanDenis Voituron
 
TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringneuros
 
Developement logiciel: comment livrer de la qualite ?
Developement logiciel: comment livrer  de la qualite ?Developement logiciel: comment livrer  de la qualite ?
Developement logiciel: comment livrer de la qualite ?Innobec
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxtestuser715939
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certificationsLeClubQualiteLogicielle
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
Intégration continue
Intégration continueIntégration continue
Intégration continueKlee Group
 
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...Sébastien Levert
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
 
[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 MicrosoftChristophe HERAL
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
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 CenterGuillaume Deshayes
 
Strategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxStrategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxNicolas Fédou
 
Audit technique de code
Audit technique de codeAudit technique de code
Audit technique de codeMehdi TAZI
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryZenika
 
formation istqb.pdf
formation istqb.pdfformation istqb.pdf
formation istqb.pdfmido04
 

Semelhante a Altran soirée du test logiciel - assez des c 05-10-17 (20)

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
 
20111004 04 - Présentation ATDD
20111004 04 - Présentation ATDD20111004 04 - Présentation ATDD
20111004 04 - Présentation ATDD
 
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelHa zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests Plan
 
TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoring
 
Developement logiciel: comment livrer de la qualite ?
Developement logiciel: comment livrer  de la qualite ?Developement logiciel: comment livrer  de la qualite ?
Developement logiciel: comment livrer de la qualite ?
 
Methodologie projet
Methodologie projet Methodologie projet
Methodologie projet
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptx
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
 
[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
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
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
 
Strategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxStrategie de test à agile tour bordeaux
Strategie de test à agile tour bordeaux
 
Audit technique de code
Audit technique de codeAudit technique de code
Audit technique de code
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous Delivery
 
formation istqb.pdf
formation istqb.pdfformation istqb.pdf
formation istqb.pdf
 

Mais de Marc Hage Chahine

Mais de Marc Hage Chahine (10)

[STLS] tests de performance coherenSE
[STLS] tests de performance coherenSE[STLS] tests de performance coherenSE
[STLS] tests de performance coherenSE
 
Testeur agile mhc
Testeur agile   mhcTesteur agile   mhc
Testeur agile mhc
 
Testeur agile mhc
Testeur agile   mhcTesteur agile   mhc
Testeur agile mhc
 
XStudio - Présentation Télécom Valley
XStudio - Présentation Télécom ValleyXStudio - Présentation Télécom Valley
XStudio - Présentation Télécom Valley
 
Pres yest
Pres yestPres yest
Pres yest
 
Ludo tic IA et bots
Ludo tic IA et botsLudo tic IA et bots
Ludo tic IA et bots
 
Magie des tests
Magie des testsMagie des tests
Magie des tests
 
20171005 jttl rca_riou_du_cosquer_eric
20171005 jttl rca_riou_du_cosquer_eric20171005 jttl rca_riou_du_cosquer_eric
20171005 jttl rca_riou_du_cosquer_eric
 
Mon manifese du testeur
Mon manifese du testeurMon manifese du testeur
Mon manifese du testeur
 
TelecomValley 2017 05-18-ARMAGNACQ_automatisation+test_ihm
TelecomValley 2017 05-18-ARMAGNACQ_automatisation+test_ihmTelecomValley 2017 05-18-ARMAGNACQ_automatisation+test_ihm
TelecomValley 2017 05-18-ARMAGNACQ_automatisation+test_ihm
 

Altran soirée du test logiciel - assez des c 05-10-17

  • 1.
  • 2. 05/10/17Soirée du test logiciel • Notre parcours • Intégration, livraison et déploiement continus • La place des tests au sein de l’I.C. • Présentation d’une solution • Questions Sommaire
  • 3. 05/10/17Soirée du test logiciel Marc Ingénieur test 6 ans d’expérience Audrey Ingénieure développement Web 9 ans d’expérience Profil Linkedin de Marc Profil Linkedin d’Audrey Notre parcours
  • 4. 05/10/17Soirée du test logiciel Intégration, livraison et déploiement continus
  • 5. 05/10/17Soirée du test logiciel • Rappels et définitions : • Agile • Devops • I.C. / L.C. / D.C. • TDD Quelques définitions…
  • 6. 05/10/17Soirée du test logiciel • 4 valeurs fondamentales • 12 principes généraux dont : • Orientation client • Livrables fréquents et réguliers • Construction incrémentale • … • Différentes méthodes de travail : • SCRUM • KANBAN • … AGILE, oui, mais souple aussi ?
  • 7. 05/10/17Soirée du test logiciel • DevOps n’est ni une personne, ni une compétence, c’est une philosophie de travail. • 4 piliers : • Culture • Automatisation • Mesure • Partage Le devOps, kezako ?
  • 8. 05/10/17Soirée du test logiciel Intégration Qualification Production Développement Build Tests Delivery Tests Déploiement Tests Intégration continue Livraison continue Déploiement continu I.C. / L.C. / D.C.
  • 9. 05/10/17Soirée du test logiciel Ajouter un test Exécuter le test Implémenter la fonctionnalité Exécuter le test Refactoring du code Exécution de l’ensemble des tests Test Driven Development (TDD)
  • 10. 05/10/17Soirée du test logiciel • Evolutivité • TTM : Vite fait, Bien fait • Réduction du coût total • Industrialiser Les enjeux de la démarche
  • 11. 05/10/17Soirée du test logiciel La problématique des tests
  • 12. 05/10/17Soirée du test logiciel La problématique des tests • Rappels • Quels tests, dans quels cas ? • Problématique des tests • Tests automatisés vs tests manuels • La limite des tests automatisés
  • 13. 05/10/17Soirée du test logiciel Améliorer la visibilité sur la qualité de l’application Rappels
  • 14. 05/10/17Soirée du test logiciel Rappels Le test c’est vaste et c’est partout! Le test en I.C. c’est aussi: • Les revues (de codes ou de spécifications) c’est du test! • Les tests de performances (sécurité, temps de réponse, ergonomie…) • Tests fonctionnels • Différents niveaux de test • …
  • 15. 05/10/17Soirée du test logiciel Quels tests mettre en place ? • Tests de validation • Tests vitaux • Exemple de tests au sein du déploiement continu
  • 16. 05/10/17Soirée du test logiciel Définition: Les tests de validation permettent de vérifier qu’une fonctionnalité est conforme aux exigences fonctionnelles. Ces tests peuvent être très nombreux. Rarement automatisés Les tests de validation
  • 17. 05/10/17Soirée du test logiciel Définition: Les tests vitaux sont un sous ensemble des tests de régressions. • Ils couvrent les principaux scenarii. • Exécution très rapide (inclus dans les processus d’I.C) • Exécution très fréquente (chaque livraison) Il permettent de repérer très rapidement une éventuelle régression majeure. Les tests vitaux
  • 18. 05/10/17Soirée du test logiciel18 Exemple des tests possibles au sein du déploiement continu
  • 19. 05/10/17Soirée du test logiciel Contraintes Limites Changements Problématique des tests • 3 facteurs :
  • 20. 05/10/17Soirée du test logiciel • Changements induits par les x.C Problématique des tests
  • 21. 05/10/17Soirée du test logiciel Idéal: Dans l’idéal tous les tests sont automatisés, à jour et parfaitement stable. L’analyse d’un cas en échec est simple et une simple pression sur un bouton rouge permet d’exécuter les tests et d’avoir leur rapport en moins de 15 minutes. 21 Problématique des tests: Automatisation
  • 22. 05/10/17Soirée du test logiciel • Mauvaise évaluation des coûts • Implémentation, formation, outils, maintenance • Mauvais outil • Vouloir tout automatiser • Tests mal écrits • Stabilité, bonnes vérifications… • Ne pas analyser les échecs après exécution • L’exécution seule ne sert à rien • Avoir des environnement et données instables 22 Problématique des tests: Automatisation
  • 23. 05/10/17Soirée du test logiciel • Impact client • Sécurisation des données • Qualité de code • … • Fonctionnels • Sécurité • Performance • … • Sécurité • Performance • Fonctionnalités • Multiplication des livraisons • Limitation du temps d’exécution Temps Production Qualité Paralléliser les tests Problématique des tests: contraintes
  • 24. 05/10/17Soirée du test logiciel Problématique des tests: limites Développement Nombre d’exécutions Impact client Performances Tests manuels Tests unitaires Tests fonctionnels
  • 25. 05/10/17Soirée du test logiciel Présentation d’une solution
  • 26. 05/10/17Soirée du test logiciel • Etat au début du projet • Solutions apportées • Process de tests mis en place • Automatisation des tests • Et à la fin ? Présentation d’une solution
  • 27. 05/10/17Soirée du test logiciel • Plusieurs équipes à coordonner • Différentes façons de travailler • Temps de livraisons très courts • KPI sécurités et qualité très attendus • Freins humains / culturels • Stratégie et vision des tests différentes Etat au début du projet
  • 28. 05/10/17Soirée du test logiciel • Mise en place de workshops et de brainstorming • Définition des différents types de tests • Définition des KPI des différents types de tests • Intégration des KPI aux DoD • Validation des KPI lors des sprint reviews Solution apportée: freins humains
  • 29. 05/10/17Soirée du test logiciel • Mise en place de plateformes d’intégration, livraison et déploiement continus • Outils utilisés: Gitlab / GitlabCI • Mise en place d’une démarche devops Solution apportée: automatisation
  • 30. 05/10/17Soirée du test logiciel Automatisation des tâches : les pipelines
  • 31. 05/10/17Soirée du test logiciel Automatisation des tâches : les tests auto • Tests Front-end pour la non-régression : Robot Framework et Selenium • Tests Back-end automatisés : Mocha.js
  • 32. 05/10/17Soirée du test logiciel • Mise en place des audits sécurité • Mise en place de bench • Envois de rapports « publics » pour justifier des KPI Solution apportée: KPI
  • 33. 05/10/17Soirée du test logiciel • Process de travail mis en place • Branching model et merge requests Process de travail
  • 34. 05/10/17Soirée du test logiciel Defects Corrections Defects Corrections Pipeline T. Statics Pipeline T.U. Build image Nouvelle branche Développemen t Merge request Merge validé Tag de release Livraison sur REC Tests validation Tests de régression Validation PO Livraison Process de travail
  • 35. 05/10/17Soirée du test logiciel Feature Develop Master Merge request Création d’un tag de release + création de l’image Docker à déployer Livraison en REC Exécution des différentes phases de test (validation, régression,…) Livraison sur Master Exécution des tests de régression Exécution des pipelines (Tests unitaires, analyse statique,…) Process de travail : branching model
  • 36. 05/10/17Soirée du test logiciel • KPI sécu respectés (audits réguliers) • 3 Audits de performances en conditions de Prod • Couverture du fonctionnel (Front-end) à plus de 80% • Couverture des APIs à plus de 75% • Management confiant • MEP réussie au premier coup ! Et à la fin ?
  • 37. 05/10/17Soirée du test logiciel ? ? ? Questions ?
  • 38. 05/10/17Soirée du test logiciel Wikipedia : Méthodologie Agile Article LinkedIn : L’intégration et le déploiement continu : le royaume de l’automatisation – Marc Hage Chahine ITIL France : Définition des pratiques d’intégration continue, de livraison continue et de déploiement continu (traduction d’un article de Martin Fowler) Références
  • 39. 05/10/17Soirée du test logiciel www.telecom-valley.fr Merci de votre attention !