SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
L’Intelligence Artificielle
appliquée aux tests logiciel
Julien Van Quackebeke - All4Test
5 octobre 2017
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, synthèse
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, pour optimiser l’effort de test
* Optimiser l’automatisation des tests, automatiser la maintenance
* Proposer des jeux de données
* Apporter une nouvelle approche / métier du 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
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
C - Functionize : Video
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
Video Evosuite
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.
- Certains tests manuels sur le terrain sont aussi très intéressant : ex Beta
testeur chez TESLA ☺
- 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 sur le sujet avec des élèves de
l’ISTIA. 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 ? julien@all4test.com / 06 71 59 47 11
A suivre
● Prochain réunion de la commission test et qualité :
●Comment test une application basé sur l’IA : les ChatBoots

Contenu connexe

Tendances

Tendances (20)

Suricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığıSuricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığı
 
réaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testréaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de test
 
Intro conception et évaluation des IHM
Intro conception et évaluation des IHMIntro conception et évaluation des IHM
Intro conception et évaluation des IHM
 
Optimisation de la plateforme de Supervision Zabbix
Optimisation de la plateforme de Supervision ZabbixOptimisation de la plateforme de Supervision Zabbix
Optimisation de la plateforme de Supervision Zabbix
 
Test unitaire
Test unitaireTest unitaire
Test unitaire
 
Presentation,PFE
Presentation,PFEPresentation,PFE
Presentation,PFE
 
SYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdf
SYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdfSYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdf
SYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdf
 
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
 
Security Onion
Security OnionSecurity Onion
Security Onion
 
Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
 
Méthodologie de tests et qualité
Méthodologie de tests et qualitéMéthodologie de tests et qualité
Méthodologie de tests et qualité
 
Chp5 - Les outils CASE
Chp5 - Les outils CASEChp5 - Les outils CASE
Chp5 - Les outils CASE
 
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı AnaliziKurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
Introduction à l’identité décentralisée ou Auto-souveraine - Par Yann Duchenne
Introduction à l’identité décentralisée ou Auto-souveraine - Par Yann DuchenneIntroduction à l’identité décentralisée ou Auto-souveraine - Par Yann Duchenne
Introduction à l’identité décentralisée ou Auto-souveraine - Par Yann Duchenne
 
Développement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbreDéveloppement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbre
 
Sandbox Atlatma Teknikleri ve Öneriler
Sandbox Atlatma Teknikleri ve ÖnerilerSandbox Atlatma Teknikleri ve Öneriler
Sandbox Atlatma Teknikleri ve Öneriler
 
Comprendre l’intelligence artificielle [webinaire]
Comprendre l’intelligence artificielle [webinaire]Comprendre l’intelligence artificielle [webinaire]
Comprendre l’intelligence artificielle [webinaire]
 
Sizma testi bilgi toplama
Sizma testi bilgi toplamaSizma testi bilgi toplama
Sizma testi bilgi toplama
 
Soutenance du pfe
Soutenance du pfeSoutenance du pfe
Soutenance du pfe
 

En vedette

En vedette (10)

Soirée du Test Logiciel - Intégration, livraison et déploiement continu - A. ...
Soirée du Test Logiciel - Intégration, livraison et déploiement continu - A. ...Soirée du Test Logiciel - Intégration, livraison et déploiement continu - A. ...
Soirée du Test Logiciel - Intégration, livraison et déploiement continu - A. ...
 
Soirée du Test Logiciel - Test Driven Development with graph databases - S. D...
Soirée du Test Logiciel - Test Driven Development with graph databases - S. D...Soirée du Test Logiciel - Test Driven Development with graph databases - S. D...
Soirée du Test Logiciel - Test Driven Development with graph databases - S. D...
 
Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...
Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...
Soirée du Test Logiciel - Les dernières tendances du test logiciel - B. LEGEA...
 
Soirée du Test Logiciel - Impact de l’agile sur l’organisation des équipes de...
Soirée du Test Logiciel - Impact de l’agile sur l’organisation des équipes de...Soirée du Test Logiciel - Impact de l’agile sur l’organisation des équipes de...
Soirée du Test Logiciel - Impact de l’agile sur l’organisation des équipes de...
 
Soirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualife
Soirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualifeSoirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualife
Soirée du Test Logiciel - Démystifier les xDD - C. TARDIEU, Acp qualife
 
Soirée du Test Logiciel - Présentation de Kiuwan (Jack ABDO)
Soirée du Test Logiciel - Présentation de Kiuwan (Jack ABDO)Soirée du Test Logiciel - Présentation de Kiuwan (Jack ABDO)
Soirée du Test Logiciel - Présentation de Kiuwan (Jack ABDO)
 
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...
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
 
Soirée du Test Logiciel - SQA monitoring et gestion du risque en organisation...
Soirée du Test Logiciel - SQA monitoring et gestion du risque en organisation...Soirée du Test Logiciel - SQA monitoring et gestion du risque en organisation...
Soirée du Test Logiciel - SQA monitoring et gestion du risque en organisation...
 
Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...
Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...
Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...
 

Similaire à Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUACKEBEKE, All4test

Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...
Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...
Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...
Philippe Beraud
 
Anatomie du test
Anatomie du testAnatomie du test
Anatomie du test
Frederic Hardy
 

Similaire à Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUACKEBEKE, All4test (20)

IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4TestIA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
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 ?
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
 
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
 
Apprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerApprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMiner
 
Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29
 
Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...
Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...
Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...
 
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
 
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
 
2-Cours de Géniel Logiciel
2-Cours de Géniel Logiciel2-Cours de Géniel Logiciel
2-Cours de Géniel Logiciel
 
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
 
Anatomie du test
Anatomie du testAnatomie du test
Anatomie du test
 
Softshake 2015 comment tester et optimiser la performance d'un si
Softshake 2015   comment tester et optimiser la performance d'un siSoftshake 2015   comment tester et optimiser la performance d'un si
Softshake 2015 comment tester et optimiser la performance d'un si
 
Diginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NETDiginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NET
 
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
 
Comment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la scienceComment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la science
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJS
 
Décryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data scienceDécryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data science
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presentee
 
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)
 

Plus de TelecomValley

Plus de TelecomValley (20)

Rapport d'activité SoFAB 2022
Rapport d'activité SoFAB 2022Rapport d'activité SoFAB 2022
Rapport d'activité SoFAB 2022
 
Rapport d'activité 2022
Rapport d'activité 2022Rapport d'activité 2022
Rapport d'activité 2022
 
Rapport d'activité 2021 - Telecom Valley
Rapport d'activité 2021 - Telecom ValleyRapport d'activité 2021 - Telecom Valley
Rapport d'activité 2021 - Telecom Valley
 
Livre blanc "Les métamorphoses de l'entreprise face à l'imprévu - Tome 1 : la...
Livre blanc "Les métamorphoses de l'entreprise face à l'imprévu - Tome 1 : la...Livre blanc "Les métamorphoses de l'entreprise face à l'imprévu - Tome 1 : la...
Livre blanc "Les métamorphoses de l'entreprise face à l'imprévu - Tome 1 : la...
 
Rapport d'activité SoFAB 2020
Rapport d'activité SoFAB 2020Rapport d'activité SoFAB 2020
Rapport d'activité SoFAB 2020
 
Rapport d'activité Telecom Valley 2020
Rapport d'activité Telecom Valley 2020Rapport d'activité Telecom Valley 2020
Rapport d'activité Telecom Valley 2020
 
Rapport d'activité SoFAB 2019
Rapport d'activité SoFAB 2019Rapport d'activité SoFAB 2019
Rapport d'activité SoFAB 2019
 
Rapport d'activité Telecom Valley 2019
Rapport d'activité Telecom Valley 2019Rapport d'activité Telecom Valley 2019
Rapport d'activité Telecom Valley 2019
 
Revue de presse Telecom Valley - Février 2020
Revue de presse Telecom Valley - Février 2020Revue de presse Telecom Valley - Février 2020
Revue de presse Telecom Valley - Février 2020
 
