Evolv

Solution de croissance numérique pilotée par l’IA n° 1

testé et perfectionné en collaboration avec QAwerk

La solution Evolv Digital Growth Optimization permet aux marques de s’adapter à l’évolution constante du marché. Grâce à l’intelligence artificielle, Evolv intervient sur tous les points de contact numériques du parcours client, y compris le web et le mobile, et permet aux entreprises de répondre aux attentes toujours plus élevées des consommateurs.

Tous les clients

Tests Web et de bureau

Nous testons rigoureusement les applications web et de bureau d’Evolv afin de garantir leur bon fonctionnement. Grâce à notre assistance qualité continue, Evolv peut déployer rapidement de nouvelles fonctionnalités et continuer à apporter de la valeur ajoutée à ses clients, tout en assurant une disponibilité permanente de sa plateforme.

En savoir plus

Tests automatisés

Forts d’une solide expérience en tests automatisés et d’une approche proactive, nos ingénieurs QA aident Evolv à maintenir une stratégie rentable pour l’automatisation des tests de régression et des tests de non-régression. Grâce à nos tests automatisés continus, Evolv peut déployer des mises à jour logicielles fréquemment et en toute sécurité.

En savoir plus

Introduction

Evolv permet aux entreprises d’optimiser leurs performances grâce à sa plateforme SaaS basée sur l’IA, conçue pour lancer de multiples expériences UX allant bien au-delà des tests A/B traditionnels. Evolv aide ses clients à améliorer significativement des indicateurs clés tels que les taux de conversion en intégrant les améliorations UX pertinentes à leurs sites web ou applications. Créée en 2019, Evolv est issue de Sentient Technologies, une entreprise spécialisée dans la recherche et le développement en IA depuis près de dix ans. Cette équipe a développé des algorithmes innovants, désormais intégrés à la plateforme d’optimisation d’Evolv. Initialement, nous proposions nos services à Sentient Technologies ; après la vente de la majorité de ses activités à Cognizant, Evolv a vu le jour à partir de la propriété intellectuelle de l’offre précédemment appelée Sentient Ascend.

Une plateforme dotée d’une logique métier aussi étendue requiert une architecture complexe et unique, composée de multiples modules. Afin de garantir la robustesse et la fiabilité de la plateforme, Evolv investit continuellement dans les tests logiciels et l’assurance qualité, et confie cette mission cruciale à QAwerk.

La solution d’optimisation de la croissance numérique d’Evolv permet aux marques de tirer profit des tendances et des préférences des clients grâce à des études éprouvées sur l’amélioration de l’expérience utilisateur. Evolv aide ses clients à analyser leur stratégie actuelle d’expérience client numérique, à générer de nouvelles idées à explorer et à exploiter son logiciel d’IA propriétaire pour identifier rapidement les expériences performantes et y diriger le trafic en temps réel.

Imaginons qu’un chef d’entreprise souhaite inciter davantage de visiteurs à utiliser un aimant à prospects sur une page de service. Or, la recherche d’options pour optimiser le parcours utilisateur sur cette page à l’aide de tests A/B classiques s’avère trop coûteuse en temps et en argent. Evolv permet de tester simultanément plusieurs options d’expérience utilisateur (UX), en excluant automatiquement les moins performantes. De plus, la plateforme propose une seconde phase d’expérimentation UX – EVO – où les variantes issues de différentes variables sont combinées grâce aux algorithmes d’apprentissage automatique. Ainsi, disposant de tous les rapports statistiques nécessaires, le chef d’entreprise saura précisément quelles modifications UX apporter pour atteindre son objectif d’optimisation.

Défi

Au tout début, il nous était difficile de réaliser des tests complets sans une compréhension approfondie de la logique métier et du périmètre de la plateforme. À l’époque, nous ne disposions que de quelques cas de test et utilisions une ancienne version de l’application web d’Evolv. Par la suite, nous avons commencé à tester leur toute nouvelle application de bureau, Web Editor, conçue pour améliorer l’expérience utilisateur des sites web clients, ainsi qu’une application web, Manager, permettant de lancer et de gérer des tests pilotés par l’IA et de consulter toutes les statistiques pertinentes des expériences. L’un de nos principaux défis consistait à vérifier que le test A/B était correctement conçu, que l’expérience UX se déroulait comme prévu et que l’application Manager affichait des rapports précis.

Tous les services d’assurance qualité que nous fournissons à Evolv peuvent être regroupés dans les catégories suivantes :

  • Tester les améliorations de l’expérience utilisateur (UX) pour les expérimentations menées par les clients d’Evolv – proposer des solutions UX personnalisées à chaque visiteur et client – ​​est un élément essentiel de la stratégie de croissance numérique d’Evolv. Notre rôle consiste ici à garantir la bonne mise en œuvre de toutes les modifications UX suggérées pour optimiser cette croissance.
  • Tests des versions de produits + tests de régression – Evolv publie des mises à jour logicielles tous les mois, nous testons donc régulièrement les nouvelles fonctionnalités, les correctifs de bugs et effectuons des tests de régression des fonctionnalités principales pour assurer le fonctionnement de la plateforme 24h/24 et 7j/7.
  • Tests automatisés – notre principal défi dans ce domaine est d’automatiser les tests de régression et les tests de fumée afin qu’ils puissent être exécutés dans le pipeline CI/CD. Nous nous efforçons également de créer des tests faciles à maintenir et réutilisables, en privilégiant l’automatisation des tests sans code.

