Formation généraliste rédigée en Juin 2009
Qualité logiciel
Plan Qualité
Gestion Processus de développement
Gestion des exigences
Gestion de configuration
Gestion des tests
Gestion des anomalies
Gestion de la documentation
Formation généraliste rédigée en Juin 2009
Qualité logiciel
Plan Qualité
Gestion Processus de développement
Gestion des exigences
Gestion de configuration
Gestion des tests
Gestion des anomalies
Gestion de la documentation
Aujourd’hui, les tests sont devenu un élément crucial au cycle de développement logiciel, des sociétés ont investi dans la création d’un service interne de tests, rien ne peut être mis en production sans être validé par ce service.
Pour cela, cette présentation va mettre en évidence les fondamentaux de test logiciel à savoir: définitions, types, processus, méthodes, outils, principes, stratégies, jeux de test, etc.
Introduction à la qualité logicielle (1/5)Sylvain Leroy
Présentation / Sensibilisation à la qualité logicielle, à l'assurance qualité et au contrôle du code des applications.
Cette présentation est le premier chapitre introductif du thème. Elle rappelle les principaux écueils que rencontre tout projet de développement informatique.
Avis d'expert faisant l'état des lieux des tests logiciels aujourd'hui et expliquant comment mettre en place un processus de "continuous testing" en ligne avec son usine logicielle.
Rédigé en Mars 2013
Introduction : ce que l’on va couvrir (et ne pas couvrir)
Définition : Qu’est-ce que l’automatisation des tests ?
Objectifs : Pourquoi automatiser ?
Couverture :
Qu’est-ce qu’on automatise ?
Pre et Post Process
Comment déterminer ce qu’on automatise ?
Responsabilité : Qui fait quoi?
ROI : Combien ça coute ?
Infrastructure de test
Processus d’automatisation
Conclusion
Guide de tests fonctionnels. En utilisant ces principes, mes équipes ont réduit de 90% les défauts détectés en tests d’acceptation (UAT) et permis la livraison de trois projets avec zéro défaut.
Testing agile, transformation dans la transformation ! Culture, Process, Outils!DC CONSULTANTS
Comment implémenter du testing agile dans une équipe, une entreprise ? Ce sujet colossal est souvent une transformation dans la transformation d'une entreprise !
Pour vous donner les meilleures clés, nous avons choisi de faire intervenir 2 experts sur le sujet : Cyril STOCK est coach agile chez THALES, ET Yoann NOUARI spécialiste des outils Atlassian chez DC CONSULTANTS.
Nous vous proposons une session de présentation de ce que comprend le Testing Agile : ses facettes, sa technicité, sa méthodologie.
Vous repartirez avec :
- une vision claire du chantier de transformation du testing agile
- des idées d'outils et pratiques à mettre en œuvre
- l'envie de mettre en œuvre cet outil et de nouvelles pratiques !
Programme
1/ Introduction
2/ Testing agile : transformation dans la transformation !
3/ Comment mettre en oeuvre ? comment se former ?
4/ Vos questions du moment : apportons des réponses !
Aujourd’hui, les tests sont devenu un élément crucial au cycle de développement logiciel, des sociétés ont investi dans la création d’un service interne de tests, rien ne peut être mis en production sans être validé par ce service.
Pour cela, cette présentation va mettre en évidence les fondamentaux de test logiciel à savoir: définitions, types, processus, méthodes, outils, principes, stratégies, jeux de test, etc.
Introduction à la qualité logicielle (1/5)Sylvain Leroy
Présentation / Sensibilisation à la qualité logicielle, à l'assurance qualité et au contrôle du code des applications.
Cette présentation est le premier chapitre introductif du thème. Elle rappelle les principaux écueils que rencontre tout projet de développement informatique.
Avis d'expert faisant l'état des lieux des tests logiciels aujourd'hui et expliquant comment mettre en place un processus de "continuous testing" en ligne avec son usine logicielle.
Rédigé en Mars 2013
Introduction : ce que l’on va couvrir (et ne pas couvrir)
Définition : Qu’est-ce que l’automatisation des tests ?
Objectifs : Pourquoi automatiser ?
Couverture :
Qu’est-ce qu’on automatise ?
Pre et Post Process
Comment déterminer ce qu’on automatise ?
Responsabilité : Qui fait quoi?
ROI : Combien ça coute ?
Infrastructure de test
Processus d’automatisation
Conclusion
Guide de tests fonctionnels. En utilisant ces principes, mes équipes ont réduit de 90% les défauts détectés en tests d’acceptation (UAT) et permis la livraison de trois projets avec zéro défaut.
Testing agile, transformation dans la transformation ! Culture, Process, Outils!DC CONSULTANTS
Comment implémenter du testing agile dans une équipe, une entreprise ? Ce sujet colossal est souvent une transformation dans la transformation d'une entreprise !
Pour vous donner les meilleures clés, nous avons choisi de faire intervenir 2 experts sur le sujet : Cyril STOCK est coach agile chez THALES, ET Yoann NOUARI spécialiste des outils Atlassian chez DC CONSULTANTS.
Nous vous proposons une session de présentation de ce que comprend le Testing Agile : ses facettes, sa technicité, sa méthodologie.
Vous repartirez avec :
- une vision claire du chantier de transformation du testing agile
- des idées d'outils et pratiques à mettre en œuvre
- l'envie de mettre en œuvre cet outil et de nouvelles pratiques !
Programme
1/ Introduction
2/ Testing agile : transformation dans la transformation !
3/ Comment mettre en oeuvre ? comment se former ?
4/ Vos questions du moment : apportons des réponses !
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelAgile Montréal
Plusieurs s'engagent dans un projet DevOps avec espoir de voir la vélocité augmenter au fil du temps, remplissant la promesse légendaire de Scrum. La réalité est souvent tout autre, car opérer un système en production apporte son lot de surprises, et si l'on y ajoute de la dette technique et quelques années de vie utile, alors on peut facilement se retrouver dans une tempête parfaite. Voyons ensemble ces éléments qui viennent affecter notre précieuse vélocité.
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
Cette formation développe les méthodes de l'Extreme Programming, introduit les tests unitaires et le Test Driven Developpement sous différents frameworks (dont CakePHP), et présente différents outils de travail collaboratif : SVN, Make, Trac, etc.
Rédigé en Mars 2013
Comment automatiser les tests ?
Les différents types de tests automatisés : TU, BDD/TDD, GUI, TDC, Test de vie …
Méthodes d’automatisation
Capture/replay
Projet de développement
Techniques d’automatisation
Data driven
Keyword driven
DSTL
Composants technique pour l’automatisation
Oracle
Bouchon
Techniques de comparaison
Reporting
Strategie de test à agile tour bordeauxNicolas Fédou
Une stratégie de tests, on sait tous que c’est nécessaire, mais sans forcément savoir à quoi ça ressemble.
Une stratégie de tests est la façon de s’organiser pour montrer qu’une application est de qualité suffisante pour aller en production. Il ne s’agit donc pas d’un inventaire de tests manuels ou automatisés, mais d’un raisonnement avec des choix et des renoncements.
Dans cette présentation nous verrons comment une stratégie de tests vise à optimiser la confiance et les preuves de qualité dans le cadre du développement d’un produit agile.
Au sein d’une démarche DevOps, le build et le déploiement continue sont les premiers piliers à mettre en place.
Cette session découverte de notre NighClazz “Build Tools & Continuous Delivery” a pour objectif de présenter les enjeux de l’automatisation, d’introduire les principaux outils de builds Java, de comprendre le mécanisme de livraison logicielle et de déploiement continue.
Voici mon "Manifeste du testeur", manifest qui s'inspire du manifeste du Scrum.
Ici on s'attarde sur le métier de testeur logiciel et des décisions qu'il a à faire tous les jours.
Enfin, tout comme pour le manifeste Scrum A plutôt que B ne signifie pas que B est inutile!
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
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
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
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
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 ?
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