"L'industrie du développement de logiciels a beaucoup progressé ces dernières années et a dû s'adapter aux innovations rapides dans un environnement agile impliquant la mise en place d’une démarche structurée et dynamique des activités entre le métier, TI et QA dans le cycle de vie du projet pour maîtriser les risques métiers, techniques, accroître l'efficacité de la qualification logicielle.
Dans notre conférence vous découvrirez où en est la place de la collaboration par un retour d'expérience: Les 3 amigos au coeur des activités. Le QA a réussi le virage du projet traditionnel au projet agile, quels sont les outils qui le permettront de réussir le virage vers l'IA. L’IA suffira-t-elle pour clarifier les user stories, obtenir une bonne couverture des requis par les essais et garantir une livraison de qualité par les essais automatisés ?"
Similaire à ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle faire face à l'IA? par Levio (Elizabeta Fourne et Natacha Woguia-Chomnou)
Similaire à ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle faire face à l'IA? par Levio (Elizabeta Fourne et Natacha Woguia-Chomnou) (20)
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle faire face à l'IA? par Levio (Elizabeta Fourne et Natacha Woguia-Chomnou)
1.
2. Qui sommes nous ?
ELIZABETA FOURNERET, PhD / SDET
QA PRACTICE CO-LEAD, Levio
Elizabeta est détentrice d’un doctorat en automatisation des tests.
Elle est passionnée par l’innovation en assurance qualité et les
nouvelles technologies et particulièrement par l’intelligence
artificielle (IA) pour les tests. Elle possède plus de 15 ans
d’expérience dans les tests fonctionnels et de sécurité pour les
systèmes informatiques ou embarqués et critiques, notamment
dans les domaines de la radio logicielle, des systèmes de contrôle
du trafic aérien, des systèmes d’acquisition de données, de
l’Internet des objets (IoT), et est intervenue dans le secteur bancaire
et celui des assurances.
NATACHA WOGUIA , Chef de projet
QA PRACTICE CO-LEAD, Levio
Natacha est membre de l’Ordre des ingénieurs de France.
Coordinatrice d’essais exceptionnelle, elle possède une
large expérience dans la mise en place et l’amélioration de la
qualité et est intervenue dans des entreprises évoluant dans
diverses industries. Elle détient un diplôme en gestion de
projet ainsi que les certifications Scrum Master, Product Owner,
ISTQB et ITIL.
Elle accompagne les équipes et les aide à améliorer les approches
de façon continue afin de faciliter l’industrialisation des tests au
sein des organisations. Cela contribue à décharger les ressources
de tâches redondantes à faible valeur humaine et libère leur temps
de travail de façon importante.
3. NOTRE SUJET
La QA a-t-elle
réussi à
prendre le
virage agile ?
Saura-t-elle
s’adapter à
l'IA ?
3
4. Table ronde entre experts en assurance qualité
Quels sont les défis humains qualité vs agilité ?
Comment chacun vit l’agilité dans son quotidien ?
Communication des
plannings
Communication
QA et DEV
LE STÉRÉOTYPE :
la QA c’est juste des
tests
LA RÉALITÉ :
c’est beaucoup plus
large que ça
Manque de partage de
responsabilités
Relations entre
DEV et QA
Processus
qualité vs testeur
QA à la fin du
processus
Changements de
spécifications :
adaptation rapide
nécessaire
Tester le maximum
(pas de diversification)
Test
physiques/mécaniques
Stabilité et
disponibilité des
environnements NPR
Manque de
documentation
normalisée
4
6. La qualité liée à
la gestion de
projet
La qualité liée au
produit
(ou au résultat)
réalisé dans le
cadre du projet
2 dimensions de
la qualité
La qualité
La qualité doit être
planifiée
Elle génère de la
satisfaction et des
économies
Il est préférable de
mobiliser des
ressources afin de
prévenir des problèmes
Elle a un coût
Principes de base de la
qualité
6
7. Coûts directs et indirects liés à la qualité
La qualité représente un coût significatif qui doit être mesuré et suivi avec attention.
Le responsable de la qualité recherche l'équilibre entre le déficit et l'excès de qualité.
Direct Indirect
Coût de la qualité Planification de la qualité
Contrôle de la qualité
Gestion de la qualité
Formation
Système de contrôle qualité
Coût de la non-qualité Retravail des produits,
composants ou processus
Déchets
Perte de réputation
Pertes d'affaires
Travaux de garantie
7
8. Assurance qualité - Quelques activités
Audit
• Activité au cours de laquelle la
pertinence et le respect des
procédures, instructions et normes
sont définies, et leur effet et
cohérence évalués.
Révision
• Correspond globalement à un
processus d'analyse et
d'évaluation planifié et structuré
de manière formelle, au cours
duquel les objets de livraison sont
présentés à un groupe d'experts.
• Ce groupe commente ou
approuve les objets de livraison
présentés.
Essais ou tests
• Analyse d'un produit à l'aide
d'outils manuels ou automatisés
pour établir le respect des
exigences spécifiées.
8
9. Quelques sont les normes relatives à la gestion de la qualité ?
Publiées par l'organisation internationale de normalisation (ISO)
ISO 9000:2005
•Systèmes de gestion de la qualité - Principes essentiels et
vocabulaires
ISO 9001:2015
•Systèmes de gestion de la qualité - exigences
ISO 9004:2000
•Systèmes de management de la qualité - lignes directrices pour
l'amélioration des performances
ISO 9126
•Modélisation des qualités d'un logiciel
ISO 25010
•Modélisation des qualités d'un logiciel (dernière version)
9
10. Les caractéristiques de la qualité du logiciel
selon la norme ISO/IEC 25010
Publication de 2011
Modèle de
qualité logiciel
Essais
fonctionnels
Exactitude
Complétude
Aptitude à
l'usage
Essais de
performance
Temps de
réponse
Utilisabilité des
ressources
Capacité
Essais de
compatibilité
Coexistence
Intéropérabilité
Essais
d'utilisabilité
Intelligibilité
Apprentissage
Opérabilité
Protection
contre les
erreurs
Ergonomie
Accessibilité
Essais de
fiabilité
Maturité
Disponibilité
Robustesse
Récupérabilité
Essais de
sécurité
Confidentialité
Intégrité
Rejet (non-
rejet)
Responsabilité
Authenticité
Essais de
maintenabilité
Modularité
Réutilisabilité
Analysibilité
Modifiabilité
Testabilité
Essais de
portabilité
Adaptabilité
Instabilité
Remplacabilité
10
11. Types de rôles collaboratifs en agilité
dans le contexte de l'assurance qualité
3 amigos
Expert métier
QA
Développeur
Expert métier : Définit les besoins
métier (spécifications, exigences
fonctionnelles, processus métier, cas
d'utilisation), visualise la base des essais
et la couverture associée.
Développeur : Implémente les
éléments du carnet d'itération,
accède au suivi des anomalies
et informations reliées.
QA : Produit les plans de qualifications des
essais, exécute les essais, analyse et
effectue le suivi des anomalies, met en
œuvre les essais manuels ou automatisés,
communique sur les métriques obtenues.
11
12. Exemple de Modèle de cycle de développement logiciel
Dans le cadre d'un sprint
Analyse
des
besoins
Conception
de haut
niveau
Conception
détaillée
Développement Essais Déploiement
Carnet
de produit
24h
Meeting
quotidien
Incrément « terminé » et
livrable du produit
Le modèle collaboratif vise à :
• Partager et consulter le
carnet de produit avec toute
l'équipe
• Clarifier les éléments de
l'itération avant le démarrage
du sprint
• Collaborer durant le sprint de
façon itérative et
incrémentale
4 sem
Carnet
d'itération
Itération
12
13. Maîtriser le
risque métier
et technique
Plan maître des
tests (projet)
Définition de
« terminé »
Schéma illustrant l'assurance qualité totalement
intégrée au développement produit
Spécifications
Processus métier
Carnet produit
Stratégie
générique des
essais
Wiki
collaboratif
Création de
la valeur
Plan de test
Itération 1
Plan de test
Itération 2
Plan de test
Itération N
Incrément 1
Incrément 2
13
14. Exemple de processus rattaché à une livraison
Lors d’un sprint
Planification et
contrôle
Analyse et
conception
Implémentation
et exécution
Évaluation et
reporting
Clôture
➢ Planification et contrôle
• Élaborer le plan de qualification
• Identifier les parties prenantes
➢ Analyse et conception
• Choisir et prioriser les groupes d’essais
➢ Mise en place
• Préparer les environnements
• Préparer les essais et jeux de données
➢ Exécution
• Exécuter les essais
• Saisir et analyser les anomalies
➢ Evaluation et reporting
• Évaluer les résultats
• Communiquer les résultats
➢ Clôture
• Archiver ou MAJ
Maintenance
14
15. Retour expérience
Mise en place du modèle collaboratif
• L'intervention d'un modèle collaboratif au niveau UAT
La QA dans un projet agile
• Visual ATDD
• Les 3 Amigos
La QA dans un projet SAFe
15
16. Le modèle collaboratif agile - sprint
Le modèle collaboratif lors d'un sprint vise à un savoir-faire et un savoir-être.
Savoir-faire:
Partager et consulter le carnet de produit avec toute l'équipe
Clarifier les éléments de l'itération avant le démarrage du sprint (ex. rencontres collaboratives, 3 amigos, etc. )
Collaborer durant le sprint de façon itérative et incrémentale
Savoir-être:
Accueillir positivement les changements
Fournir des rétroactions constructives entre les membres de l'équipe (apprécier les bons coups, dénoncer ce qui doit être changé,
amélioré ou abandonné)
Ajuster la façon de travailler au sein de l'équipe à la suite des remarques lors des ateliers de rétrospective
16
17. Retour expérience
Mise en place du modèle collaboratif
• L'intervention d'un modèle collaboratif au niveau UAT
La QA dans un projet agile
• Visual ATDD
• Les 3 Amigos
La QA dans un projet SAFe
17
18. SHIFT LEFT – SAFe
Définition Conception Test Déploiement Livraison
• Améliorer la satisfaction des clients
• Améliorer la livraison et la prévisibilité des releases
• Améliorer la performance du système
• Améliorer la capacité d’innovation, d’évolution et de réponses aux nouvelles exigences
(ex. règlementaires)
18
19. SHIFT LEFT – SAFe + Visual ATDD
• Se concentrer sur la valeur délivrée et les exigences métier
• Définir la valeur attendue des résultats des activités de test
• Commencer l’automatisation des tests très tôt, dès que les exigences ou les stories sont créées
• Investir dans nos connaissances, car nous connaissons notre domaine
ATDD
Définition Conception Test Déploiement Livraison
19
20. Retour d’expérience – Améliorations
• Connaissance métier et documentation QA
volatile
• Collaboration inter et intra-équipe/squads
• Architectes
• DevOps
• Équipes frontend / backend
• Gouvernance et coordination des tests inter et
intra-équipes
• La pyramide des tests de la solution / service
rendu
• Accélérer l’automatisation des tests
• Fuite de défauts en production
• Maitrise du budget QA
Planification et
contrôle
Analyse et
conception
Implémentation
et exécution
Évaluation et
reporting
Clôture
20
21. Retour d’expérience – Observations
• LE TEST AUTOMATISÉ NE REMPLACE PAS LE
TEST MANUEL
• L'approche proposée est itérative et incrémentale,
particulièrement favorable pour les projets agiles.
Néanmoins, elle peut très bien s'appliquer au projets
classiques, type Waterfall.
• L’idéal est de pouvoir automatiser tous les processus,
mais bien sûr on se doit d’analyser le besoin et
proposer une approche adaptée à son projet et ses
moyens.
• Réalisation de l’objectif in-sprint testing & high
quality :
• Une forte automatisation de l'ensemble du processus
Le favorisation porte surtout sur la collaboration entre
le testeur manuel et l'automaticien de test
Planification et
contrôle
Analyse et
conception
Implémentation
et exécution
Évaluation et
reporting
Clôture
21
24. La QA saura-t-elle
s’adapter à l'IA ?
``L'IA est une simulation de l'intelligence humaine dans
des machines, des systèmes informatiques capables
d'effectuer des tâches qui requièrent normalement
l'intelligence humaine.``
25. L'exercice de Design thinking AI pour la QA
Quels problèmes nous avons à résoudre ?
L'amélioration de
couverture des tests
de non-régression
Le test front-end
La réparation des tests
front-end (exemple:
les sélecteurs)
Nettoyage des tests
obsolètes
Nettoyage des scripts
Réduire l'effort de test
manuel
Réduire les défauts en
production
Travail en double due
au fait que multiples
équipes travaillent
dans le projet (perte
de temps durant le
sprint)
Les outils de CI/CD
sont sous-performant
Complexité des suites
de non-régression (en
dehors de son propre
équipe)
Des tests de
performance tardifs
impactent les
livraisons
Des suites de tests
automatisées non-
standardisées (perte
de temps durant le
sprint)
25
26. L’intelligence artificielle et la pyramide de tests
État de l’art
IA / QA-
SOA
• Les meilleurs
pratiques
courantes
• Solutions
industrielles
Méthologie et approche
• Amélioration incrémentale des
meilleures pratiques en
automatisation des tests (avec l’IA)
Critères de
succès
- Preuve de
valeur (real-life)
- Détermination
des KPIs
Industrialisation
- Scalabilité
- Communication
et dissémination
UAT
E2E
Test d’Intégration
Test des composants
Test unitaire
26
27. Assistance de l’IA pour la QA
1. Capturer et miser sur la
connaissance métier
2. Automatisation des tests pour les
nouveaux projets
3. Accélérer l’automatisation des
projets existants
27
28. L’application de l’IA pour la QA
• Capturer la connaissance métier
• Génération de code
• Assistants au changement (règles métier, code, etc.)
• Amélioration de la couverture des tests
28
29. Utilisation de l’IA générative pour la conception
des tests
3 Amigos
Données
textuelles
Spécifications
techniques
Extraction
Préparation
Requête augmentée et
contextualisée
Requête
utilisateur
Réponses du modèle
avec explications
30. DÉMO
22/11/23 - À partir du document « Offrir un covoiturage - Publier
Annuler une offre.docx »
Prompt : Je voudrais que tu me proposes des cas de test pour
le document de spécification joint. Ces cas de test doivent
être rédigés en français, et couvrir les différents critères
d’acceptance de la user story indiquée dans le document.
Pour chaque cas de test, il faut définir un nom du cas de test,
une courte description, et la séquence de pas de test avec les
résultats attendus pour chaque pas de test.
30
31. Génération des cas de tests fonctionnels 1/2
ChaptGPT : Le document « Offrir un covoiturage – Publier/annuler une
offre » décrit une user story concernant la publication ou l'annulation
d'une offre de covoiturage. Voici des cas de test proposés pour couvrir
les critères d'acceptance de cette user story :
1. **Cas de test : Publication d'une offre**
**Description** : Vérifier que l'utilisateur peut publier une offre de
covoiturage.
**Étapes** :
1. L'utilisateur ouvre le formulaire de création d'offre.
2. L'utilisateur saisit toutes les informations requises.
3. L'utilisateur clique sur le bouton « Publier ».
**Résultats attendus**:
• À l'étape 2, le formulaire accepte et valide les informations saisies.
• À l'étape 3, un message de confirmation apparaît, demandant si
l'utilisateur souhaite publier l'offre. Si l'utilisateur confirme, l'offre est
publiée et visible pour les passagers.
2. **Cas de test : Annulation d'une offre en cours de création**
**Description** : Vérifier que l'utilisateur peut annuler la
création d'une offre de covoiturage avant sa publication.
**Étapes** :
1. L'utilisateur commence à remplir le formulaire de création
d'offre.
2. L'utilisateur clique sur le bouton « Annuler ».
**Résultats attendus**:
• À l'étape 2, un message de confirmation apparaît, demandant
si l'utilisateur souhaite annuler la création de l'offre. Si
l'utilisateur confirme, l'action annule la création de l'offre et
réinitialise le formulaire.
31
32. Génération de cas de tests fonctionnels 2/2
3. **Cas de test : Validation des champs obligatoires pour la publication**
**Description** : S'assurer que l'utilisateur ne peut pas publier une offre sans
remplir tous les champs obligatoires.
**Étapes** :
1. L'utilisateur ouvre le formulaire de création d'offre.
2. L'utilisateur remplit seulement certains champs obligatoires.
3. L'utilisateur tente de cliquer sur le bouton « Publier ».
**Résultats attendus**:
• À l'étape 3, le bouton « Publier » reste grisé ou inactif tant que tous les champs
obligatoires ne sont pas remplis.
4. **Cas de Test: Annulation d'une offre après confirmation**
**Description**: Vérifier le processus d'annulation après que
l'utilisateur a initialement choisi de publier une offre.
**Étapes**:
1. L'utilisateur remplit et soumet le formulaire pour publier
une offre.
2. Sur lo pop up de confirmation, l'utilisateur choisit « Non ».
**Résultats attendus**:
• À l'étape 2, le pop up se ferme et l'utilisateur est redirigé
vers le formulaire avec les données précédemment saisies
toujours présentes.
Ces cas de test couvrent les différents scénarios d'utilisation
de la fonctionnalité de publication et d'annulation d'une offre
de covoiturage, en accord avec les critères d'acceptance
mentionnés dans le document.
32
33. Génération de l’ATDD Visuel
Prompt : En reprenant les cas de test que tu as proposés, peux-tu générer un diagramme de workflow général qui donne une
vision graphique de ces cas de tests?
ChatGPT :
33
34. Génération de l’ATDD visuel
Prompt : Peux-tu générer ce diagramme sous forme
de code interprétable par Mermaid.js ?
ChatGPT : Bien sûr, je vais convertir le diagramme de workflow pour les cas de test de la
fonctionnalité « Offrir un covoiturage » en code interprétable par Mermaid.js.
Voici le code :
graph TD
A[Début] --> B[Ouvrir Formulaire de Création]
B --> C[Remplir Formulaire]
C --> D[Cliquer sur Publier]
D --> E[Confirmation de Publication]
E -->|Oui| F[Offre Publiée]
E -->|Non| M[Retour au Formulaire]
C --> G[Cliquer sur Annuler]
G --> H[Confirmation d'Annulation]
H -->|Oui| I[Annulation Réussie]
H -->|Non| B
C --> J[Validation Champs Obligatoires]
J --> K[Champs Manquants]
K --> B
C --> L[Choisir 'Non' sur Confirmation]
L --> M
M --> B
Ce code Mermaid.js décrit le workflow des différents
cas de test pour la fonctionnalité de publication et
d'annulation d'une offre de covoiturage, en suivant le
chemin logique des actions et des décisions prises
par l'utilisateur. Vous pouvez utiliser ce code dans un
environnement compatible avec Mermaid.js pour
visualiser graphiquement le workflow.
34
36. COLLABORATION et 3 AMIGOS
Les modèles collaboratifs ont
démontré leur efficacité dans
les projets agiles pour garantir
une livraison de valeur et de
qualité
QUALITÉ RHYME AVEC AGILITÉ
La qualité suit le rythme de
l’agilité, néanmoins le
processus classique doit
évoluer au sein des
organisations pour attendre les
objectifs
L’IA GÉNÉRATIVE POUR LA QA,
ATTENTION À L’INFORMATION SENSIBLE
L’IA générative est un outil extraordinaire
pour accélérer la production des tests,
mais il faut être vigilant avec les modèles
publics. Dans les prompts il faut partager
que l’information non confidentielle.
L’EXPERT QUALITÉ DOIT
MAITRISER l’IA
L’expert en qualité doit maitriser
la technologie à base d’IA, au
lieu de faire confiance
aveuglement.
Points clés à retenir
AGILITÉ
36
37.
38. Remerciements particuliers
Pour leur collaboration
• Hachem Gaas
• Frank Vaccaro
• Elie Bou-Assi
• Neem Baha
• Bruno Legeard
• Julie Humbert
• Jacques Etihel-Nyobe
• Sadia Aftis
• Araceli Guiterez
• Jean-Nicolas Boulay-Desjardins
• Mohammed Ben-Kahla
• Yassine Driba
• Assiou Tchilabalo
• Djava-Christian-Marie Kakou
• Kossivi Agbongo
• Alphonse Ebale-Nnemete