SlideShare a Scribd company logo
1 of 49
Download to read offline
L’Intelligence Artificielle
appliquée aux tests logiciel
Julien Van Quackebeke - All4Test
Meetup du 6 Fevrier 2019
Sommaire
A - Qu’est-ce que l’Intelligence Artificielle? Le Deep Learning?
B - Pourquoi faire appel à l’IA dans le test? Les Enjeux
C – Pour quel type de test ?
D - Les outils actuels
E – Prospective
F- Un exemple d’application avec Smartesting
Intervenant Meetup
● Julien Van Quackebeke / CEO d’ALL4TEST
● ALL4TEST est un pure payer du test logiciel depuis 2006, présent sur Paris,
Sophia-Antipolis et Tunis. 50 personnes, 30 % de croissance /an.
Consulting, formation, Veille techno, AT, TRA.
● Commission test et qualité de Telecom valley, Meetup : Software tester club
(sophia), speaker JFTL, organisateur de la SOIREE DU TEST à Sophia-Antipolis.
●Nombreux articles et video sur le test https://www.all4test.fr/dossiers-
thematiques/
IA c’est quoi ?
Quelques précisions…
●Le terme “intelligence” n’a pas la même signification en Anglais et en
Français.
●En anglais la traduction exacte serait plus le savoir / la connaissance que
l’intelligence qui elle sous entend généralement la notion de conscience…ce
qui n’est pas de cas des robots ou IA …à ce jour .
● Lorsqu’on parle d’IA on parle souvent de capacité d’une machine à
apprendre par elle-même via des exemples et un nombres important de
données de références, à communiquer avec l’humain de manière
« naturelle » sans suivre un programme déterministe, sous la forme d’un
conversation (ex ChatBoot, reconnaissance d’images, traductions..) .
A - L’intelligence artificielle
Concept ambivalent - galvaudé? - qui
englobe plusieurs notions. Evoqué par
Alan Turing en 1950 ⇒ test de Turing.
Machine Learning (apprentissage
automatique en français): “Faire agir un
ordinateur d’une certaine façon sans le
programmer” (Arthur Samuel)
Programmation classique:
Données
Programme
Machine Résultats
Machine learning:
Données
ProgrammeMachine
Résultats
A – Deep learning - Apprentissage profond
A - L’intelligence artificielle - Apprentissage supervisé
Valeurs de sortie.
Applications:
❏Reconnaissance
vocale
❏OCR
❏Reconnaissance
images / formes
❏Détection du Spam
A - L’intelligence artificielle - Apprentissage non-supervisé
Pas de valeurs de sortie.
Applications:
❏Clustering /
Regroupement
❏Détection
anomalies
A - L’intelligence artificielle - GAN
“La meilleure idée dans l’intelligence artificielle des 10 dernières années”
Yann LeCun
B – Les enjeux : pourquoi de l’IA dans le test ?
* Aider les testeurs humains pour réaliser une partie de leur taches
actuelles
* Anticiper les risques (prédictions), pour optimiser l’effort de test
• Optimiser l’automatisation des tests, automatiser la maintenance,
Proposer / générer des jeux de données de test
• Refacter / mettre à jour des anciennes campagne de test devenus
obsolètes de manière semi-automatique.
* Apporter une nouvelle approche / métier du test (sans scenarii de test)
C - Type de test concernés / outils / Synthése
Recherche des anomalies
Analyse prédictive des risques
❏ Prédiction de défauts via l’analyse de log et l’évolution du code
❏ Adaptation de l’effort de test
Rétro modélisation de modèle, détection des fréquences d’usage
Génération de jeux de données de tests pertinents
❏ Amélioration de la qualité et de la volumétrie des jeux de
données
Maintenance des tests automatiques (UI)
Identification d’anomalies d’affichage / modele
Optimisation des tests de non-régression / choix des enchainements
C - Prédiction des défauts
Machine Learning Modèle prédictif
v1
vn
.
.
.
Releases et défauts précédents
vn+1
Nouvelle release
Défauts probables
Vectorisation des données d’entrées:
❏ Complexité du code
❏ Lignes de code
Métrique d’Halstead
Nombre cyclomatique
❏ Nombre de dépendances
❏ Processus de développement
❏ Révisions du composant
❏ Nombre de refactoring
❏ Nombre de corrections/ ancienneté des corrections
❏ Nombre de lignes de code modifiées
C - Prédiction des défauts (suite)
Meilleurs prédicteurs
C - Rétro-modelisation
Génération automatique de modèle. Analyse des actions pertinentes
Start
Login Help About...
Product
search
...
To cart ...
Payment
L’IA peut affecter des probabilités qui
permettront de parcourir automatiquement
les branches les plus importantes de
l’application.
C - reconnaissance du GUI
Les intelligences artificielles relatives à la vision par ordinateur peuvent
permettre de reconnaître des éléments de’ l’interface graphique par leurs
caractéristiques.
Exemple (selenium):
C - Données d’entrées / jeux de données
Données d’entrées: problématique majeure du test.
Espace très grand: création et sélection de tests pertinent par le testeur
Cas d’espèce du GAN:
❏Génération des données d’entrées (jeux de données de test)
❏Classification des données d’entrées pertinentes
C - Optimisation des tests de régression
C- Critère d’optimisation des TNR
●Test diminuant le tps d’exécution
●• Reduction du nombre de cas de test pour atteindre un objectif de test
●• Test permettant une couverture compléte
●• Test lié à des changement de code recents
●• Tests dépendant d’exigences avec un risqué élévé
C – A la frontière de l’IA
Automatisation des tests de non-régression. Utilisation des releases
précédentes comme oracles de test.
Recherche des données d’entrées => maximisation de la couverture du code /
des fonctionnalités (evosuite, test unitaires)
Analyse statique
Robots de test
C – Stress test automatisé
- Génération aléatoire d’actions, de données d’entrée…
- Objectif : mettre le système dans un état bloqué, voir générer un crash
- Demande peu d’information de la part du testeur.
- Résultat facile à interpréter… mais plus long à traiter par la suite.
D- les Outils actuels / stress test
●Google Monkey
Intégré aux outils de DEV Android, gratuity – fuzz testing tool – random inputs
●Sapienz
open source, « search-based » testing tool : basé sur les techniques de recherche méta-heuristique
(algo génétique, recherche type tabu, optimisation combinatoire..). Permet d’optimiser des données
ou cas de test
Utilisé sur les 1,000 principales applications mobile Android, Sapienz a trouvé 558 bug non identifié
auparavant
● Dynodroid : – open source, – permet une approche combinée humain / outils
D - Outils: Functionize
Outil dans le cloud, basé sur une extension Chrome pour l’enregistrement des
tests.
Génération automatique des tests à partir des utilisateurs réels des websites
(module javascript)
Utilisation d’IA en Computer Vision pour détecter les anomalies d’affichages et
réparer l’identification des éléments de l’affichage.
Génération
de jeux de
données
Tests
unitaires
Tests
d’affichage
C - Functionize : positionnement
D - Outils: Appdiff
Outil Saas focalisé sur l’UI des applications Android (en
développement)
IA utilisée pour parcourir les branches de l’application (tests
exploratoires):
● Récupération de toutes les actions possibles sur un
affichage
● Classification par l’IA des actions les plus pertinentes
● Parcours aléatoire du modèle probabilisé selon la
classification faite par l’IA
Tests de non-régression sur l’affichage et tests de performance
de l’UI.
Tests de
régr.
Tests
d’affich.
Tests de
perf.
Tests
explo.
D - Outils: Infer
Infer est un outil d’analyse statique de code (java, objective C),
Utilisé par Facebook pour ses développements d’application mobile.
Cet outil est issu d’un rachat d’une entreprise spécialisée dans le
domaine par Facebook (Monoidics, en 2009, basée notamment sur la
logique de séparation).
Il permet notamment une détection automatique d’anomalies dans le
code dans une approche Devops.
Tests
unitaires
D - Outils: Infer
Analyse statique Java. Détection automatique des erreurs suivantes:
Prévention des
exceptions Null
Pointer Exception
Analyse des potentielles
fuites mémoire
Détection des Race
conditions
Tests
unitaires
D - Outils: EvoSuite
Algorithme génétique: génération des suites de tests unitaires Java
maximisant la couverture de code
Génération
de jeux de
données
Tests
unitaires
E - Perspectives, synthèse
Hier
tests manuels
Aujourd’hui
tests automatisés
Demain
tests robotisés
E - Vers des niveaux de tests plus élevés
Aujourd’hui:
- Tests de bas niveaux (unitaires)
- Aide au testeur
Demain:
- Tests d’intégration/système
grâce à la génération des données
d’entrées
Après-demain: tests d’acceptation?
- Graal : compréhension des exigences métiers (texte) et générations
automatiques des cas de test et données de test necessaire pour les valider.
Perspectives
D’une manière plus « macro » plusieurs hypothèses sont possibles :
- A/ Augmentation des capacités humaines, aide à la décision.
- B/ Progressivement l’autorité des humains passe aux Algorithmes,
l’humain devient de moins en moins utile dans le traitement des
données, dans les décisions. Cela peut arriver dans l’IT, mais surtout
dans d’autres métiers jugés peu impacté par les robots il n’y a pas si
longtemps :
- Des métiers comme chauffeurs de taxi, juristes, médecins sont
menacés par les robots et l’IA,
Perspectives
- Mais cela ouvre aussi la porte à de nouvelle génération d’ingénieurs et
donc de testeurs, capables de choisir les meilleurs algorithmes pour
résoudre des problématiques de plus en plus complexes, d’automatiser
des process, d’analyser les données suite à des exécutions automatiques.
- Ces technologies sont aussi applicables afin d’améliorer des process RPA
- c’est à nous de se préparer à ces évolutions…mais d’après le créateur de
Selenium, Jason Huggins, nous aurions facilement 10 à 15 ans avant que
ces IA soient opérationnelles
Video interview : https://goo.gl/7VW5Ev
Intelligence collective pour IA – Test ….
● A ce titre ALL4TEST, à commencé à travailler avec des éditeur comme
Smartesting sur le sujet. Nous aimerions collaborer également avec les labos
de recherche type INRIA et des « clients type » pour expérimenter ces
approches sur des problématiques projets. Projet CIR ?
● Partant ?
●Mail : julien@all4test.com
●Tel : 06 71 59 47 11
●www.all4test.fr
F - Exemple d’application en beta :
● Smartesting, partenaire ALL4TEST, présente un premier retour
d’expérience.
6 février 2019
Reprise et optimisation
des patrimoines de tests par l’IA
Michel Guez – Arnaud Bouzy
Company profile
• Smartesting est un éditeur de logiciel, connu mondialement
comme spécialiste du Model-Based Testing (MBT), une
technique de conception de test
• Les solutions de Model-Based Testing sont proposées au
marché depuis une 15zaine d’années, mais elle ne se sont pas
déployées dans l’IT
• En 2017, Smartesting lance Yest®, un nouvel outil de
conception visuelle des tests, qui revisite le concept MBT
pour faire de lui un « enabler » de l’agilité
L’équipe
L’équipe Smartesting à décembre 2018
Contexte
• Patrimoines de tests anciens constitués pour des applications
historiques (et critiques) et gérés dans un outil de Test Management
type HP-ALM – plusieurs milliers de tests
– Plusieurs générations de Test Managers et de testeurs se sont succédées 
hétérogénéité des tests
– Bonnes pratiques et discipline dans l’écriture et la gestion des tests ont fluctué au
cours du temps
• Ces applications historiques (et leur patrimoine de tests) continuent
d’évoluer
Obsolescence des tests
Cela se traduit par plusieurs types de problèmes sur les
cas de tests :
- Non mis à jour par rapport à l'évolution de l'application
- Rédigés par plusieurs personnes et manquant de cohérence
- Redondants
- Incomplets
- Trop détaillés
- Trop longs
Un test qui n’est pas exécuté est un test qui se dégrade
39
Obsolescence des tests
Source – Enquête CFTL 2019
83,5 % des répondants
à l’enquête CFTL 2019
indiquent avoir été
confronté à un
problème
d’obsolescence de
référentiels de tests
Un problème fréquemment rencontré par les équipes de test
40
Les cas d’usage
• Réversibilité & réappropriation :
– Prendre en main un référentiel de test
• Automatisation :
– Décider des tests à automatiser (TNR)
– Structurer les tests pour simplifier leur automatisation
• Réutilisation :
– Diminuer le travail de réécriture
– Faciliter la lecture et l’exécution des tests manuels par une plus
grande homogénéité
41
Résultats attendus de la reprise
• Corriger les tests
– C’est l’objectif premier : il faut garantir que l’ensemble des cas de test sont
alignés avec la version actuelle du système
• Simplifier les tests et supprimer les redondances
– L’ajout au fil de temps de nouveaux cas de test crée des redondances entre tests
– Des étapes de test peuvent aussi être factorisées en une seule de granularité
plus forte et d’autres étapes supprimées car inutiles dans la documentation des
tests
• Homogénéiser et paramétrer les tests
– Une même étape de test doit être décrite de façon identique, quel que soit le
cas de test
– Pour préparer l’automatisation, il est très utile de paramétrer les étapes de tests
pour diminuer le nombre de mots-clés à implémenter
42
Technologies IA
• Le clustering pour le regroupement des cas de test
– Calcul de distances (Levenstein, Euclidienne)
– Clustering hiérarchique
• L’analyse du langage naturel pour le refactoring des pas de test
– Intégré au prototype actuel : calcul de proximité syntaxique
– A l’étude pour la sémantique : Neural Word Embeddings et
Interactive Language Learning
43
Résultats
• 1er résultats expérimentaux sur 3 projets :
– Référentiels de 942, 302 et 42 cas de tests, et 13 325 pas de test
– Temps de reprise divisé par 3
• Validation de la technologie
– Février – Mars : réaliser 2 à 4 expérimentations supplémentaires
– Avril - Lancement du programme de Beta Testing en mode SaaS
44
Aperçu – regroupement des tests par
similarité
• Le résultat du clustering hiérarchique classiquement sous
forme d’arbres appelés dendogrammes
45
Aperçu – visualisation des workflows
• Les diagrammes résultants de groupes de scénarios sont
visualisés sous une forme proche de BPMN
Visualisation des étapes des tests
Visualisation en surbrillance de chaque test
 Diagramme mis à jour à la volée pour chaque action de refactoring
