Le test en mode Agile
Présentation
L'Agilité dans les projets se généralise et le testeur comprend vite qu'il faut penser le test différemment pour que les mises en production du produit puissent se faire régulièrement à un rythme parfois soutenu. Dans ce livre, l'auteur donne au lecteur, au travers de nombreux exemples, anecdotes, références bibliographiques et illustrations, les connaissances fondamentales pour appréhender l'état d'esprit du test agile et les pratiques du test qui en découlent.
Chaque chapitre, même le plus technique, intéressera autant le DSI dans son virage vers l'Agilité, que le testeur qui ressent le besoin de s'adapter à ce nouveau mode de développement ou encore les développeurs ou autres membres d'une équipe Agile qui doivent s'adapter pour fournir un logiciel de qualité.
Après quelques rappels sur l'agilité et sur les principes et techniques du test, un chapitre est entièrement consacré à l'état d'esprit du test agile. Puis, au fil des pages, l'auteur met l'accent sur l'importance de la connaissance du métier et de la connaissance technique pour réaliser des tests en mode agile. Le lecteur est également amené à étudier la problématique de ce qui est produit par les tests (anomalies et rapports des sessions de test) ainsi que la notion de tests non fonctionnels.
Pour finir, comme il est souvent nécessaire d'adapter l'organisation complète d'une équipe pour faciliter le test agile, un chapitre montre quels sont les facteurs qui permettent une amélioration plus profonde du test au travers de l'organisation autour du projet.
Quizinclus dans
la version en ligne !
Chaque chapitre, même le plus technique, intéressera autant le DSI dans son virage vers l'Agilité, que le testeur qui ressent le besoin de s'adapter à ce nouveau mode de développement ou encore les développeurs ou autres membres d'une équipe Agile qui doivent s'adapter pour fournir un logiciel de qualité.
Après quelques rappels sur l'agilité et sur les principes et techniques du test, un chapitre est entièrement consacré à l'état d'esprit du test agile. Puis, au fil des pages, l'auteur met l'accent sur l'importance de la connaissance du métier et de la connaissance technique pour réaliser des tests en mode agile. Le lecteur est également amené à étudier la problématique de ce qui est produit par les tests (anomalies et rapports des sessions de test) ainsi que la notion de tests non fonctionnels.
Pour finir, comme il est souvent nécessaire d'adapter l'organisation complète d'une équipe pour faciliter le test agile, un chapitre montre quels sont les facteurs qui permettent une amélioration plus profonde du test au travers de l'organisation autour du projet.
Quizinclus dans
la version en ligne !
- Testez vos connaissances à l'issue de chaque chapitre
- Validez vos acquis
Table des matières
Avant-propos
- 1. Une transformation digitale
- 2. Pourquoi ce livre ?
- 3. À qui est destiné ce livre ?
- 3.1 Cas n°1 - C’était mieux avant !
- 3.2 Cas n°2 - Comment puis-je améliorer mon agilité dans mes tests ?
- 3.3 Cas n°3 - Mon équipe veut passer au DevOps, quels sont mes besoins de tests ?
- 3.4 Cas n°4 - Je suis dans une équipe agile en « Fast IT » et tout le monde code et teste
- 4. Comment lire ce livre ?
- 5. Qui suis-je ?
Quelques rappels
- 1. Introduction
- 2. Les 4 valeurs de l’agile - Rappel du Manifeste Agile
- 3. Les 7 principes du test - Rappel ISTQB
- 3.1 Les tests montrent la présence de défauts
- 3.2 Les tests exhaustifs sont impossibles
- 3.3 Tester tôt
- 3.4 Regroupement des défauts
- 3.5 Paradoxe du pesticide
- 3.6 Les tests dépendent du contexte
- 3.7 Illusion de l’absence de défaut
- 4. Techniques de test de base
- 4.1 Partitionnement de classes d’équivalences et valeurs limites
- 4.2 Heuristique CORRECT
- 4.3 Table de décision
- 4.3.1 Approche analytique
- 4.3.2 Heuristique - Test n-wise
- 4.4 Transitions d’états
- 5.1 Projet à l’échelle d’une seule équipe SCRUM
- 5.1.1 Scrum en quelques lignes
- 5.1.2 Sprint Refinement Meeting (grooming)
- 5.1.3 Sprint planning
- 5.1.4 Daily Scrum Meeting
- 5.1.5 Sprint Review
- 5.1.6 Rétrospective
- 5.1.7 Réflexions sur les rétrospectives
- 5.2.1 Cas de frameworks agiles existants
- 5.2.2 Point de vue du modèle SAFe
- 5.2.3 Point de vue du modèle Spotify
- 5.2.4 Point de vue Less
- 5.2.5 Point de vue DAD - « Disciplined Agile Delivery »
- 5.2.6 Point de vue Scrum@Scale - S@S
L’état d’esprit
- 1. Introduction - Exemple de l’industrie du textile
- 1.1 Contrôle des ballots
- 1.2 Contrôle pendant le tissage
- 1.3 Amélioration du procédé de tissage
- 1.4 Le test agile
- 2. État d’esprit Lean
- 2.1 Le Lean, les origines de l’agile
- 2.2 Quelques pratiques Lean utiles au test
- 2.2.1 Kanban
- 2.2.2 Juste à Temps - « Just in time »
- 2.2.3 5S
- 2.2.4 Intégrer la qualité dès la conception
- 2.2.5 Le First Pass Yield : faire bon du 1er coup !
- 2.2.6 Analyse de cause racine
- 2.2.7 Petits stocks, régularité des flux
- 2.3 Manifeste du test agile
- 2.3.1 Tester pendant le sprint
- 2.3.2 Prévenir les bugs
- 2.3.3 Comprendre ce que l’on doit tester
- 2.3.4 Concevoir un meilleur système
- 2.3.5 L’équipe est responsable de la qualité du produit
Versant métier
- 1. Introduction
- 2. Définition du Prêt (DoR)
- 3. Clarté d’une US
- 4. Test des US
- 4.1 Ingénierie des critères d’acceptation des US
- 4.1.1 Définition du Terminé (DoD)
- 4.1.2 BDD, Gherkin et ATDD
- 4.1 Ingénierie des critères d’acceptation des US
- 4.2 Préparation de la revue d’US ou d’Epic
- 4.3 Revue de définition des US
- 4.3.1 Affinement des US
- 4.3.2 Approche « Los Très Amigos »
- 4.3.3 Visite guidée
- 4.4 Revue de réalisation de l'US
- 6.1 Modèle MoSCoW
- 6.2 Diagramme de Kano
- 6.3 Priorisations complexes (Weighted Shortest Job First - WSJF)
- 7.1 Cas des exigences et spécifications
- 7.2 Cas des US
- 7.2.1 Le rôle de chacun
- 7.2.2 Le récit utilisateur
- 7.3.1 Les Features - les Fonctionnalités
- 7.3.2 Les Capabilities
- 7.3.3 Les Epics du Portfolio
Versant industriel du test
- 1. Introduction
- 2. Stratégie de test
- 2.1 Vision académique de la stratégie de test
- 2.2 Catégories d’approches
- 2.3 Tester tôt
- 2.4 Approche par le risque
- 2.4.1 Caractérisation du niveau de risque
- 2.4.2 Principe du Risk-Based Testing - RBT
- 2.4.3 Granularité
- 2.4.4 Niveau « données de tests »
- 2.4.5 Niveau « scénarios de tests »
- 2.4.6 Niveau « exigence de tests »
- 2.4.7 Niveau « campagnes de tests »
- 2.4.8 Exemple de gestion des campagnes de tests de régression
- 2.4.9 Périmètre vs Qualité et objectifs de test
- 2.5 Heuristique pour une stratégie de test
- 2.6 Context-Driven Testing (CDT) - Test Piloté par le Contexte
- 2.6.1 Valeur d’une pratique dépendante du contexte
- 2.6.2 Les Best Practices
- 2.6.3 Les gens qui travaillent ensemble
- 2.6.4 Prédictibilité des projets
- 2.6.5 Résolution du problème
- 2.6.6 Le challenge intellectuel
- 2.6.7 Esprit critique
- 3.1 Organisation des tests scénarisés
- 3.2 Ingénierie des Tests systèmes/bout-en-bout
- 3.3 Campagne de test
- 3.3.1 Planification
- 3.3.2 Monitoring et Contrôle
- 3.3.3 Clôture
- 3.4.1 Smoke tests
- 3.4.2 Campagnes prédéfinies par le risque
- 3.4.3 Campagnes prédéfinies par thème
- 3.4.4 Check-list
- 4.1 Préparation des tests exploratoires
- 4.1.1 La charte
- 4.1.2 La zone de recherche
- 4.1.3 L’état d’esprit - Technique de la Persona
- 4.1.4 Les moyens d’une session de TE
- 4.1.5 Session de TE avec Intervenants Externes
- 5.1 Préparation de la recette
- 5.2 Cas des certifications et des tests réglementaires
- 6.1 Loi de Pareto
- 6.2 Taxonomie des erreurs
- 6.2.1 Quelques chiffres de l’industrie
- 6.2.2 Bugs ou parasites ?
- 6.2.3 Quels types de bugs ?
- 6.3.1 Mesurer la dette
- 6.3.2 Attitudes face à la dette
- 8.1 Généralités
- 8.2 Contenu d’un rapport
- 9.1 Clonage des données de production
- 9.2 Gestion des données de test
- 9.2.1 Génération des données
- 9.2.2 Optimisation des tests par les valeurs
- 9.2.3 Génération aléatoire des valeurs nominales
- 9.2.4 Approche combinatoire aléatoire
- 9.2.5 Generative Adversarial Network - GAN
- 9.2.6 Minimisation des données
- 9.2.7 Anonymisation des données
- 9.2.8 Cas des données sujettes à la péremption
- 9.2.9 Dictionnaire de données
- 9.2.10 Isolation des données
- 9.2.11 Synthèse
Tests non fonctionnels
- 1. Introduction
- 2. Tests de sécurité
- 2.1 Généralités sur les tests de sécurité
- 2.2 Orientations en termes de sécurité
- 2.3 Principes
- 2.3.1 Séparation
- 2.3.2 Contrôle
- 2.3.3 Étapes pour définir un test de sécurité
- 2.3.4 Technique de tests pour les OpSec
- 2.3.5 Types d’anomalies
- 2.3.6 Activités à contrôler
- 2.4 Organisation des tests de sécurité
- 2.4.1 Modèle par jalons
- 2.4.2 Correspondance entre sécurité et activités compatibles agile
- 2.4.3 Vision SEAP
- 2.4.4 Approche par le risque
- 2.4.5 Modèle Microsoft SDL
- 2.4.6 Modèle PASTA
- 2.4.7 Vision Coveros
- 2.4.8 Security Cards
- 2.5 Quelques techniques de tests
- 2.5.1 Analyse de sécurité pour les exigences
- 2.5.2 Analyse de failles de sécurité sur le design et le code
- 2.5.3 Tests de pénétration
- 2.5.4 Détection d’intrusion
- 2.5.5 Intégration de la sécurité dans une approche DevOps
- 2.5.6 Analyse de patch & applications sur la production
- 3.1 Le test du Magicien d’Oz
- 3.2 L’Experience Map
- 3.3 Retours des utilisateurs en production
- 3.4 Accessibilité
- 3.4.1 Intérêt de l’accessibilité
- 3.4.2 Comprendre les recommandations
- 3.4.3 Certification et pénalités
- 5.1 Généralités sur les Migrations
- 5.2 Migrations impliquant la reprise des données
- 5.2.1 Classification des données
- 5.2.2 Migration de type Big Bang
- 5.2.3 Migration au fil de l’eau
- 5.2.4 Outillage de la migration
- 6.1 Facteurs de défaillance
- 6.1.1 L’Information
- 6.1.2 La disponibilité
- 6.1.3 La compensation
- 6.1.4 La stabilisation
- 6.2.1 N+1
- 6.2.2 Fail fast
- 6.2.3 Paxos
- 6.2.4 Raft
- 6.3.1 Définition des tests de reprise de fonctionnement
- 6.3.2 Préparation des tests de reprise de fonctionnement
- 6.3.3 Exécution des tests de reprise de fonctionnement
- 8.1 Périmètre
- 8.2 La vérification
Versant technique du test
- 1. Introduction
- 2. Test de conception et de code
- 2.1 Préparation des tests pour la conception et le code
- 2.1.1 Responsabilité collective
- 2.1.2 Préparation de la revue de conception et de code
- 2.1.3 Tests Unitaires
- 2.1.4 Pair programming
- 2.1 Préparation des tests pour la conception et le code
- 2.2 Revue de conception et de code
- 2.2.1 Inspection
- 2.2.2 Méthode B
- 2.3 Software Craftsmanship
- 3.1 Approche Big Bang
- 3.2 Approche Top-down
- 3.3 Approche Bottom-up
- 3.4 Approche Sandwich
- 3.5 Autres approches
- 3.5.1 Intégration par Collaboration
- 3.5.2 Intégration au Backbone
- 3.5.3 Intégration à fréquence élevée
- 3.5.4 Intégration de Services Distribués
- 3.5.5 Intégration Continue
- 4.1 Difficultés d’automatisation des tests
- 4.2 Plateformes techniques de test
- 4.2.1 Application web
- 4.2.2 Automatisation des tests pour applications web
- 4.2.3 Automatisation des tests pour navigateurs graphiques pour ordinateur personnel
- 4.2.4 Automatisation des tests pour navigateurs textuels
- 4.2.5 Application mobile
- 4.2.6 Des plateformes au secours du problème de portabilité
- 4.2.7 Application native pour ordinateur personnel
- 4.4.1 Automatisation des tests de composants
- 4.4.2 Automatisation des tests d’intégration
- 4.4.3 Automatisation des tests fonctionnels
- 4.4.4 Compétences de programmation
- 4.4.5 Approche par mots-clés
- 4.4.6 Model-Based Testing - MBT
- 4.4.7 Priorisation pour l’automatisation
- 4.4.8 Qui automatise ?
- 4.6.1 Concept de Jidoka
- 4.6.2 Insensibilité aux bruits - Objectif du script
- 4.6.3 Les Faux-Positifs
- 4.7.1 Design pattern Page Object
- 4.7.2 Objets métier
- 4.7.3 Design pattern ScreenPlay
- 4.7.4 Framework des tests automatiques
- 4.8.1 Exécution en aveugle
- 4.8.2 Reporting d’exécution
- 5.1 Alpha Testing et Beta Testing
- 5.2 Projet DevOps
- 5.2.1 Culture et généralités
- 5.2.2 Processus d’Intégration Continue (PIC)
- 5.2.3 Observabilité
- 5.2.4 Patterns & antipatterns organisationnels
- 5.2.5 Feature Flipping
- 5.2.6 Notion de Conteneur
- 5.2.7 Stratégie Shift Right
- 5.2.8 Outils
Facteurs de succès
- 1. Introduction
- 2. Le Contexte organisationnel
- 2.1 Le Management 3.0
- 2.2 Holacratie
- 2.3 Et quoi d’autre ?
- 3. Vue globalo-locale
- 3.1 Point de vue de la régression
- 3.2 Lien entre les anomalies
- 3.3 Point de vue de l’humeur
- 3.4 En résumé
- 4. Culture générale
- 4.1 Gestion de la connaissance comme enjeux du test
- 4.2 Vouloir apprendre
- 4.3 Repérage de la connaissance
- 4.4 Actualisation de la connaissance
- 4.5 Préservation de la connaissance
- 4.5.1 La Solution Intent
- 4.5.2 La CMDB d’ITIL
- 4.5.3 Généralités sur les outils
- 4.6 Valorisation de la connaissance
- 4.6.1 Mise en avant d’un document
- 4.6.2 Mesure de la compétence acquise
- 4.7 Partage de la connaissance
- 4.7.1 Généralités sur la documentation
- 4.7.2 Modélisation Agile
- 4.7.3 État d’esprit du modélisateur Agile
- 4.7.4 La notion de « Ba - »
- 5.1 Ceux qui testent
- 5.1.1 Le Pragmatique
- 5.1.2 Le Joueur
- 5.1.3 Le Méthodique
- 5.1.4 L’Empirique
- 5.1.5 Le relationnel
- 5.1.6 Changement des mentalités
- 5.3.1 La confiance en une version
- 5.3.2 La confiance comme attribut du Leadership
- 5.4.1 L’intuition du Testeur
- 5.4.2 Biais de confirmation
- 5.4.3 Dissonance cognitive chez le Testeur
- 5.4.4 Effet de cadrage
- 5.4.5 Corrélation illusoire
- 5.4.6 Raisonnement fallacieux
- 5.4.7 Illusions cognitives
- 5.4.8 Identification de motifs à partir du vide
Annexes
- Bibliographie
- Index
Auteur
Christophe MOUSTIEREn savoir plus
Christophe MOUSTIER débute son voyage dans le monde du développement logiciel dans les années 1980 et transforme ensuite sa passion en une profession, d’abord comme développeur certifié Java puis comme chef de projet. Il commence à travailler avec les méthodes agiles dans une startup dès 2001 avec l’Extreme Programming et, depuis 2006, il s’intéresse plus particulièrement à la problématique du test et l'insertion de bonnes pratiques à l'échelle de l'entreprise. Aujourd’hui expert dans le domaine du test logiciel, il intervient dans de nombreuses entreprises pour les aider à changer leur vision du test et du rôle de chacun dans cette activité du développement logiciel.
Caractéristiques
- Niveau Initié à Confirmé
- Nombre de pages 651 pages
- Parution juin 2019
- Livre (broché) - 17 x 21 cm
- ISBN : 978-2-409-01943-2
- EAN : 9782409019432
- Ref. ENI : DPTESAGI
- Niveau Initié à Confirmé
- Parution juin 2019
- HTML
- ISBN : 978-2-409-01944-9
- EAN : 9782409019449
- Ref. ENI : LNDPTESAGI