Comment rendre les tests inter-navigateurs plus efficaces avec LambdaTest

Publié: 2022-03-10
Résumé rapide ↬ Que vous construisiez un nouveau site ou que vous en gériez un en direct, vous ne pouvez pas vous permettre d'apporter des modifications sans un processus de test multi-navigateurs et un outil pour faire le gros du travail à votre place. Le large éventail de tests de LambdaTest est la réponse. Des tests multi-navigateurs entièrement automatisés aux tâches semi-automatisées, nous allons explorer un moyen beaucoup plus efficace d'examiner vos sites Web et toutes leurs itérations de navigateur à la recherche d'erreurs.

Avant que les consommateurs ne restent assis devant des appareils mobiles pendant des heures chaque jour, les concepteurs de sites Web devaient faire face à de nombreux navigateurs et systèmes d'exploitation. Donc, ce n'est pas comme si le concept de test inter-navigateurs était nouveau.

Étant donné que les navigateurs Web ne rendent pas toujours les sites Web de la même manière ou ne traitent pas les données de la manière initialement prévue, les tests inter-navigateurs constituent depuis longtemps une partie importante de la conception et du développement Web. C'est le seul moyen de s'assurer que ce qui est construit dans les coulisses est correctement mis en œuvre sur le frontend d'un site Web.

Mais cela peut rapidement devenir une entreprise fastidieuse si vous essayez de passer en revue chaque navigateur, système d'exploitation et appareil par vous-même.

Heureusement, nous vivons à une époque où l'automatisation est reine et nous avons maintenant une meilleure façon d'effectuer des tests multi-navigateurs (et plus fréquemment aussi). Voyons donc pourquoi vous devez automatiser ce processus et comment le faire avec l'aide de LambdaTest.

Une meilleure façon de gérer les tests inter-navigateurs

Lorsque vous entreprenez de créer un site Web pour vos utilisateurs, vous tenez compte de qui ils sont, de ce dont ils ont besoin et de ce à quoi ils répondront tout au long de leur parcours. Mais comment et quand traitez-vous les différents résultats que vos utilisateurs pourraient rencontrer grâce à leur choix de navigateur ?

La conception réactive peut aider à atténuer certaines de ces différences, mais ce n'est pas une panacée pour les problèmes d'affichage inhérents entre les navigateurs et les appareils.

Pour vous assurer que les choix de code et de conception que vous avez faits pour un site Web n'auront pas d'impact négatif sur les utilisateurs, des tests multi-navigateurs tout au long du processus de conception Web sont essentiels.

"

Et si vous voulez vous assurer que les tests multi-navigateurs approfondis n'ont pas d'impact négatif sur vos résultats, alors l'automatisation est la voie à suivre.

Voici quelques conseils pour vous aider à intégrer des tests automatisés dans votre processus :

Familiarisez-vous avec les différences de prise en charge des navigateurs

Voici un tour d'horizon de Statista des principaux navigateurs Web par part de marché :

Statista - meilleurs navigateurs Web et mobiles 2020
Données Statista sur les meilleurs navigateurs Web et mobiles en 2020. (Source : Statista) ( Grand aperçu )

Maintenant, le problème ici n'est pas nécessairement que chaque navigateur traite les données de votre site Web différemment. Ce qui gâche vraiment les choses, c'est le moteur qui alimente le navigateur dans les coulisses.

Par exemple, voici les moteurs utilisés par les principaux navigateurs Web :

  • Chrome utilise Blink + V8 ;
  • Edge utilise Blink ;
  • Firefox utilise Quantum/Gecko + SpiderMonkey ;
  • Safari utilise WebKit + Nitro ;
  • Internet Explorer utilise Trident + Chakra.

Beaucoup de ces moteurs rendent le même morceau de code différemment. Par exemple, regardez cette expérience créée par LambdaTest :

Expérience LambdaTest - format de date et d'heure dans Chrome
Une expérience LambdaTest montre comment le navigateur Chrome affiche cet extrait de code. (Source : LambdaTest) ( Grand aperçu )

La balise HTML de date est l'une des balises les plus utilisées et, pourtant, Chrome, Firefox et Opera sont les seuls à la prendre entièrement en charge, comme indiqué dans la barre bleue supérieure au-dessus de la zone de test. Même dans ce cas, ces navigateurs offrent des expériences utilisateur très différentes.

Par exemple, l'image ci-dessus vous montre à quoi ressemble la balise de date dans Chrome. Voici comment le même code s'affiche dans Edge :

Expérience LambdaTest : format de date et d'heure dans Edge
Une expérience LambdaTest montre comment le navigateur Edge affiche cet extrait de code. (Source : LambdaTest) ( Grand aperçu )