46
Aperçu – Refactoring des étapes de test
Modification d’une étape et
de tous ses usages
Unification d’étapes de
test proches (proposition
des steps proches)
• Suppression d’étapes de test
• Permutations d’étapes de test
• Insertion d’étapes de test
Paramétrisation
d’une étape de
test et de tous
ses usages
Ordonnancement des
propositions de refactoring selon
l’usage appris de l’utilisateur47
Next Step
• Nous avons déjà éprouvé notre produit (Beta) sur quelques
patrimoines de test (totalisant en 15000 pas de test)
– Accélération du temps de reprise et d’optimisation constatée : X3
• Dans les semaines à venir, nous allons poursuivre la mise au
point de nos librairies d’IA sur d’autres patrimoines
 Expérimentations avec la version Beta GRATUITE de notre
produit
Contacts
• Julien Botella
– Julien.botella@smartesting.com
– 06 81 13 15 41
• Arnaud Bouzy
– Arnaud.bouzy@smartesting.com
– 06 27 89 42 47
• Michel Guez
– michel.guez@smartesting.com
– 07 82 58 01 12

More Related Content

What's hot

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
 
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
 
Le rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testingLe rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testingGeeks Anonymes
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)LeClubQualiteLogicielle
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests FonctionnelsDATANYWARE.com
 