Solution

Les obstacles rencontrés lors des tests initiaux ont été rapidement surmontés grâce à une communication étroite avec l’équipe d’Evolv et à une documentation complète. Pendant que nous rédigions les cas de test dans CucumberStudio, l’équipe d’Evolv préparait des documents de débogage pour nous aider à mieux comprendre la logique de la plateforme. Une fois la migration d’Evolv vers une nouvelle plateforme effectuée, les tests ont été facilités car, ayant participé à chaque étape de son développement, nous connaissions parfaitement son architecture et sa logique sous-jacente.

À ce jour, nous avons finalisé une série de tests de régression couvrant les fonctionnalités principales de la plateforme. Nous effectuons des tests de régression à chaque nouvelle version et avons réussi à réduire ce processus de 3-4 jours à 2 jours.

Nous sommes également ravis d’étendre nos services au domaine des tests automatisés, ce qui réduit considérablement le temps que notre équipe QAwerk consacre à la vérification des fonctionnalités principales de chaque nouvelle version. Lors de la mise en œuvre de tests automatisés, les ingénieurs QA doivent souvent gérer des modifications de code continues, voire une réécriture complète, pour que les tests fonctionnent. La difficulté réside dans la nécessité de développer et de mettre à jour la plateforme en continu, et dans la possibilité que le parcours utilisateur soit modifié à plusieurs reprises. Par conséquent, chaque modification du parcours utilisateur entraîne des modifications du code d’automatisation des tests, ce qui représente une perte de temps et d’efforts. Nous avons trouvé une approche plus productive pour automatiser les tests de régression et les tests de fumée, qui nous permet d’écrire du code maintenable et réutilisable et de créer facilement de nouveaux scénarios de test sans écrire une seule ligne de code : nous créons simplement de nouveaux ensembles de scénarios dans Cucumber Studio.

Automatisation des tests

Voyons plus en détail comment nous sommes parvenus à une automatisation des tests quasi sans code. Au départ, Evolv utilisait CucumberStudio comme outil de collaboration BDD. Lorsque nous avons commencé à travailler avec Evolv, ils l’utilisaient pour écrire et exécuter manuellement des cas et scénarios de tests. De notre côté, nous utilisions CodeceptJS, et plus précisément Puppeteer, pour le projet d’automatisation. Nous souhaitions toutefois tirer parti des avantages des deux outils et optimiser le processus d’automatisation afin de le rendre rapide et transparent, même pour les employés ayant peu ou pas de connaissances en programmation.

En combinant les fonctionnalités d’automatisation de CucumberStudio, telles que l’exportation de tests pour les frameworks BDD comme CodeceptJS et l’importation de fichiers .feature, avec des techniques JavaScript avancées (analyse AST et génération de code), nous avons créé un outil générant automatiquement le code d’interface nécessaire à l’intégration bidirectionnelle des projets d’automatisation basés sur CucumberStudio et CodeceptJS. Cette configuration permet une intégration aisée dans quasiment tous les pipelines CI/CD.

Cette approche permet de réduire considérablement la quantité de code qu’un ingénieur QA doit écrire pour automatiser les scénarios de test courants. De plus, cette configuration permet aux ingénieurs QA manuels de contribuer à l’automatisation des tests avec un minimum de temps de formation. Voici ce qu’ils peuvent faire :

  • Élaborer de nouveaux scénarios de test dans le projet CucumberStudio (dans lequel le fichier .feature généré par notre outil personnalisé avait été importé au préalable) – en utilisant une centaine de mots d’action et de variables de contexte de scénario de test
  • Ajoutez les nouveaux scénarios de test à un exécuteur de tests dans CucumberStudio (avec pipeline CI/CD déjà configuré)
  • Vérifier les nouveaux scénarios de test – réussite dans l’intégration continue et le déploiement continu (CI/CD)
  • Refactorisez les mots d’action de bas niveau (groupes) dans les scénarios de test nouvellement créés en mots d’action de niveau logique métier – autrement dit, de véritables phrases Gherkin dans CucumberStudio

Il n’est pas surprenant que l’automatisation des tests puisse facilement se révéler contre-productive si elle est mal mise en œuvre. La correction des incohérences de tests dues aux modifications de l’interface graphique (fréquentes) constitue l’un des principaux points faibles de l’automatisation des tests. Si un bouton ou une zone de texte est déplacé(e), le localisateur d’éléments ne le trouvera plus, ce qui entraînera l’échec du test. Pour que les tests fonctionnent à nouveau, le testeur d’automatisation devra modifier le code et appliquer les modifications (envoi, fusion, etc.), un processus fastidieux.

