Que sont les expressions régulières (Regex) et comment les utiliser dans les tests A/B ?
Publié: 2021-10-26Les expressions régulières (ou regex) peuvent être un outil puissant dans l'arsenal de tout praticien CRO.
De nombreux scientifiques des données, analystes et autres les ont sans aucun doute rencontrés à un moment donné de leur carrière. Ils peuvent être difficiles pour ceux qui n'ont pas de connaissances techniques, mais maîtriser ces modèles utiles est un moyen sûr d'élever votre programme d'expérimentation !
Dans cet article de blog, nous tenterons de démystifier les expressions régulières afin que vous puissiez commencer à les utiliser en toute confiance dans vos tests.
Nous commencerons par analyser la structure et les différents types d'expressions régulières. Nous vous montrons ensuite quelques exemples d'expressions régulières que vous pourriez vouloir utiliser et comment implémenter ces modèles dans différentes parties des tests A/B. Enfin, nous examinons quelques façons de les utiliser dans l'application Convert Experiences.
- Qu'est-ce qu'une expression régulière ?
- Comment pouvez-vous écrire, tester et déboguer des expressions régulières ?
- Comment écrire des expressions régulières
- Caractères de base des expressions régulières
- Quantificateurs
- Caractères spéciaux
- Classes de personnages
- Caractères de base des expressions régulières
- Comment tester les expressions régulières
- Comment déboguer Regex
- Comment utiliser Regex en JavaScript
- Méthode 1 Exemple
- Méthode 2 Exemple
- Comment écrire des expressions régulières
- Pourquoi avons-nous besoin de Regex dans les tests A/B ?
- Comment utiliser Regex dans les tests A/B ?
- Cas d'utilisation Regex : Interface d'expression régulière de Convert avec Checker
- Comment utiliser les expressions régulières dans l'application Convert Experiences (avec exemples)
- 1. Zone de site avec Regex
- 2. Audiences avec Regex
- 3. Objectifs avec Regex
- 4. Regex dans les sites Web actifs
- Erreurs courantes à éviter lors de l'utilisation de Regex
- 1. Inclure les caractères de début et de fin
- 2. Inclure une barre oblique
- 3. Dépasser la limite de caractères
- 4. Exécution d'expériences simultanées sur la même page
Qu'est-ce qu'une expression régulière ?
Les expressions régulières sont comme un langage miniature largement utilisé, permettant aux utilisateurs de faire correspondre des modèles complexes qui, autrement, leur demanderaient de nombreuses heures de recherche.
Ils ont une structure alphanumérique et sont accompagnés de leur propre ensemble de symboles tels que crochets { } parenthèses ( ), astérisques (*), points d'interrogation (?), crochets ouvrants ([) crochets fermants (]), etc.
Si vous connaissez un peu la regex ci-dessous, cet article est fait pour vous.
/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[az]{2,6}\b( [-a-zA-Z0-9@:%_\+.~#()?&//=]*)/
Comment pouvez-vous écrire, tester et déboguer des expressions régulières ?
Maintenant, montrons ce qui est possible avec les expressions régulières. Tout d'abord, nous allons examiner quelques façons de créer vos propres expressions régulières complexes à partir de rien !
Comment écrire des expressions régulières
Pour créer votre première expression régulière, vous devez utiliser une syntaxe spécifique, c'est-à-dire des caractères spéciaux (métacaractères) et des règles de construction. Par exemple, voici une expression régulière simple qui correspond à n'importe quel numéro de téléphone à 10 chiffres, dans le modèle nnn-nnn-nnnn :
\d{3}-\d{3}-\d{4}
Vous pouvez soit commencer à écrire la syntaxe spécifique vous-même (et faire de nombreuses erreurs jusqu'à ce que vous ayez un modèle de regex validé) ou utiliser l'un des générateurs de regex disponibles qui existent. L'un des plus conviviaux et faciles à utiliser est le générateur de regex.
Collez simplement un échantillon de texte que vous souhaitez faire correspondre à l'aide d'une expression régulière (par exemple, j'ai utilisé l'URL de Convert www.convert.com ci-dessous), puis sélectionnez différentes parties du texte sur lesquelles vous souhaitez créer l'expression régulière.
C'est ça! Si simple.
Le modèle regex est alors prêt à être utilisé :
w+\.[a-zA-Z]+\.com
Un autre exemple pourrait être d'entrer une adresse e-mail de support et de spécifier la partie domaine de l'adresse sur laquelle construire la regex :
La regex est prête pour vous et vous pouvez désormais cibler toutes les adresses e-mail de support des outils que vous utilisez sans avoir à les copier coller une par une :
support@[a-zA-Z]+\.com
Si vous êtes plus féru de technologie et que vous souhaitez écrire ce modèle vous-même, vous pouvez commencer à apprendre les caractères de base et les quantificateurs ainsi que certaines règles de construction.
Caractères de base des expressions régulières
Voici une « feuille de triche » rapide pour ceux d'entre vous qui veulent apprendre les règles les plus courantes des regex.
Quantificateurs
Et si vous voulez faire correspondre plusieurs personnages ? Vous devez utiliser un quantificateur. Les quantificateurs les plus importants sont *?+. Ils peuvent vous sembler familiers, mais ils ne sont pas exactement les mêmes.
- * correspond à zéro ou plus de ce qui précède.
- ? correspond à zéro ou à l'un de ce qui précède.
- + correspond à un ou plusieurs de ce qui précède.
Caractères spéciaux
De nombreux caractères spéciaux sont disponibles pour la construction de regex. Voici quelques-uns des plus fréquents :
. | Le point correspond à n'importe quel caractère unique. |
\n | Correspond à un caractère de saut de ligne (ou combinaison CR+LF). |
\t | Correspond à un onglet (ASCII 9). |
\ré | Correspond à un chiffre [0-9]. |
\RÉ | Correspond à un non-chiffre. |
\w | Correspond à un caractère alphanumérique. |
\W | Correspond à un caractère non alphanumérique. |
\s | Correspond à un caractère d'espacement. |
\S | Correspond à un caractère non blanc. |
\ | Utilisez \ pour échapper les caractères spéciaux. Par exemple, \. correspond à un point et \\ correspond à une barre oblique inverse. |
^ | Correspondance au début de la chaîne d'entrée. |
$ | Correspondance à la fin de la chaîne d'entrée. |
Classes de personnages
Vous pouvez grouper des caractères en les mettant entre crochets. De cette façon, tout caractère de la classe correspondra à un caractère de l'entrée.
[abc] | Faites correspondre a, b et c. |
[az] | Faites correspondre n'importe quel caractère entre a et z. (ordre ASCII) |
[^abc] | Un caret ^ au début du crochet indique "non". Dans ce cas, faites correspondre n'importe quoi d'autre que a, b ou c. |
[+* ?.] | La plupart des caractères spéciaux n'ont aucune signification à l'intérieur des crochets. Cette expression correspond littéralement à n'importe lequel des +, *, ? ou le point. |
Besoin d'aide pour créer vos expressions régulières ?
Si vous n'êtes pas familier avec les expressions régulières et que vous souhaitez en savoir plus, nous vous recommandons fortement de suivre un cours accéléré ! Regex est un outil puissant qui ne nécessite qu'un petit investissement de temps pour apprendre.
Comment tester les expressions régulières
Votre modèle regex est maintenant prêt, mais vous souhaitez tester si la syntaxe est correcte. Vous pouvez le faire manuellement et passer de nombreuses heures à lire les règles de validation. Mathias Bynens a un excellent article sur la meilleure comparaison d'un grand nombre d'expressions régulières : À la recherche de l'expression régulière de validation d'URL parfaite. C'est la façon folle d'avancer.
Mais heureusement, il existe de nombreux validateurs de regex en ligne gratuits dont vous pouvez profiter et tester rapidement vos chaînes par rapport au modèle de regex que vous avez créé. Nous pouvons en recommander deux, RegEx101 et RegExr. Les captures d'écran ci-dessous proviennent de ce dernier, mais n'hésitez pas à utiliser celles avec lesquelles vous vous sentez le plus à l'aise.
Ajoutez simplement votre modèle regex dans le champ Expression, puis, dans le champ Texte, ajoutez tout texte que vous souhaitez voir s'il correspond à votre modèle. Vous pouvez voir à la volée combien de textes que vous avez saisis correspondent au modèle spécifique.
Ces validateurs de regex sont très puissants !
Comment déboguer Regex
Tester votre regex est bien plus important que de la déboguer. Vous pouvez généralement comprendre assez facilement ce qui se passe avec une regex en regardant le résultat, mais pour être sûr qu'elle fait ce que vous voulez dire, vous devez tester votre regex avec tous les cas de bordure possibles. Les tests finiront par clarifier ce que vous voulez vraiment faire et rendront le débogage inutile.
Cependant, si vous souhaitez toujours déboguer votre modèle regex, vous pouvez le saisir dans https://regex101.com/. Non seulement cela vous permet de tester vos regex sur un ensemble d'échantillons, en codant par couleur vos groupes de correspondance, mais cela vous donne également une explication complète de ce qui se passe sous le capot.
Gardez cependant à l'esprit que vous devrez vous référer à la documentation spécifique du langage de programmation particulier dans lequel vous utilisez l'expression régulière. Chacun a ses restrictions particulières. Certaines choses peuvent ne pas être prises en charge dans une langue particulière.
Si vous voulez une expérience plus "de débogage visuel", essayez Debuggex.
Il montre les chemins dans votre regex comme ceci :
Comment utiliser Regex en JavaScript
Il existe deux façons de créer une expression régulière en JavaScript. Il peut être créé avec le module RegExp ou en utilisant des barres obliques (/) pour entourer le motif. Les barres obliques /…/ indiquent à JavaScript que nous créons une expression régulière. Ils jouent le même rôle que les guillemets pour les chaînes.
Dans les deux cas, regexp devient une instance du module RegExp intégré.
La principale différence entre ces deux syntaxes est que le modèle utilisant des barres obliques /…/ est entièrement statique tandis que l'autre peut générer des expressions régulières à la volée.
Méthode 1 Exemple
Regardons l'exemple ci-dessous de RegExp utilisé pour valider la saisie de l'utilisateur et s'assurer que sa saisie ne contient que des chiffres :
let num = 'moi'; laissez regex = new RegExp('[0-9]'); console.log(regex.test(num)); //cela affichera faux
Méthode 2 Exemple
Examinons une expression simple avec la notation littérale qui recherchera une correspondance exacte dans une chaîne. Cela correspondra à la chaîne, en effectuant une recherche sensible à la casse :
let re = "Bonjour Studytonight" ; let result = /hello/.test(re); console.log(résultat); // renvoie faux
Après les avoir écrites, il existe deux méthodes intéressantes pour tester vos expressions régulières JavaScript :
- RegExp.prototype.test() : pour tester si une correspondance a été trouvée ou non. Il accepte une chaîne que nous testons par rapport à une expression régulière. Il renverra vrai ou faux si la correspondance est trouvée.
- RegExp.prototype.exec() : renvoie un tableau avec tous les groupes correspondants. Il accepte une chaîne que nous testons par rapport à une expression régulière.
Dans l'exemple suivant, le modèle /JavaScript/ est testé par rapport à la chaîne pour voir si une correspondance est trouvée :
var re = /JavaScript/; var chaîne = "JavaScript" ; if (re.test(str)) document.writeln("true") ;
Dans l'extrait de code suivant, la méthode RegExp, exec, recherche un modèle spécifique, /javascript*/, sur toute la chaîne (g), en ignorant la casse (i) :
var re = /javascript*/ig; var str = "cfdsjavascript *(&Yjavascriptjs 888javascript" ; var resultArray = re.exec(str); tandis que (resultArray) { document.writeln(resultArray[0]); resultArray = re.exec(str); }
Pourquoi avons-nous besoin de Regex dans les tests A/B ?
Regex dans les tests A/B est principalement utilisé pour le ciblage. Le ciblage contrôle le qui et le où de toute expérience.
Grâce au ciblage, vous indiquez à votre plateforme de test à qui (quelles conditions de visite du site Web) montrer l'expérience et où (quelles URL spécifiques) l'expérience doit s'exécuter sur votre site.
En définissant des audiences, vous pouvez décider qui verra l'expérience. Les conditions d'audience peuvent définir les sources de trafic, les données géographiques, les données comportementales, les cookies spécifiques de vos visiteurs et des conditions infinies que vous pouvez spécifier vous-même.
En définissant le ciblage d'URL, vous décidez où l'expérience se déroulera. Les conditions de ciblage d'URL peuvent inclure plusieurs domaines, sous-domaines, paramètres de requête et chemins.
Parfois, il n'est tout simplement pas possible d'utiliser les opérateurs « correspondance exacte », « contient » ou « commence par » pour répartir le trafic vers vos expériences. C'est là qu'interviennent les regex.
Voici 5 exemples d'audiences qui peuvent être exclues ou incluses dans une expérience et définies avec regex :
- Visiteurs provenant de campagnes publicitaires qui ont un terme commun dans leur nom mais diffèrent dans le reste (par exemple, chaussures-achats-mobile, bagues-achats-ordinateur).
- Visiteurs utilisant une version de navigateur spécifique (par exemple Firefox 3.6.4).
- Les visiteurs provenant d'un site tiers comme Facebook ou TikTok où vous devez définir spécifiquement un groupe de noms.
- Les visiteurs qui ont déjà vu une promotion.
- Les visiteurs qui sont connectés et leurs cookies pour contrôler la fonction de connexion ont un identifiant unique.
Voici 5 exemples d'emplacements que vous voudrez peut-être inclure ou exclure d'une expérience et qui peuvent être définis avec regex :
- Pages avec des valeurs de chaîne de requête dynamiques/uniques.
- Pages de destination spécifiques avec des termes communs mais des identifiants uniques.
- Pages de catégories et de sous-catégories.
- Plusieurs pages dans l'entonnoir de paiement pendant que les visiteurs passent d'une étape à l'autre.
- Partout sauf quelques pages.
Comment utiliser Regex dans les tests A/B ?
Les expressions régulières sont utiles dans toute expérience A/B / MVT / Personnalisation / A/A / Multipage / Split URL qui bénéficie de correspondances de modèles d'URL complètes ou partielles.
Nous pouvons utiliser regex dans les tests A/B pour :
- vérifier la structure d'une URL
- extraire des sous-chaînes d'URL structurées
- rechercher / remplacer / réorganiser des parties de l'URL
- diviser une URL en jetons
- trouver une partie constante de l'URL.
Tous ces éléments reviennent régulièrement lors de la rédaction d'une expérience Convert.
Les correspondances d'expression régulière sont utiles lorsque le chemin, les paramètres de fin ou les deux peuvent varier dans les URL d'une même page Web.
Par exemple, si un utilisateur provient de l'un des nombreux sous-domaines et que vos URL utilisent des identifiants de session, vous pouvez utiliser une expression régulière pour définir l'élément constant de votre URL. Plutôt pratique, non ?
Chez Convert, nous utilisons des expressions régulières (raccourcis en regex et regex ) pour vous permettre de cibler vos expériences sur un ensemble spécifique de pages, ou sur des URL complexes ou dynamiques. Il est également utilisé pour définir des audiences avec plusieurs variables qui ont quelque chose en commun, vous permettant ainsi de cibler des visiteurs spécifiques du site Web et dans plusieurs autres cas d'utilisation que nous présentons ci-dessous.
Il y a beaucoup d'informations sur les regex sur Internet et beaucoup d'entre elles ne s'appliquent pas vraiment à la façon dont vous les utiliserez avec Convert Experiences, nous avons donc créé ce guide regex pour vous aider à démarrer.
Cas d'utilisation Regex : Interface d'expression régulière de Convert avec Checker
Il existe de nombreux testeurs/validateurs de regex que vous pouvez utiliser avant d'importer vos formules et modèles dans l'interface utilisateur de conversion.
Nous avons conçu une section regex (voir ci-dessous) pour permettre aux utilisateurs non familiers d'écrire leurs propres formules regex et de les valider avec notre vérificateur.
Les correspondances d'expressions régulières sont ensuite évaluées à l'aide du module RegExp régulier intégré de JavaScript.
Voici quelques exemples de l'apparence du vérificateur à différents endroits de l'application :
Comment utiliser les expressions régulières dans l'application Convert Experiences (avec exemples)
Passons maintenant en revue chacun de ces cas d'utilisation et voyons quelques exemples d'instances où les regex sont extrêmement utiles.
1. Zone de site avec Regex
La zone du site est l'endroit dans l'application Convert Experiences où vous configurez les critères de ciblage de page qui déclenchent vos expériences.
La configuration d'URL la plus basique déclenche l'expérience basée sur une URL, par exemple : "https://www.convert.com".
Ce paramètre est configuré automatiquement lorsque vous créez votre expérience pour la première fois. Et il est défini sur l'URL que vous avez saisie pour créer votre expérience A/B / expérience MVT / personnalisation ou l'URL d'origine sur une expérience d'URL fractionnée.
Cependant, vous pouvez modifier cette configuration par défaut en sélectionnant l'un des nombreux opérateurs fournis par la zone de site pour déclencher votre expérience.
L'un des opérateurs s'appelle "Matches Regex" et un autre s'appelle "Ne correspond pas exactement à la regex".
Vous pouvez utiliser ces deux options pour définir les pages sur lesquelles vous souhaitez exécuter vos expériences Convert lorsqu'aucun autre opérateur ne peut être utile pour appliquer les paramètres d'URL souhaités.
Voyons quelques cas d'utilisation pour faciliter la compréhension !
Exemple 1
Supposons que vous souhaitiez exécuter une expérience avec ces deux conditions :
- Source de trafic = Google Adwords
- L'URL contient prg=ABTEST
Voici comment vous écririez l'expression régulière dans votre zone de site :
https://convert.com/\?(?=.*utm_source=google)(?=.*prg=ABTEST).*
Exemple 2
Supposons que vous souhaitiez comparer 3 pages de destination à une variante.
Les pages de destination sont :
- https://www.convert.com/lp-home
- https://www.convert.com/lp-home-agencies
- https://www.convert.com/lp-home-clients
avec la variante étant https://www.convert.com/lp-semhome/desktop
Dans cet exemple, vous écririez l'expression régulière dans votre zone de site comme ceci :
https:\/\/www.convert.com\/lp-home(\/|-agences|-clients|)
Exemple 3
Maintenant, imaginons que vos collègues vous demandent de mettre en place une expérience où :
- Le trafic vers l'original doit être égal à 0
- Le paramètre de requête contient utm_bucket=competitor
- Le trafic est réparti à 50/50 entre les deux variantes, donc lorsque le trafic arrive sur https://convert.com/?utm_bucket=competitor, 50 % du trafic va sur https://convert.com/vs-offerpad/ et l'autre 50% va à https://convert.com/vs-zillow/
Dans ce cas, la regex ressemblerait à ceci :
https://www.convert.com/([^\?]+)?\?{0,1}(.*)([&,\?]utm_bucket=concurrent)(.*)$
Exemple 4
Un autre cas pourrait être que vous souhaitiez tester les conditions ci-dessous :
- L'URL de la page doit contenir /collections/
- L'UR de la page ne doit pas contenir /produits/
- L'URL de la page ne doit pas correspondre exactement : https://convert.com/collections/
- Le paramètre de requête d'URL ne doit pas contenir ?v=t
- L'URL d'origine peut être n'importe quelle page sous les collections
Ici, vous devez combiner regex avec des audiences pour remplir toutes les conditions. Ainsi, la regex dans votre Site Area ressemblera à ceci :
Et n'oubliez pas de définir l'audience pour exclure les visiteurs qui ont ?v=t dans leur URL.
https://www.convert.com/collections/(?!(.*\/)products)(.*)([^\?]+)?\?{0,1}(.*)$
Exemple 5
Dans ce dernier exemple, supposons que vous souhaitiez exécuter une expérience d'URL fractionnée dans laquelle, lorsque la taille de la boutique est incluse dans l'URL, vous souhaitez exécuter le test et répartir le trafic entre l'original et la variante.
1. L'original peut être l'un des éléments ci-dessous :
https://convert.com/products/shop-size
https://convert.com/collections/new-products-deals/products/shop-size
https://convert.com/collections/fitting/products/shop-size
2. L'URL de la variante peut ressembler à ceci : https://convert.com/products/the-original-fittings
Ici, ce sera votre regex :
2. Audiences avec Regex
Une autre section où vous pouvez tirer parti des expressions régulières dans l'application Convert Experiences est Audiences.
Un public est un groupe d'utilisateurs/visiteurs de sites Web qui ont quelque chose en commun. Avec les audiences, vous classez les visiteurs de votre site Web en groupes en fonction de critères spécifiques tels que l'emplacement, l'appareil utilisé pour accéder au site, l'heure de la journée, leur page de destination ou tout autre comportement de l'utilisateur.
Les visiteurs d'un sous-groupe différent sont susceptibles de se comporter ou d'acheter de la même manière. Vous pouvez créer des audiences en spécifiant les conditions qui permettent à Convert de décider à quelle audience un visiteur est éligible et d'exécuter le test ou la variante appropriée.
Nous ne prenons en charge les expressions régulières que dans l'un des 3 types d'audience que nous proposons, la segmentation.
Lorsque vous sélectionnez ce type d'audience, ces conditions deviennent disponibles :
Exemple
Supposons que vous souhaitiez exécuter une expérience ciblant les visiteurs du site Web dont la page de destination se compose d'un terme commun tel que "produits". Dans ce cas, vous devez sélectionner la condition "URL de la page" dans la liste de gauche, puis "Correspond à Regex" comme opérateur.
Et vous avez terminé !
3. Objectifs avec Regex
Pour suivre les conversions d'objectifs pour vos expériences, vous devez spécifier les URL de page où vous souhaitez enregistrer la conversion. Convert Experiences vous permet de saisir des URL spécifiques, des modèles de page ou des expressions régulières (regex) des pages sur lesquelles vous souhaitez enregistrer la conversion par objectif.
Exemple
Disons que votre objectif est de vérifier combien d'utilisateurs accèdent à une page particulière de votre site Web.
Dans ce cas, vous devez définir le type d'objectif comme "Visiter une page spécifique" et saisir l'URL de la page que les utilisateurs doivent visiter pour enregistrer la conversion :
Et voici à quoi ressemble votre regex :
https://convert.com/$1/privacy/?$3
4. Regex dans les sites Web actifs
Convert prend en charge les caractères génériques dans vos paramètres "Sites Web actifs".
Par exemple, si vous souhaitez inclure tous les sous-domaines sous « domaine.com », vous devez configurer l'entrée « Domaine actif » comme suit : « http://*.domaine.com ».
Erreurs courantes à éviter lors de l'utilisation de Regex
Il ne suffit pas de définir une fois votre regex pour votre ciblage d'URL, puis de l'ignorer. Un nettoyage et des vérifications réguliers sont nécessaires pour s'assurer que les bonnes pages/audiences/objectifs sont continuellement dans les bonnes expériences.
Voici les principales erreurs que nous voyons souvent apparaître dans nos tickets d'assistance :
1. Inclure les caractères de début et de fin
Si vous incluez les caractères de début et de fin (^ et $), toute URL qui comprend du texte avant ou après le modèle ne sera pas mise en correspondance.
Évitez de les utiliser.
Il est très courant que les URL incluent des chaînes de requête à la fin, telles que le paramètre UTM qui sont ajoutés aux URL à des fins de suivi.
Un exemple de ceci serait:
https://www.convert.com/?utm_campaign=ads
2. Inclure une barre oblique
Une barre oblique (/) à la fin de l'URL est généralement facultative.
Si votre regex inclut ce caractère à la fin, une visite à la même URL mais sans la barre oblique ne correspondrait pas. Il est préférable de ne pas inclure ce dernier caractère de barre oblique.
3. Dépasser la limite de caractères
Il y a une limite de 750 caractères pour toutes nos règles de ciblage regex. Si vous dépassez cette limite, aucune erreur ne sera générée pour vous alerter du problème (même si je pense que cette limite ne peut pas être atteinte facilement).
4. Exécution d'expériences simultanées sur la même page
Si vous essayez d'exécuter simultanément plusieurs expériences sur la ou les mêmes pages, cela entraîne une collision quant à l'expérience à laquelle un visiteur doit participer et aux modifications à appliquer en premier.
Pour cette raison, vous devez être prudent avec votre ciblage d'URL regex. Si vous ciblez la même page avec les règles de ciblage de plusieurs tests A/B, vous devez suivre ces instructions pour éviter la collision.
Si vous avez besoin d'aide pour comprendre les expressions régulières ou pour le ciblage d'URL de vos expériences Convert, notre équipe d'assistance est prête à répondre à vos questions. Vous pouvez nous joindre à tout moment via le chat intégré à l'application. Nous serons heureux de vous donner un aperçu et de vous montrer quelques exemples afin que vous puissiez commencer à utiliser regex en toute confiance dans vos tests !