Offre Audit et Test De Performance
Offre Audit et Test De PerformanceOffre Audit et Test De Performance
Offre Audit et Test De PerformanceCabinet Openi
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des testsZhu Wei QI
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarElsassJUG
 
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
 
Qualité logicielle
Qualité logicielleQualité logicielle
Qualité logiciellecyrilgandon
 
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...TelecomValley
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logicielsSylvain Leroy
 
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009JUG Lausanne
 

What's hot (13)

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
 
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
 
Le rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testingLe rôle du testeur et le Blackbox testing
Le rôle du testeur et le Blackbox testing
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests Fonctionnels
 
Offre Audit et Test De Performance
Offre Audit et Test De PerformanceOffre Audit et Test De Performance
Offre Audit et Test De Performance
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des tests
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec Sonar
 
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
 
Qualité logicielle
Qualité logicielleQualité logicielle
Qualité logicielle
 
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
 
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
 

Similar to IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test

PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?Marc Bojoly
 
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VION
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VIONABTest : un outil indispensable pour être « data-driven » ? par Laurent VION
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VIONLa Cuisine du Web
 
Apprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerApprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerMajdi Hannachi
 
EXTRA-Présentation generale 180923.pptx
EXTRA-Présentation generale 180923.pptxEXTRA-Présentation generale 180923.pptx
EXTRA-Présentation generale 180923.pptxInfopole1
 
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 marsCdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 marsAgile Montréal
 
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?XP Day CH
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteePatrick MOREAU
 