Non seulement le style et la taille de la police sont légèrement différents, mais la manière dont la liste déroulante de sélection de date apparaît est très différente.

Donc, avant de commencer à penser aux tests inter-navigateurs et à résoudre les problèmes entre ces navigateurs et ces moteurs, familiarisez-vous avec les principales différences.

Un outil que vous pouvez utiliser comme référence est Puis-je utiliser….

Vous pouvez rechercher des écarts dans les composants et les technologies les plus couramment utilisés. Prenez, par exemple, la mise en page de la grille CSS :

Puis-je utiliser… - Compatibilité du navigateur CSS Grid Layout
Puis-je utiliser… assure le suivi de la compatibilité entre navigateurs pour CSS Grid Layout. (Source : Puis-je utiliser…) ( Grand aperçu )

La plupart des principaux navigateurs (et certains moins importants) prennent en charge la disposition en grille CSS (ceux en vert). Internet Explorer (en bleu) fournit un support partiel et Opera Mini (en violet) n'en fournit aucun.

Ou disons que vous essayez d'utiliser plus d'images WebP dans vos conceptions car elles sont bien meilleures pour les performances et la résolution. Voici ce que puis-je utiliser… nous dit sur la prise en charge du navigateur pour le format d'image :

Puis-je utiliser… - Compatibilité du navigateur avec le format d'image WebP
Puis-je utiliser… des données sur la prise en charge de plusieurs navigateurs pour le format d'image WebP. (Source : Puis-je utiliser…) ( Grand aperçu )

Les versions les plus récentes d'Internet Explorer et de Safari (web et mobile) ne le supportent pas . Donc, si vous avez l'intention de concevoir avec des images WebP, vous devrez créer une solution de contournement pour ces navigateurs.

Conclusion : Prenez le temps maintenant de comprendre quel type de contenu ou de code est pris en charge, afin de pouvoir créer plus efficacement un site Web dès le départ.

Conseil de pro : créez une matrice de navigateur pour référence

Vous pouvez voir pourquoi il est si important de comprendre les différences entre les rendus de navigateur et la prise en charge. Plus vous vous familiarisez avec eux, moins vous aurez à faire de brouillage lorsqu'une nouvelle anomalie est découverte.

Pour vous faciliter la tâche, il serait judicieux de créer maintenant une matrice de navigateur pour toutes ces différences.

En voici une simple conçue par LambdaTest :

Exemple de matrice de prise en charge de navigateur Web
Un exemple de la façon dont les concepteurs Web peuvent créer leurs propres matrices de prise en charge de navigateur. (Source : LambdaTest) ( Grand aperçu )

Je vous recommande d'en créer un vous-même. Vous pouvez exploiter les données de Puis-je utiliser… ainsi que documenter les problèmes de support que vous avez rencontrés dans vos propres projets.

Cela vous aidera également à définir des priorités lors de la conception. Par exemple, vous pouvez décider quelles fonctionnalités non prises en charge valent la peine d'être utilisées en fonction du type d'impact qu'elles ont sur les objectifs de votre site Web.

Il serait également utile d'avoir cette feuille de calcul à portée de main une fois qu'un site est en ligne. À l'aide des données de Google Analytics, vous pouvez commencer à hiérarchiser les choix de conception en fonction des navigateurs Web que vos utilisateurs utilisent principalement.

Procurez-vous un outil de test multi-navigateurs qui fait tout

Peu importe la taille des sites Web que vous créez. Tous les sites destinés au public bénéficieraient d'un outil de test multi-navigateur automatisé.

Ce qui est particulièrement agréable dans l'automatisation avec LambdaTest, c'est qu'il offre des options à ses utilisateurs. Des tests entièrement automatisés qui vérifient l'impact de votre code sur le frontend aux tâches semi-automatisées qui facilitent le travail de gestion des mises à jour et des bogues, il existe de nombreuses façons d'automatiser et d' optimiser votre processus.

Voici quelques-unes des fonctionnalités que vous devriez connaître :

Test en temps réel : idéal pour le suivi des bogues

Les tests en temps réel sont utiles lorsqu'il y a quelque chose de ciblé que vous devez examiner de vos propres yeux. Par exemple, si vous avez envoyé une conception au client pour examen et qu'il insiste sur le fait que quelque chose ne va pas de son côté, vous pouvez examiner le site Web en utilisant sa configuration exacte. Cela serait également utile pour confirmer les bogues et identifier les navigateurs concernés.

Dans le panneau Test en temps réel , vous saisirez l'URL de votre site, puis choisirez vos spécifications d'affichage.

Il vous permet d'être très spécifique, en choisissant parmi :

  • Mac contre Android,
  • Type d'appareil,
  • version de l'appareil,
  • Système opérateur,
  • Navigateur Web.