Revue de presse Telecom Valley - Janvier 2020
Revue de presse Telecom Valley - Janvier 2020Revue de presse Telecom Valley - Janvier 2020
Revue de presse Telecom Valley - Janvier 2020
 
Revue de presse Telecom Valley - Décembre 2019
Revue de presse Telecom Valley - Décembre 2019Revue de presse Telecom Valley - Décembre 2019
Revue de presse Telecom Valley - Décembre 2019
 
Revue de presse Telecom Valley - Novembre 2019
Revue de presse Telecom Valley - Novembre 2019Revue de presse Telecom Valley - Novembre 2019
Revue de presse Telecom Valley - Novembre 2019
 
Revue de presse Telecom Valley - Octobre 2019
Revue de presse Telecom Valley - Octobre 2019Revue de presse Telecom Valley - Octobre 2019
Revue de presse Telecom Valley - Octobre 2019
 
Revue de presse Telecom Valley - Septembre 2019
Revue de presse Telecom Valley - Septembre 2019Revue de presse Telecom Valley - Septembre 2019
Revue de presse Telecom Valley - Septembre 2019
 
Présentation Team France Export régionale - 29/11/19
Présentation Team France Export régionale - 29/11/19Présentation Team France Export régionale - 29/11/19
Présentation Team France Export régionale - 29/11/19
 
2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...
2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...
2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...
 
Tester c'est bien, monitorer c'est mieux - 2019 - KISSI - Soirée du Test Logi...
Tester c'est bien, monitorer c'est mieux - 2019 - KISSI - Soirée du Test Logi...Tester c'est bien, monitorer c'est mieux - 2019 - KISSI - Soirée du Test Logi...
Tester c'est bien, monitorer c'est mieux - 2019 - KISSI - Soirée du Test Logi...
 
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
 
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFEA la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
 
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.12019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
 

Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUACKEBEKE, All4test

  • 1. L’Intelligence Artificielle appliquée aux tests logiciel Julien Van Quackebeke - All4Test 5 octobre 2017
  • 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, synthèse
  • 4. 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..) .
  • 5. 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
  • 6. A – Deep learning - Apprentissage profond
  • 7. A - L’intelligence artificielle - Apprentissage supervisé Valeurs de sortie. Applications: ❏Reconnaissance vocale ❏OCR ❏Reconnaissance images / formes ❏Détection du Spam
  • 8. A - L’intelligence artificielle - Apprentissage non-supervisé Pas de valeurs de sortie. Applications: ❏Clustering / Regroupement ❏Détection anomalies
  • 9. A - L’intelligence artificielle - GAN “La meilleure idée dans l’intelligence artificielle des 10 dernières années” Yann LeCun
  • 10. 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, pour optimiser l’effort de test * Optimiser l’automatisation des tests, automatiser la maintenance * Proposer des jeux de données * Apporter une nouvelle approche / métier du test
  • 11. 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
  • 12. 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
  • 13. 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 C - Prédiction des défauts (suite) Meilleurs prédicteurs
  • 14. 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.
  • 15. 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):
  • 16. 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
  • 17. C - Optimisation des tests de régression
  • 18. 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é
  • 19. 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
  • 20. 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.
  • 21. 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
  • 22. 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
  • 23. C - Functionize : positionnement
  • 24. C - Functionize : Video
  • 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.
  • 28.
  • 29.
  • 31. E - Perspectives, synthèse Hier tests manuels Aujourd’hui tests automatisés Demain tests robotisés
  • 32. 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.
  • 33. 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,
  • 34. 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. - Certains tests manuels sur le terrain sont aussi très intéressant : ex Beta testeur chez TESLA ☺ - 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
  • 35. Intelligence collective pour IA – Test …. ● A ce titre ALL4TEST, à commencé à travailler sur le sujet avec des élèves de l’ISTIA. 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 ? julien@all4test.com / 06 71 59 47 11
  • 36. A suivre ● Prochain réunion de la commission test et qualité : ●Comment test une application basé sur l’IA : les ChatBoots