Machine Learning, Intelligence Artificielle et Modélisation ARCHIMATE
Machine Learning, Intelligence Artificielle et Modélisation ARCHIMATEMachine Learning, Intelligence Artificielle et Modélisation ARCHIMATE
Machine Learning, Intelligence Artificielle et Modélisation ARCHIMATECOMPETENSIS
 
Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"Christophe Rochefolle
 
First step about IA and business
First step about IA and businessFirst step about IA and business
First step about IA and businessDavid Argellies
 
Catalogue Analyse Ritme
Catalogue Analyse Ritme  Catalogue Analyse Ritme
Catalogue Analyse Ritme Benoit Frachon
 
Les tests utilisateurs pour les petits budgets
Les tests utilisateurs pour les petits budgetsLes tests utilisateurs pour les petits budgets
Les tests utilisateurs pour les petits budgetsL_Demontiers
 
Data science et Ux design [MEET UP Palo IT / Le LAPTOP]
Data science et Ux design [MEET UP Palo IT / Le LAPTOP]Data science et Ux design [MEET UP Palo IT / Le LAPTOP]
Data science et Ux design [MEET UP Palo IT / Le LAPTOP]Nadège Bide
 
Toolbox du designer : Useberry
Toolbox du designer : UseberryToolbox du designer : Useberry
Toolbox du designer : UseberryLudivine Dobigny
 
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - Introduc...
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - Introduc...Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - Introduc...
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - Introduc...I MT
 
Euratech'trends : Machine Learning
Euratech'trends : Machine LearningEuratech'trends : Machine Learning
Euratech'trends : Machine LearningEuraTechnologies
 
Intelligence artificielle : du buzz à la réalité [webinaire]
Intelligence artificielle : du buzz à la réalité [webinaire] Intelligence artificielle : du buzz à la réalité [webinaire]
Intelligence artificielle : du buzz à la réalité [webinaire] Technologia Formation
 
Crash Test Your Idea Meetup Valtech 13/09/2016
Crash Test Your Idea Meetup Valtech 13/09/2016Crash Test Your Idea Meetup Valtech 13/09/2016
Crash Test Your Idea Meetup Valtech 13/09/2016André De Sousa
 