Notre approche de l’automatisation des tests permet de réduire le temps nécessaire à ces corrections (et à bien d’autres), qu’il s’agisse de modifications de noms de localisateurs ou de l’ordre des étapes. Les ingénieurs QA manuels peuvent effectuer efficacement ces modifications en corrigeant les étapes de test dans CucumberStudio et en synchronisant ces modifications avec les exécutions de tests.

Bugs détectés

La plus grande partie de notre temps est consacrée aux tests de la plateforme SaaS d’Evolv, composée de l’éditeur Web et du gestionnaire ; par conséquent, les bugs affichés concernent les fonctionnalités de ces applications.

Bug

Résultat réel: Le rapport combiné dans Manager affiche un nombre de visiteurs incorrect. Le nombre total de visiteurs uniques pour cette combinaison est négatif.

Résultat attendu: Le rapport combiné dans Manager affiche un nombre de visiteurs correct.

Résultat réel: Mode QA dans l’éditeur Web : les modifications UX sélectionnées ne peuvent pas être appliquées et ne sont visibles qu’en mode Édition.

Résultat attendu: Mode QA dans l’éditeur Web : les modifications UX sélectionnées sont appliquées avec succès et sont visibles en mode QA.

Bug

Résultat réel: Impossible de créer une nouvelle organisation dans Manager, réception du message : {statusCode : 403, error : « Forbidden », message : « Forbidden resource »}

Résultat attendu: Il est possible de créer une nouvelle organisation dans Manager ; aucun message d’erreur n’est reçu.

Résultat

Having a reliable technology partner is crucial to a company’s continuous growth. With the joint effort of both teams, Evolv managed to release its new product – Evolv 1.0., which allows their clients to conduct even more elaborate UX experiments. We are proud to be part of such an innovative project and continue working tirelessly to assure Evolv’s long lasting success.

Récompensé

Evolv a fait l’acquisition de Sentient Ascend™, une plateforme d’optimisation des conversions de renommée mondiale, en mars 2019 Evolv a fait l’acquisition de Sentient Ascend™, une plateforme d’optimisation des conversions de renommée mondiale, en mars 2019 En savoir plus

Récompensé

Prix ​​des meilleures pratiques de Frost & Sullivan 2020 Prix ​​des meilleures pratiques de Frost & Sullivan 2020 En savoir plus
Je trouve que notre assurance qualité était vraiment mauvaise, mais nous l’avons nettement améliorée grâce à QAwerk, et j’ai hâte de voir les nouvelles améliorations que nous allons apporter avec vous.
star star star star star
Il y a une réelle volonté de mener à bien la tâche dans les délais impartis. La qualité du travail est très élevée. Je recommanderais sans hésiter de travailler avec l’équipe de QAwerk.
star star star star star

Besoin d’une automatisation complète de l’assurance qualité ?

Parlons-en

Outils

JiraJira
CucumberStudioCucumberStudio
CodeceptJSCodeceptJS
PuppeteerPuppeteer
GithubGithub
Github ActionsGithub Actions
29spécialistes impliqués dans le projet
10Ingénieurs QA
200+cas de test écrits
100+Expériences UX testées

Commentaires de l’équipe QAwerk

Alexander

Alexander
Ingénieur assurance qualité

Ce qui rend ce projet vraiment passionnant à mes yeux, c’est la pile technologique avec laquelle je travaille : React, TypeScript, Material UI, MobX, GraphQL, Apollo, RxJS, VX, D3, Formik, Auth0, Electron et Jest. Lors des tests, j’ai dû approfondir certaines de ces technologies, ce qui m’a permis de développer considérablement mes compétences techniques. J’apprécie également beaucoup l’opportunité de réaliser des tests manuels et automatisés, ce qui me permet de mieux comprendre la plateforme et, par conséquent, d’atteindre plus rapidement les objectifs fixés. Concernant l’automatisation des tests, la combinaison CucumberStudio + CodeceptJS + Puppeteer s’est avérée très efficace, nous permettant de créer des tests sous forme de scénarios BDD et d’implémenter facilement la logique complexe à l’aide de verbes d’action. En termes de communication, j’ai légèrement modifié mes horaires de travail afin de pouvoir communiquer en temps réel avec l’équipe d’Evolv, ce qui rend notre collaboration beaucoup plus efficace.

Media
Media
Media
Media
Media

Impressionné ?

Engagez-nous

Autres études de cas

Unfold

Unfold

États-Unis

Nous avons transformé ce créateur d’histoires sujet aux plantages en une plateforme de création de contenu à part entière, qui compte désormais un milliard d’utilisateurs et a été rachetée par SquareSpace

Station

Station

France

Tests de régression exemplaires de cette application desktop disposant de plus de 600 intégrations sur Windows, macOS et Ubuntu

Unpakt

Unpakt

États-Unis

A permis à ce service de déménagement américain très prisé d’identifier les problèmes d’adaptation et d’opérer une transition en douceur vers une nouvelle pile technologique