LambdaTest - Test en temps réel
Il s'agit de la zone du tableau de bord LambdaTest pour les tests en temps réel. (Source : LambdaTest) ( Grand aperçu )

Une fois le test commencé, voici ce que vous verrez (selon le type d'appareil que vous choisissez, bien sûr) :

Tests en temps réel avec LambdaTest
Un test en temps réel réalisé par LambdaTest. (Source : LambdaTest) ( Grand aperçu )

Ci-dessus, vous pouvez voir que la première option dans la barre latérale vous permet de changer rapidement la vue de l'appareil. De cette façon, si vous essayez de comparer ou de vérifier les erreurs de quelques vues de navigateur, vous n'avez pas à revenir en arrière.

En ce qui concerne les autres options de test en temps réel, la plupart d'entre elles sont utiles pour identifier et signaler les problèmes dans le contexte où ils se sont réellement produits.

Suivi des bogues LambdaTest
Les tests en temps réel de LambdaTest peuvent être utilisés pour le suivi des bogues et les rapports. (Source : LambdaTest) ( Grand aperçu )

Dans l'outil de suivi des bogues ci-dessus, vous pouvez identifier un endroit sur la page où une erreur s'est produite. Vous pouvez ensuite le marquer à l'aide d'un certain nombre d'outils dans la barre latérale.

Les utilisateurs peuvent également utiliser les options de capture d'écran et de vidéo pour capturer des erreurs plus importantes, en particulier celles qui se produisent lorsque vous parcourez ou interagissez avec le site.

Test de capture d'écran : idéal pour accélérer les tests manuels

Il n'y a aucune raison pour que vous ou votre QA ne puissiez pas encore examiner votre site Web par vous-même. Cela dit, pourquoi faire en sorte que le processus prenne plus de temps que nécessaire ? Vous pouvez laisser les outils de test de l'interface utilisateur visuelle de LambdaTest accélérer le processus.

L'outil Capture d'écran, par exemple, vous permet de sélectionner simultanément tous les appareils et navigateurs que vous souhaitez comparer :

Capture d'écran simultanée LambdaTest
LambdaTest Visual UI Testing est livré avec une capture d'écran simultanée entre navigateurs. (Source : LambdaTest) ( Grand aperçu )

Une fois le test terminé, vous aurez toutes les captures d'écran demandées au même endroit :

Vérification de la capture d'écran Lambdatest pour les incohérences
Les captures d'écran LambdaTest permettent aux concepteurs de vérifier rapidement les incohérences entre les navigateurs. (Source : LambdaTest) ( Grand aperçu )

Vous pouvez les consulter ici, les télécharger sur votre ordinateur ou les partager avec d'autres.

Vous pouvez également organiser vos captures d'écran par projet et version/cycle. De cette façon, si vous travaillez sur plusieurs séries de révisions et que vous souhaitez vous référer à une version précédente, toutes les copies de l'itération précédente existent ici. (Vous pouvez également utiliser des captures d'écran dans les tests de régression que j'expliquerai sous peu.)

Test réactif : idéal pour confirmer une expérience mobile d'abord

Si vous avez besoin de voir plus qu'une simple capture d'écran statique, les tests réactifs sont là pour vous. Tout ce que vous avez à faire est de sélectionner le système d'exploitation et les appareils que vous souhaitez comparer et l'outil remplira les versions de travail complètes du site dans le navigateur mobile :

Test réactif LambdaTest
LambdaTest inclut des tests réactifs en temps réel pour tous les systèmes d'exploitation et appareils. (Source : LambdaTest) ( Grand aperçu )

Vous pouvez revoir la conception et l'interactivité de votre site Web non seulement dans tous les navigateurs possibles, mais vous pouvez également modifier l'orientation du site (au cas où des problèmes apparaîtraient lorsqu'il passe en mode paysage).

Ce qui est bien avec cet outil de test, c'est que si quelque chose semble bancal, vous pouvez marquer le bogue à la seconde où vous le détectez. Un bouton vous permet de le faire directement au-dessus du navigateur mobile interactif. Ainsi, ces erreurs mobiles coûteuses seront signalées et résolues plus rapidement.

Tests intelligents : Idéal pour les tests de régression

L'œil ne peut pas détecter grand-chose, surtout lorsque vous regardez la même section d'une page Web depuis des semaines.

Ainsi, lorsque vous commencez à mettre en œuvre des modifications sur votre site – pendant le développement, juste avant le lancement et même après – les tests de régression vont être cruciaux pour détecter ces problèmes potentiellement difficiles à repérer.

Cela devrait avoir lieu chaque fois que quelque chose change :

  • Vous mettez à jour manuellement une partie de la conception.
  • Le code est peaufiné sur le backend.
  • Quelqu'un signale un bogue et le correctif est implémenté.
  • Le logiciel est mis à jour.
  • Une API est reconnectée.

Si vous savez quelle page et quelle partie de cette page sont directement impactées, les tests intelligents peuvent faciliter la confirmation que tout va bien.

Téléchargez simplement la capture d'écran originale de la page concernée, puis ajoutez une image de comparaison une fois la modification effectuée. (C'est là que cet outil de capture d'écran est vraiment utile.)

Tests intelligents LambdaTest
LambdaTest permet aux utilisateurs d'effectuer des tests de comparaison côte à côte de pages Web. (Source : LambdaTest) ( Grand aperçu )

Remarque : Il n'y a évidemment rien de mal avec le site Web de Smashing Magazine. Mais ce que j'ai fait dans l'exemple ci-dessus, c'est utiliser des rendus pour différentes versions de l'iPhone. Évidemment, ce n'est pas ainsi que fonctionnent les tests de régression, mais je voulais vous montrer à quoi ressemble cette fonction de comparaison lorsque quelque chose ne va pas.

Maintenant, quant à savoir pourquoi cette fonctionnalité est si géniale, voici comment cela fonctionne :

Comparaison en couches LambdaTest
Les utilisateurs de LambdaTest peuvent comparer deux versions du même site Web superposées. (Source : LambdaTest) ( Grand aperçu )

Cette capture d'écran unique vous permet de voir où les deux versions de votre page ne s'alignent plus. Ainsi, si les captures d'écran provenaient de la même vue de navigateur à l'origine, cela pourrait poser problème si vous n'aviez pas prévu de réaligner tous les éléments.

Vous pouvez également utiliser les tests de comparaison côte à côte pour vérifier la même chose :

Comparaison côte à côte LambdaTest
Les utilisateurs de LambdaTest peuvent comparer deux versions de la même page Web côte à côte. (Source : LambdaTest) ( Grand aperçu )

Encore une fois, les tests intelligents sont destinés à vous aider à localiser et à signaler rapidement les problèmes lors des tests de régression. Trouvez la méthode qui vous convient le mieux afin de pouvoir résoudre ces problèmes le plus rapidement possible à partir de maintenant.

Tests automatisés : Idéal pour détecter les problèmes à plus grande échelle

Techniquement, tout ce que nous avons examiné jusqu'à présent comporte une forme d'automatisation intégrée, qu'il s'agisse de traiter simultanément 20 captures d'écran de navigateur différentes ou de vous permettre de voir instantanément les interfaces de test mobiles pour tous les appareils iOS et Android à la fois.

Cela dit, la plate-forme LambdaTest est également livrée avec un outil appelé "Automation". Et cela vous permet de faire des tests Selenium dans le cloud sur plus de 2 000 navigateurs. Une fonctionnalité plus récente, "Lambda Tunnel", peut également être utilisée pour effectuer des tests Selenium sur votre hôte local. De cette façon, vous pouvez voir comment vos modifications de code apparaissent avant même qu'elles ne soient mises en ligne.

Il y a des tonnes d'avantages à combiner LambdaTest avec les tests Selenium :

  • C'est un moyen très efficace d'effectuer de grandes quantités de tests multi-navigateurs, augmentant ainsi la couverture de votre navigateur (ce qui est impossible à faire manuellement).
  • Avec des tests multi-navigateurs parallèles, vous réduisez le temps passé à exécuter des tests d'automatisation dans leur ensemble.
  • Étant donné que les tests Selenium commencent par identifier votre langage de codage préféré, ils peuvent détecter plus intelligemment les erreurs qui apparaîtront dans les navigateurs.

Bien sûr, le plus grand avantage de l'utilisation de LambdaTest Selenium Automation Grid est que LambdaTest vous aidera à évaluer si vos tests réussissent ou échouent.

Test automatisé LambdaTest (vue Build)
LambdaTest peut aider les utilisateurs à qualifier les tests inter-navigateurs d'échecs lorsque des erreurs sont détectées. (Source : LambdaTest) ( Grand aperçu )

Vous devez toujours examiner les résultats pour confirmer que toutes les erreurs sont de véritables échecs et vice versa, mais cela vous fera économiser beaucoup de temps et de maux de tête en laissant LambdaTest faire le travail initial pour vous.

Emballer

Les tests multi-navigateurs ne consistent pas seulement à s'assurer que les sites Web sont adaptés aux mobiles. Ce que nous cherchons finalement à faire ici, c'est d'éliminer les conjectures de la conception Web. Il peut y avoir plus d'une douzaine de navigateurs possibles et des centaines de configurations de navigateur/appareil, mais les tests automatisés entre navigateurs peuvent faciliter la vérification de toutes ces possibilités et la localisation des erreurs.