Similar to IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test (20)

PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?
 
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VION
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VIONABTest : un outil indispensable pour être « data-driven » ? par Laurent VION
ABTest : un outil indispensable pour être « data-driven » ? par Laurent VION
 
Apprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerApprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMiner
 
EXTRA-Présentation generale 180923.pptx
EXTRA-Présentation generale 180923.pptxEXTRA-Présentation generale 180923.pptx
EXTRA-Présentation generale 180923.pptx
 
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 marsCdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
 
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presentee
 
Machine Learning, Intelligence Artificielle et Modélisation ARCHIMATE
Machine Learning, Intelligence Artificielle et Modélisation ARCHIMATEMachine Learning, Intelligence Artificielle et Modélisation ARCHIMATE
Machine Learning, Intelligence Artificielle et Modélisation ARCHIMATE
 
Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"
 
First step about IA and business
First step about IA and businessFirst step about IA and business
First step about IA and business
 
Catalogue Analyse Ritme
Catalogue Analyse Ritme  Catalogue Analyse Ritme
Catalogue Analyse Ritme
 
Les tests utilisateurs pour les petits budgets
Les tests utilisateurs pour les petits budgetsLes tests utilisateurs pour les petits budgets
Les tests utilisateurs pour les petits budgets
 
Intro IA.pdf
Intro IA.pdfIntro IA.pdf
Intro IA.pdf
 
Data science et Ux design [MEET UP Palo IT / Le LAPTOP]
Data science et Ux design [MEET UP Palo IT / Le LAPTOP]Data science et Ux design [MEET UP Palo IT / Le LAPTOP]
Data science et Ux design [MEET UP Palo IT / Le LAPTOP]
 
Paris Chaos Engineering Meetup #5
Paris Chaos Engineering Meetup #5Paris Chaos Engineering Meetup #5
Paris Chaos Engineering Meetup #5
 
Toolbox du designer : Useberry
Toolbox du designer : UseberryToolbox du designer : Useberry
Toolbox du designer : Useberry
 
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - Introduc...
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - Introduc...Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - Introduc...
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - Introduc...
 
Euratech'trends : Machine Learning
Euratech'trends : Machine LearningEuratech'trends : Machine Learning
Euratech'trends : Machine Learning
 
Intelligence artificielle : du buzz à la réalité [webinaire]
Intelligence artificielle : du buzz à la réalité [webinaire] Intelligence artificielle : du buzz à la réalité [webinaire]
Intelligence artificielle : du buzz à la réalité [webinaire]
 
Crash Test Your Idea Meetup Valtech 13/09/2016
Crash Test Your Idea Meetup Valtech 13/09/2016Crash Test Your Idea Meetup Valtech 13/09/2016
Crash Test Your Idea Meetup Valtech 13/09/2016
 

Recently uploaded

BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsidelewebmestre
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvreidelewebmestre
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasidelewebmestre
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptbentaha1011
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleuridelewebmestre
 
Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en Franceidelewebmestre
 
Compersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileCompersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileMBouderbala
 
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueidelewebmestre
 
La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0ourssoula
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...idelewebmestre
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxdocteurgyneco1
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresidelewebmestre
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogneidelewebmestre
 
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLidelewebmestre
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...idelewebmestre
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsidelewebmestre
 
BOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinBOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinidelewebmestre
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...idelewebmestre
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsidelewebmestre
 

Recently uploaded (20)

BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminants
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
 
Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en France
 
Compersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huileCompersseur d'air a vis atlas copco avec huile
Compersseur d'air a vis atlas copco avec huile
 
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
 
La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptx
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitières
 
Agrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en DordogneAgrivoltaïsme et filière ovine en Dordogne
Agrivoltaïsme et filière ovine en Dordogne
 
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
 
BOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinBOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcin
 
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...BOW 2024 - 3-3 -  Adaptation des bâtiments pour ruminants au changement clima...
BOW 2024 - 3-3 - Adaptation des bâtiments pour ruminants au changement clima...
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
 

IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test

  • 1. L’Intelligence Artificielle appliquée aux tests logiciel Julien Van Quackebeke - All4Test Meetup du 6 Fevrier 2019
  • 2. Sommaire A - Qu’est-ce que l’Intelligence Artificielle? Le Deep Learning? B - Pourquoi faire appel à l’IA dans le test? Les Enjeux C – Pour quel type de test ? D - Les outils actuels E – Prospective F- Un exemple d’application avec Smartesting
  • 3. Intervenant Meetup ● Julien Van Quackebeke / CEO d’ALL4TEST ● ALL4TEST est un pure payer du test logiciel depuis 2006, présent sur Paris, Sophia-Antipolis et Tunis. 50 personnes, 30 % de croissance /an. Consulting, formation, Veille techno, AT, TRA. ● Commission test et qualité de Telecom valley, Meetup : Software tester club (sophia), speaker JFTL, organisateur de la SOIREE DU TEST à Sophia-Antipolis. ●Nombreux articles et video sur le test https://www.all4test.fr/dossiers- thematiques/
  • 5. Quelques précisions… ●Le terme “intelligence” n’a pas la même signification en Anglais et en Français. ●En anglais la traduction exacte serait plus le savoir / la connaissance que l’intelligence qui elle sous entend généralement la notion de conscience…ce qui n’est pas de cas des robots ou IA …à ce jour . ● Lorsqu’on parle d’IA on parle souvent de capacité d’une machine à apprendre par elle-même via des exemples et un nombres important de données de références, à communiquer avec l’humain de manière « naturelle » sans suivre un programme déterministe, sous la forme d’un conversation (ex ChatBoot, reconnaissance d’images, traductions..) .
  • 6. A - L’intelligence artificielle Concept ambivalent - galvaudé? - qui englobe plusieurs notions. Evoqué par Alan Turing en 1950 ⇒ test de Turing. Machine Learning (apprentissage automatique en français): “Faire agir un ordinateur d’une certaine façon sans le programmer” (Arthur Samuel) Programmation classique: Données Programme Machine Résultats Machine learning: Données ProgrammeMachine Résultats
  • 7. A – Deep learning - Apprentissage profond
  • 8. A - L’intelligence artificielle - Apprentissage supervisé Valeurs de sortie. Applications: ❏Reconnaissance vocale ❏OCR ❏Reconnaissance images / formes ❏Détection du Spam
  • 9. A - L’intelligence artificielle - Apprentissage non-supervisé Pas de valeurs de sortie. Applications: ❏Clustering / Regroupement ❏Détection anomalies
  • 10. A - L’intelligence artificielle - GAN “La meilleure idée dans l’intelligence artificielle des 10 dernières années” Yann LeCun
  • 11. B – Les enjeux : pourquoi de l’IA dans le test ? * Aider les testeurs humains pour réaliser une partie de leur taches actuelles * Anticiper les risques (prédictions), pour optimiser l’effort de test • Optimiser l’automatisation des tests, automatiser la maintenance, Proposer / générer des jeux de données de test • Refacter / mettre à jour des anciennes campagne de test devenus obsolètes de manière semi-automatique. * Apporter une nouvelle approche / métier du test (sans scenarii de test)
  • 12. C - Type de test concernés / outils / Synthése Recherche des anomalies Analyse prédictive des risques ❏ Prédiction de défauts via l’analyse de log et l’évolution du code ❏ Adaptation de l’effort de test Rétro modélisation de modèle, détection des fréquences d’usage Génération de jeux de données de tests pertinents ❏ Amélioration de la qualité et de la volumétrie des jeux de données Maintenance des tests automatiques (UI) Identification d’anomalies d’affichage / modele Optimisation des tests de non-régression / choix des enchainements
  • 13. C - Prédiction des défauts Machine Learning Modèle prédictif v1 vn . . . Releases et défauts précédents vn+1 Nouvelle release Défauts probables
  • 14. Vectorisation des données d’entrées: ❏ Complexité du code ❏ Lignes de code Métrique d’Halstead Nombre cyclomatique ❏ Nombre de dépendances ❏ Processus de développement ❏ Révisions du composant ❏ Nombre de refactoring ❏ Nombre de corrections/ ancienneté des corrections ❏ Nombre de lignes de code modifiées C - Prédiction des défauts (suite) Meilleurs prédicteurs
  • 15. C - Rétro-modelisation Génération automatique de modèle. Analyse des actions pertinentes Start Login Help About... Product search ... To cart ... Payment L’IA peut affecter des probabilités qui permettront de parcourir automatiquement les branches les plus importantes de l’application.
  • 16. C - reconnaissance du GUI Les intelligences artificielles relatives à la vision par ordinateur peuvent permettre de reconnaître des éléments de’ l’interface graphique par leurs caractéristiques. Exemple (selenium):
  • 17. C - Données d’entrées / jeux de données Données d’entrées: problématique majeure du test. Espace très grand: création et sélection de tests pertinent par le testeur Cas d’espèce du GAN: ❏Génération des données d’entrées (jeux de données de test) ❏Classification des données d’entrées pertinentes
  • 18. C - Optimisation des tests de régression
  • 19. C- Critère d’optimisation des TNR ●Test diminuant le tps d’exécution ●• Reduction du nombre de cas de test pour atteindre un objectif de test ●• Test permettant une couverture compléte ●• Test lié à des changement de code recents ●• Tests dépendant d’exigences avec un risqué élévé
  • 20. C – A la frontière de l’IA Automatisation des tests de non-régression. Utilisation des releases précédentes comme oracles de test. Recherche des données d’entrées => maximisation de la couverture du code / des fonctionnalités (evosuite, test unitaires) Analyse statique Robots de test
  • 21. C – Stress test automatisé - Génération aléatoire d’actions, de données d’entrée… - Objectif : mettre le système dans un état bloqué, voir générer un crash - Demande peu d’information de la part du testeur. - Résultat facile à interpréter… mais plus long à traiter par la suite.
  • 22. D- les Outils actuels / stress test ●Google Monkey Intégré aux outils de DEV Android, gratuity – fuzz testing tool – random inputs ●Sapienz open source, « search-based » testing tool : basé sur les techniques de recherche méta-heuristique (algo génétique, recherche type tabu, optimisation combinatoire..). Permet d’optimiser des données ou cas de test Utilisé sur les 1,000 principales applications mobile Android, Sapienz a trouvé 558 bug non identifié auparavant ● Dynodroid : – open source, – permet une approche combinée humain / outils
  • 23. D - Outils: Functionize Outil dans le cloud, basé sur une extension Chrome pour l’enregistrement des tests. Génération automatique des tests à partir des utilisateurs réels des websites (module javascript) Utilisation d’IA en Computer Vision pour détecter les anomalies d’affichages et réparer l’identification des éléments de l’affichage. Génération de jeux de données Tests unitaires Tests d’affichage
  • 24. C - Functionize : positionnement
  • 25. D - Outils: Appdiff Outil Saas focalisé sur l’UI des applications Android (en développement) IA utilisée pour parcourir les branches de l’application (tests exploratoires): ● Récupération de toutes les actions possibles sur un affichage ● Classification par l’IA des actions les plus pertinentes ● Parcours aléatoire du modèle probabilisé selon la classification faite par l’IA Tests de non-régression sur l’affichage et tests de performance de l’UI. Tests de régr. Tests d’affich. Tests de perf. Tests explo.
  • 26. D - Outils: Infer Infer est un outil d’analyse statique de code (java, objective C), Utilisé par Facebook pour ses développements d’application mobile. Cet outil est issu d’un rachat d’une entreprise spécialisée dans le domaine par Facebook (Monoidics, en 2009, basée notamment sur la logique de séparation). Il permet notamment une détection automatique d’anomalies dans le code dans une approche Devops. Tests unitaires
  • 27. D - Outils: Infer Analyse statique Java. Détection automatique des erreurs suivantes: Prévention des exceptions Null Pointer Exception Analyse des potentielles fuites mémoire Détection des Race conditions Tests unitaires
  • 28. D - Outils: EvoSuite Algorithme génétique: génération des suites de tests unitaires Java maximisant la couverture de code Génération de jeux de données Tests unitaires
  • 29. E - Perspectives, synthèse Hier tests manuels Aujourd’hui tests automatisés Demain tests robotisés
  • 30. E - Vers des niveaux de tests plus élevés Aujourd’hui: - Tests de bas niveaux (unitaires) - Aide au testeur Demain: - Tests d’intégration/système grâce à la génération des données d’entrées Après-demain: tests d’acceptation? - Graal : compréhension des exigences métiers (texte) et générations automatiques des cas de test et données de test necessaire pour les valider.
  • 31. Perspectives D’une manière plus « macro » plusieurs hypothèses sont possibles : - A/ Augmentation des capacités humaines, aide à la décision. - B/ Progressivement l’autorité des humains passe aux Algorithmes, l’humain devient de moins en moins utile dans le traitement des données, dans les décisions. Cela peut arriver dans l’IT, mais surtout dans d’autres métiers jugés peu impacté par les robots il n’y a pas si longtemps : - Des métiers comme chauffeurs de taxi, juristes, médecins sont menacés par les robots et l’IA,
  • 32. Perspectives - Mais cela ouvre aussi la porte à de nouvelle génération d’ingénieurs et donc de testeurs, capables de choisir les meilleurs algorithmes pour résoudre des problématiques de plus en plus complexes, d’automatiser des process, d’analyser les données suite à des exécutions automatiques. - Ces technologies sont aussi applicables afin d’améliorer des process RPA - c’est à nous de se préparer à ces évolutions…mais d’après le créateur de Selenium, Jason Huggins, nous aurions facilement 10 à 15 ans avant que ces IA soient opérationnelles Video interview : https://goo.gl/7VW5Ev
  • 33. Intelligence collective pour IA – Test …. ● A ce titre ALL4TEST, à commencé à travailler avec des éditeur comme Smartesting sur le sujet. Nous aimerions collaborer également avec les labos de recherche type INRIA et des « clients type » pour expérimenter ces approches sur des problématiques projets. Projet CIR ? ● Partant ? ●Mail : julien@all4test.com ●Tel : 06 71 59 47 11 ●www.all4test.fr
  • 34. F - Exemple d’application en beta : ● Smartesting, partenaire ALL4TEST, présente un premier retour d’expérience.
  • 35. 6 février 2019 Reprise et optimisation des patrimoines de tests par l’IA Michel Guez – Arnaud Bouzy
  • 36. Company profile • Smartesting est un éditeur de logiciel, connu mondialement comme spécialiste du Model-Based Testing (MBT), une technique de conception de test • Les solutions de Model-Based Testing sont proposées au marché depuis une 15zaine d’années, mais elle ne se sont pas déployées dans l’IT • En 2017, Smartesting lance Yest®, un nouvel outil de conception visuelle des tests, qui revisite le concept MBT pour faire de lui un « enabler » de l’agilité
  • 38. Contexte • Patrimoines de tests anciens constitués pour des applications historiques (et critiques) et gérés dans un outil de Test Management type HP-ALM – plusieurs milliers de tests – Plusieurs générations de Test Managers et de testeurs se sont succédées  hétérogénéité des tests – Bonnes pratiques et discipline dans l’écriture et la gestion des tests ont fluctué au cours du temps • Ces applications historiques (et leur patrimoine de tests) continuent d’évoluer
  • 39. Obsolescence des tests Cela se traduit par plusieurs types de problèmes sur les cas de tests : - Non mis à jour par rapport à l'évolution de l'application - Rédigés par plusieurs personnes et manquant de cohérence - Redondants - Incomplets - Trop détaillés - Trop longs Un test qui n’est pas exécuté est un test qui se dégrade 39
  • 40. Obsolescence des tests Source – Enquête CFTL 2019 83,5 % des répondants à l’enquête CFTL 2019 indiquent avoir été confronté à un problème d’obsolescence de référentiels de tests Un problème fréquemment rencontré par les équipes de test 40
  • 41. Les cas d’usage • Réversibilité & réappropriation : – Prendre en main un référentiel de test • Automatisation : – Décider des tests à automatiser (TNR) – Structurer les tests pour simplifier leur automatisation • Réutilisation : – Diminuer le travail de réécriture – Faciliter la lecture et l’exécution des tests manuels par une plus grande homogénéité 41
  • 42. Résultats attendus de la reprise • Corriger les tests – C’est l’objectif premier : il faut garantir que l’ensemble des cas de test sont alignés avec la version actuelle du système • Simplifier les tests et supprimer les redondances – L’ajout au fil de temps de nouveaux cas de test crée des redondances entre tests – Des étapes de test peuvent aussi être factorisées en une seule de granularité plus forte et d’autres étapes supprimées car inutiles dans la documentation des tests • Homogénéiser et paramétrer les tests – Une même étape de test doit être décrite de façon identique, quel que soit le cas de test – Pour préparer l’automatisation, il est très utile de paramétrer les étapes de tests pour diminuer le nombre de mots-clés à implémenter 42
  • 43. Technologies IA • Le clustering pour le regroupement des cas de test – Calcul de distances (Levenstein, Euclidienne) – Clustering hiérarchique • L’analyse du langage naturel pour le refactoring des pas de test – Intégré au prototype actuel : calcul de proximité syntaxique – A l’étude pour la sémantique : Neural Word Embeddings et Interactive Language Learning 43
  • 44. Résultats • 1er résultats expérimentaux sur 3 projets : – Référentiels de 942, 302 et 42 cas de tests, et 13 325 pas de test – Temps de reprise divisé par 3 • Validation de la technologie – Février – Mars : réaliser 2 à 4 expérimentations supplémentaires – Avril - Lancement du programme de Beta Testing en mode SaaS 44
  • 45. Aperçu – regroupement des tests par similarité • Le résultat du clustering hiérarchique classiquement sous forme d’arbres appelés dendogrammes 45
  • 46. Aperçu – visualisation des workflows • Les diagrammes résultants de groupes de scénarios sont visualisés sous une forme proche de BPMN Visualisation des étapes des tests Visualisation en surbrillance de chaque test  Diagramme mis à jour à la volée pour chaque action de refactoring 46
  • 47. Aperçu – Refactoring des étapes de test Modification d’une étape et de tous ses usages Unification d’étapes de test proches (proposition des steps proches) • Suppression d’étapes de test • Permutations d’étapes de test • Insertion d’étapes de test Paramétrisation d’une étape de test et de tous ses usages Ordonnancement des propositions de refactoring selon l’usage appris de l’utilisateur47
  • 48. Next Step • Nous avons déjà éprouvé notre produit (Beta) sur quelques patrimoines de test (totalisant en 15000 pas de test) – Accélération du temps de reprise et d’optimisation constatée : X3 • Dans les semaines à venir, nous allons poursuivre la mise au point de nos librairies d’IA sur d’autres patrimoines  Expérimentations avec la version Beta GRATUITE de notre produit
  • 49. Contacts • Julien Botella – Julien.botella@smartesting.com – 06 81 13 15 41 • Arnaud Bouzy – Arnaud.bouzy@smartesting.com – 06 27 89 42 47 • Michel Guez – michel.guez@smartesting.com – 07 82 58 01 12