SlideShare a Scribd company logo
Le test
exploratoire
A la recherche du bug caché
CONF
ORME
Tested
=
checked +
explored
a style of software testing that
emphasizes the personal

freedom and responsibility
of the individual tester to
continually optimize the quality of
his/her work by treating testrelated learning, test design,
test execution, and test result
DESIG
NING
EXEC
UTING
LEAR
NING
STEE
RING
ORGA
NISER
Expore
(target)
with
(resources)
Expore
(target)
with
(resour
To
discov
Explore editing
profiles with
injection attacks
to discover
Explorer l’édition
de profile avec
avec le nom To’to
pour découvrir si

les accents
sont bien
Explorer l’édition
de profile avec
avec le nom To’to
pour découvrir si

les accents
sont bien
COMM
ENT?
DISCUT
ER
CAUCH
EMARD
A LA
BRAINST
ORMER
CONVER
TIR
PLANIFIE
R
RÉSUMÉ
OBSERV
ER
The more people focus
on aspects of their visual
world other than the
dectection of
unexpected objets, the

less likely they are to
VARIA
IDENT
HEURIS
TIQUES
MAN

0, 1,
MANY
MANY
MANY
MANY
TOO

BIG,
TOO SMALL,
TOO
MANY
TOO
FEW
0
Beginnin
g,
…
PATH/FILE
Long Name (>255 chars)
Special Characters in Name (space * ? /  | < > , . ( )
* + , - ; : ‘ “ ! @ # $ % ^ &)
Non-Existent
Already Exists
No Space
Minimal Space
Write- Protected, Unavailable, Locked, On Remote
Machine, Corrupted …
STRING
Long (255, 256, 257, 1000, 1024, 2000, 2048 or more
characters)
Accented Chars (àáâãäåçèéêëìíîðñòôõöö, etc.)
Asian Chars
Common Delimiters and Special Characters ( “ ‘ ` | /  ,
; : & < > ^ * ? Tab )
Leave Blank
Single Space
Multiple Spaces Leading Spaces End-of-Line
Characters (^M) SQL Injection ( ‘select * from customer
) With All Actions ….
=1(100 * (1
= (1 (100 * (1
NAVIGATI

ON
RÉSUMÉ
RÉSU
CHALLE
NGE
NEVER,
ALWAYS
CORE
-ITÉ
PAIRS
ALTERN
ATIVES
STANDA
RDS
NORME
S
APPROXI
MATION
INTERVAL
E
DISTRIBU
TION
MIN / MAX
RÉSUMÉ
DIMENSI
ONS
HABITUD
ES
PERSON
A
RÉSUMÉ
FIN
?

More Related Content

Recently uploaded

CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 

Recently uploaded (20)

CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Exploratoire

Editor's Notes

  1. On peutpenserquecomme on vaparler de test, je vaism’adresser aux developpeursou aux testeurs. Pas du tout. On vaaborder des notions importantes pour toute les personnes qui désirentobtenir un produitsolide et fiable. On ne parle pas de qualité de code, de couverture de tests. Non, ce qui nous interese, c’est la qualité du produit.Quelsquesoitnotre position, la plupartd’entre nous testefréquemment. Tester estune part important lorsquel’oncréequelque chose. Sans tests, on restedansune phase de simulation.
  2. La première chose qui nous interessec’est : Estceque le logiciel se comporteconformément a ce qui estattendu ?
  3. Est-cequ’il y a d’autresrisques ?Par exemple, mon site d’e-commerce estconformeàce qui a étédéfini. Maisestceque les données des cartesbleues des clients sontbien protégés ? Estcequel’utilisateur Y peutavoir les données de X ? Qu’estce qui se passesiquelqu’unmodifie son cookie à la main ?La premiere question, celle de la conformité, on peut y repondre avec un plan de tests defini en avance plus oumoinspoussé.Et meme si le logicielou la fonctionnalitéesttresbientestee, ilrestetoujours la seconde question. Estc’esticque les tests exploratoiresprennenttousleurssens.
  4. Les tests exploratoiresvontpermettred’explorer des zones non couvertes par les tests planifiés. Typiquement, aller au dela de la fonctionnalitéseule et la considérerdans son périmetre reel ouellen’est pas isolée.Commelorsquel’onteste du code, unecouverture de test de 100% negarantit pas que le code soit de qualité. Que la feature X soitbiencouverte ne m’assure pas forcémmentque la feature X utilisé avec la feature Y. Bien sur, des tests scriptéspourraisgarantirque la feature X fonctionnebien avec la feature Y. Maissivousproposez 1000 features différentes ?Le test exploratoireest un moyen de naviguer au travers d unepossibilitéinfinie de variation et de permettre de diminuer le risque d’un faconque les tests scriptés ne peuvent pas. Pour découvrir des bugs surprise, la répétabilité ne peut pas vous aider, la variation oui.Cesdeux questions, sur la confirmité et sur le risque, representent 2 facettes du testing vérifierque le logicielestconforme aux specifications et explorer le risque.
  5. Onretrouvesouventcette notation des qu’ons’interesse aux tests exploratoires. En tantquedev, je ne la trouve pas juste. Les tests exploratoires constituent une “sécurité. Moinsil y a de tests scriptés, plus ilva y avoirbesoin de tests d’explorations, ce qui estdefinitivementunemauvaisepratique. Il est primordial d’avoirtoujours des tests d’explorations (et si je faiscequ’estcequ’il se passe, des crash tests, des tests de perfs) maisceux ci ne doiventjamaisdevenir la source principale des tests.
  6. Ces notions sonttrèsimportantesdans le test exploratoire.Le design “continue” et l executions de tests permettentd’apprendresur le systeme, en utilisant les donnéesrésultantes de la dernièreexpérimentation pour préparer la suivante.
  7. Le design de test implique d indentifier des parametresinteressants a faire varier et de methodesinteressantes pour les faire varier, on y retrouve les tables de décisions, la dérivation de tests a partir de modele de design comme des diagrammes d’états, des diagrammes de séquences (The art of software testing, Software testing techniques, A practitionners Guide to software test design). Ces techniques de bases sontaussiadéquate pour du test exploratoire. Cette phase de design esttrèsimportante. Comme nous travaillonsiciàpartir du produit, et non d’unecouche interne, il sera toujours plus couteux et chronophage de lancer des tests. Par exemple, quand on essaie de forcer un nom dans un formulaire avec une apostrophe ou un accent, le test est beaucoup plus couteux pour l’explorateurque pour le developpeur, sans compterque le developeur aura l’avantage de produire un test reproductible.
  8. Quand on explore, on execute immédiatement des que l on a une idée de test. C estune des cles qui distingue le test exploratoire du test scripté. On ne design pas ses tests en avanceavant de les executer. C estune notion importante : avant d executer des tests, on ne sait pas quelle question vontsuivre. L execution immediate et non planifiéevontpermettre de conduire l exploration.
  9. Quand on explore, on découvreegalement comment le logicielopere. On apprendrasesspécifités. Il faudraegalementapprendre a détecter des indices pouvantmontrer des bugs vicieux. L observation est crucial, plus on observe, plus on apprends. C estegalement plus difficilequil n y parait.
  10. Se diriger : Avec chaque experimentation que l on va executer, vousallezcomprendre de mieux en mieux comment le logiciel se comprte. Vouspouvezvousrendrecompte du types de conditions que le logiciel ne gere pas bien et poussercetteconnaissance encore plus loin. Il faut user de curiosité, baséesur des apprentissagesprécdents.
  11. On a vu que les tests exploratoiresn’étaient pas planifiés. Quelsest le risque ? Il est possible de passer des jours sans trouver des informationsinteressantesouutilesMeme si les tests exploratoiressont fait en direct, cela ne veut pas dire qu’ils ne sont pas structurésniorganisés. Il estdonc important de préparer son travail en avance de phase.En effet,la durée des tests exploratoires sera séparé en session time boxée. Pendant chaque session, ilfautprentre des notes pour savoir ce qui a étéexplorée, ce qui a etetrouvé. Maisaussi des idées de tests, des questions, des risques, des zones additionelles a explorer et des bugs.A la fin de chaque session, ilest important de partagerses observations avec ses pairs, de reporter les bugs.Et comme on cherche, on explore, on commence par demarrer avec des questions. Estceque le workflow estfonctionnel ? Estceque la feature A fonctionnequand la feature B estactivée ? Questcequil se passesi je charge le site au moment ou un utilisateurrentreunecommande ?Pour toutes les questions, ilfautvoirquel technique y repond le mieux : des tests cases prédesignée, avec de l exploration ouunecombinaison des 2.
  12. Si on considere un autre type d exploration, l exploration de continent et que l on regardeceque les 2 en ont en commum :des surprises vousattendent, et meme des bugsilest utile d apporter des outilsmais le plus important estvotrecerveausi la carte et le territoirediffere, croire le territoireDans les 2 cas, ilest possible de se perdreou de tourner en rond, et donc de ne rientrouver.Pour evitercela, ilestconseillée d utiliser un simple template qui permet de biendefinirceque l on cherche. Je suppose que la plupartd’entrevousconnaisse le pattern given/when/then pour écrire un test “scripté” quelqu’ilsoit. Ici meme principemais un peudifférent.
  13. Si on considere un autre type d exploration, l exploration de continent et que l on regardeceque les 2 en ont en commum :des surprises vousattendent, et meme des bugsilest utile d apporter des outilsmais le plus important estvotrecerveausi la carte et le territoirediffere, croire le territoireDans les 2 cas, ilest possible de se perdreou de tourner en rond, et donc de ne rientrouver.Pour evitercela, ilestconseillée d utiliser un simple template qui permet de biendefinirceque l on cherche.
  14. LE target : questceque l on explore : unefonctionnalité, un requirement, un module …resources : un outil, un jeu de données, une technique, une configuration, un fonctionnalitéinterdépendante.
  15. resources : un outil, un jeu de données, une technique, une configuration, un fonctionnalitéinterdépendante.
  16. inforamtion : questceque l on esperechercher ? sécuritee, performance, usabilité, consistence, violations d un standard ?
  17. Par exemple Explore editing profiles with injection attacks to discover security vulnerability. On vadonc essayer des injections javascript, SQL …
  18. Si on regardecettefeuille de route :
  19. trop specifique, c est un test individuel. Le risqueest de passer beaucoup de temps a ecrirece genre de test avec peu de benefice.Explorer la sécurité du système -&gt; trop vague. Personne ne peutfinircette mission. Au lieu de creerunefeuille de route enorme, ilest plus performant de la decouper en plusieurs, chacuneneconcernantquunefonctionnalité/zone unique.
  20. On a vu comment écrire des templates, comment reperer les feuilles de routes les plus importantes ?
  21. L etude des fonctionnalitéslors de discussions avec des pairs est un bon moment pour commencer a ecrire les feuilles de routes. Estceque tout le profilest modifiable ? meme le login ? Les regles de validation du login sontelle les memes lors d unemise a jour ? un profildesactivépeutiletremis a jour ?C est a dire, estceque la feature developpée “edition de profil” peutavoir des consequences sur les fonctionnalitésdejaexistantes, notammentici “désactivation des profils” ?Les données de profilsontaffichées a deuxendroitsmaisleursmises a jours n estproposéqu a un seul, estce normal ? L exploration estuneopportunité pour ajouter des nouveaux requirements au meme point que des risques et des problemes.
  22. Uneautre source d’inspirationest tout simplement les situations cauchemardeques. Un jeupeutetre de faire imaginer l equipe de decouvrir au matin, dans le journal en premiere page un grostitreevoquant le travail surlequel l equipetravaille.Et de demander a l equipe a votreavis, quelleest la phrase des grostitres ?
  23. Par exemple, unetva a 200% surtous les achats du site xxx, les utilisateursexcédéstoutes les commandeslivrées en double sur le site xxxun trou de sécuritésur le site xxx : l ensemble des cartesbleues des utilisateurspiratées
  24. Aprescette premiere etape, demander a l equipe de choisir (avec les differentes techniques habituelles) une qui est plausible et interessante pour une discussion.Brainstormersur les causesQuestce qui peut causer ceprobleme. Demander aux participants d ecrrire les causes possible.Par exemple, la duplication des commandespeutvenir de l utilisateur precedent suivant du navigateur, de l integration entre le server et le systeme de traitement des commandes …
  25. Convertirces causes en tantquefeuille de route.Explorer le workflow d achat en utilisant des operations telsque refresh, back, bookmark pour deecouvrir des moyens pour acheterinvolontairement plus d items queprévus.
  26. On a maintenant un certainsnombres de feuilles de routes, comment les planifier ?Planification des charters :Bien quilpeutetre utile de planifierses explorations, ilestdifficile de planifierreelementavant de commencer a explorer. Si on planifie tout en acances, il sera plus difficile d ajuster l exploration en fonction d informationsnouvelles. Il est possible d indentifier en avance de phase les explorations les plus importantes. Maisilreste important de n explorer quunetache a la fois.
  27. En résuméIl est important que le tester travaillesescapacités a trouver des feuilles de routes qui vont faire remonter le plus d anomalies ou de bug. Il fauttoujourschoisir des zones spécifiques a explorer notamment en s’aidant :discuter avec ses pairsles interactions entre featuresimaginer les scenarios du pire
  28. Tester peutsemblercomme un process linéaire. Entrerune value, obteniruneréponse. Verifier que la reponseobtenueestbien la reponseattendue. Si oui, le test passe, si non le test echoue.Maisce n est pas si simple. Justeparceque l on voitque la reponseattendueestbienegale avec la reponseobtenue ne signifie pas que le systemeest ok. Que dire sivousvoyez un message de log pendant le operation indiquantque 80% de la memoire vive estutilisé ? que le cpureste a 100% pdt 30 secondes ? Comme pour un iceberg, il ne faut pas se concentreruniquementsur la partie visible : tout ceque l on ne voit pas estegalementextremenent important.
  29. C’estpourquoi, la qualité majeure pour faire du test exploratoireest la capacité a observer. Il fautanalser avec l utilisations des logs, du monitoring. On doitresteralertesur un indice d un comportement suspect. Contrairement a ceque l on pourraitpenser, c est en fait trescompliqué.
  30. Did you see the moonwlaking bear ? C est facile de rater quelque chose que l on ne cherche pas. C’estexactementceque l on vavoirmaintenant, quels techniques peuvent nous aider ?Pour le logiciel, celaveut dire quesi l on se concentresuruneseule dimension, par exemple la comparaison de l attendu avec l obtenu, le plus certainement on va rater des indices critiques dans d autres dimensions.
  31. D’oul’importance de creuser le plus profondemment possible. “Estceque le setup d installation marche sans erreurs” En se concentrantseulementsur la GUI, cette question peutmasquer des defects importants. La question que l on aurait du se poser est : estceque je peuxutiliser le software que je viens d installer ? Quand on teste un login, on ne se contente pas d etresatisfait de voirapparaitre welcome mister X, maissurtout de savoir si l utilisateur a bienacces au contenuquildoitavoir, ni a celui de son voisinou de l administrateur.
  32. Des fois, les indices sont plus subtilesqu un message de log en erreur. Une augmentation rapide de la mémoireutilisépeut faire penser a une out of memory.Quand on observe on doitutiliser tout sessens :al vue : estceque la lumiere du ddflashealorsqu on ne s y attend pas. Estceque l on voit des fenetresinnatenduesappaitre ? Uneactivité en fond que l on attend pas ? Il estegalement possible de prendre des screenshots a des moments clés et de les faire passer rapidement. Vousdetecterezpeutetre un element qui estdecalé de quelques pixels.Hearing : ecouter son ddtouching . estceque la machine surhcauffe ?
  33. Testerc’estavoir de la visibilité et du controle. Lancer les outils de controles du systems, controler les fichiersecritschangésoumodifiéssur le file system, regarder le traficsur le réseau, regarder les requetes et les reponses du serveur, avec firebug par exemple, verifier l’absence d erreurjs, regarder l activité en bdd *quels champs mis a jour, modifié, ajoutéAnalyse complete des logs…
  34. Le test n’estjamaisfini, ilestjustearreté.Trouver des variations interessantes :Meme dans un systemerelativement simple, ilest des possibilitésinfinies de variations a explirer, incluant les interactions de l utilisateurs, le temps, les données, les configurations maisaussi les facteursenvironnementaux *charges cpu, memoire, traficreseau.
  35. Etantdonnéce monde infini a explorer, etrecompletementsatisfaitest un ecceuildangereux. Si on explore uniquementsuperficiellement et que l on declare que tout est ok, ilest possible que de mauvaises decisions soitprises et qu l on manqueune part importante de l image.Les bonsexplorateursreconnaissentquil y a uneinfiniequantité de variation et quil n est pas possible de toutes les couvrir. Les meilleursexplorateurssavent comment s orienter pour trouverles variations les plus interessantes. C;estunecompence d analyzer un system pour en decouvrir les nouveautés et les moyens de le manipuler.
  36. Il y a plusieurs types de varialbes :les variables claires . par exemple, vouspouvez tester quequandvousdonnezdans un formulaire de creation des champs nom prenom, vouspouvez verifier quilsontbien presents dans le systeme.les variables subtiles : imaginonsque caches dans un workflow, on appeleune page avec des parametres : test.com?page=3andlogin=totoQue se passe t ilsitoto n existe plus ?Peutetreque la page a puetrebookmarké, ouqu un utilisateur mal intentionnéessaie de se faire passer pour un autre.De la meme maniere, que se passe t ilsiquelqu un change des infosdans son cookies qui sontsupposéés n etredefinieque par le logiciel ? Estcequilspeuventavoiracces a quelque chose auquelils n ont pas le droit ?
  37. Quelquesgrandséchec :a la fin des années 80, un certainsnombres de personnessubissantunetherapie par radiation sont mort d empoisement par radiation. L enquete a montréque c etait un enchainementcomplexe qui engendré la mauvaisesfonctions de l’appareil, Notammentquand le technicienentrait et editait les données du traitement en moins de 8 secondes. Ces 8 secondesetaientaussi le temps qui permettait au champs magnetique de s engager et creerune petite maisdevastatricefenetre de vulnaribilité.
  38. conversion d un 64 bit flottant a un 16 bit signé. Overflow error. Le processus de controleaaetedesignée pour ariane 4, alorsquariane 5 etant beaucoup plisrapide. Les appareilssensitifs n ont pas pugerer la velocitéhorizontale.
  39. Mars RoverEn 2004, la NASA a perducontrole avec Spirit. Ils se sontrendusassezvitecompteque le robot rebooter encore et encore. Le probemeetaitcausé par le nombre de file danssa memoire flash. Certainesoperrationscréesplusieurspetitsfichiers. De temps en temps, certains de sesfichiersinnondés la RAM, entrainant un reboot.La variable clé n est pas icijuste la taille du disquemaisaussi le nombre de petit fichier. Cela n aurait pas étédetecté avec un grosfichierfaisant la taille des petits.
  40. Un des points les plus importants du test exploratoireestnotrecapacitéà identifier les variables à modifier.
  41. Définirheuristiques
  42. Zero, One, Many 0 record found, 1 records found
  43. Goldilocks
  44. too many create des conditions avec plus d elements que le logiciel pour gerer, trop de connexionsouvertes, trop de requetes …
  45. too few : crerer des conditions avec moins d elements que le systeme ne peutgerer, une facture sans produitacheter …
  46. 0 que se passe t ilsi je veuximprimer et quil n y a aucuneimprimanteinstallée ?
  47. 0 que se passe t ilsi je veuximprimer et quil n y a aucuneimprimanteinstallée ?
  48. Vairer les locations geographiquesVarier les formats (numero de telephone - international aussi), les differents code postaux, les emails, les differents formats de dates, les ip v4/v6.Verifier aussiqu’on ne peut pas etre né le 31 février, avoirune date de naissance dans le future …Gerer pour des webservices des niveaux de profondeursdifferents
  49. 0 que se passe t ilsi je veuximprimer et quil n y a aucuneimprimanteinstallée ?
  50. 0 que se passe t ilsi je veuximprimer et quil n y a aucuneimprimanteinstallée ?
  51. 0 que se passe t ilsi je veuximprimer et quil n y a aucuneimprimanteinstallée ?
  52. En résumé, on saitmaintenantchoisir et définirnos variables, les fairesvarier. Maiscen’estqu’unepartie du test. Maintenantquel’onsaitcequel’on a en entrée, qu’estcequel’on a en sortie ?
  53. Unefoisquel’on commence a explorer, une nouvelle question apparait : comment savoir siceque je testeest correct ?- Pour un site web, estcequec’est OK de ne pas pouvoir bookmarker une des pages du parcours ?- Qu’estcequ’il se passequandil y a une part d’aléatoiredanscertainscalculs ?- Quand les calculssont trop compliqués pour garantirque le resultatobtenueest correct ?
  54. Les situations commecelasont au centre des challenges du test exploratoire. Il existe des techniques pour valider le comportement du systeme meme quand on ne sait pas exactementceque l on attend.
  55. Tout systemepossède des règles. Celapeutetreque tout logicield’édition a la possibilité de créer en toutecirconstance un nouveau document. Peutetreestceque les modifications d un utilisateur ne peutjamaisentrainerune modification du systeme pour un autre. Ouquil ne peut pas engendrer un arret du serveur.Meme quand on ne connait pas exactementcequel’on attend, on peutdejachercheràdéfinirsesrègles du jamais et toujours.
  56. toutes les capacitées du coeur du logiciel qui doiventtoujoursfonctionner
  57. les capacitiées du systemecomme la scalabilité, l’usabilité, la conformité, la disponibilité …
  58. les risquesremontées par les pairs.
  59. Il est possible de regarder la conformité du site : y a t il 2 ecranssimilairesdont l un propose unefonctionnalitéquel’autre ne propose pas ?2 appels de méthodesprennentelle des parametresidentiquesdans des ordresdifférents ?
  60. Si on regarde le mobile, estcequel’applicationestconforme aux reglesd’utilisationsur Android ? Estcequel’applicationestconforme aux regles de GUI d’Apple ? (les 2 diffèrent)Estceque les codes retours de l’applicationsontcohérents ? Estceque le HTML généréestconforme aux normes du W3CEstcequemon application repond aux normes de sécurité ?
  61. Regarderquelssont les normesd’usagesacceptés :Si on prend la fonctionnalitéd’envoie d’un nouveau password, la plupart des applications propose un lien avec un token pour le remettreà jour. Uneautreapproche non standard est par exempled’envoyer un mot de passe en clair.
  62. Les règlesd’approximationsQuand on ne peut pas etre certain de la valeurattendue, on vautiliser des approximations.
  63. Danscertainscas, ilest possible d’évaluer en fonction d’un intervalle. On saitquetelles variables devraient se trouver entre telle et telleautre. Une application qui évalue la vitesse d’un aigle en fonction de sescaracteristiques (poids/taille) devraitnormalement faire entre x et y km/h donctoutesdonnées en dehors de cetintervalleest suspect.
  64. Maisque faire si par exemple, on doit tester quelque chose de totalementaléatoire. Danscecas la, on essaiera de voirsi la distribution estuniforme après un grand nombre de lancement. Si par exemple, on a unefonction random de 0 à 9 et que le chiffre 7 sort àprès de 30% et jamais le chiffre 0, on peutsuspecter un problème.
  65. Essayer de jouer avec les valeursminimales et maximales
  66. En résuméIl est important de savoir observer ce qui se passe pour ne pas etreconcentréuniquementsur le résultatattendu. Maiségalement de réussirà identifier les variables, de les faire varier, notammentàl’aided’heuristiquesou de valeurs “limites” ouexceptionnelles. Tout en gardant en mémoirequel’aléatoireesttoujours un challenge.
  67. Les utilisateursquel’on le veuilleou non, ne sont pas ordonnés. Ils font des choses surprenantes, ne respectent pas les étapes de cheminmentquel’on a fixé pour eux, utilisent les pages précedentes et suivantes de leursnavigateurs …Pour découvrir des problemesinpliquantl’utilisation et la sur-utilisation de votrelogiciel, ilfautvarier les méthodesd’interaction.
  68. Quel’on en soitconscientou non, ilfaut faire un effort pour éviter de faire les choses d’unemanièrehabituelle. Par exemple, d’utilisertoujours la meme adresse, le meme code postal. De créertoujours les enregistrements de la meme manière. Essayer de changer les jeuc de données, les rendre plus réalisteou plus sujetsà exposer des problèmes (par exemple, un code postal qui concerneplusieursvilles, un nom avec une apostrophe, un prénomtrès long …).
  69. Unefoisquel’on a fait cela, on peututilisericiaussi des personas. Emilie, cadre supérieurpressé de nature, vaavoirtendance a appuyerplusieursfoissur les boutonsvalider des formulairesalorsque Emma, étudiantes en infos, vaavoirtendanceàbidouillersesformulaires HTML ...
  70. En résuméIl est capital dans un deuxième temps d’ajouter des dimensions pour élargirses explorations .Nous n’avonsabordéqu’unepartie des outilsmisànotre disposition, on y retrouveégalement, les machines àétat, les tables d’états, les diagrammes de séquences, les modelisations …
  71. On a vu justeiciunepartie du test exploratoire. Ce qui est certain, c’estquec’est un test qui sontcouteux, a l’inverse des tests unitaires. Plus il y a une bonne couverture de tests autres, moinsil y a besoind’exploration. Beaucoup font naturellement de l’exploration.
  72. On a vu justeiciunepartie du test exploratoire. Ce qui est certain, c’estquec’est un test qui sontcouteux, a l’inverse des tests unitaires. Plus il y a une bonne couverture de tests autres, moinsil y a besoind’exploration. Beaucoup font naturellement de l’exploration.