Qu'est-ce que les tests front-end ?

โšก Rรฉsumรฉ intelligent

Les tests front-end vรฉrifient l'interface utilisateur graphique, les fonctionnalitรฉs, l'ergonomie et les performances de la couche de prรฉsentation, afin de dรฉtecter les problรจmes de mise en page, les scripts dรฉfectueux et les pages lentes avant mรชme que les utilisateurs finaux ne les rencontrent.

  • (I.e. Portรฉe d'abord : Un plan รฉcrit dรฉfinit les navigateurs, les systรจmes d'exploitation et les appareils concernรฉs avant le dรฉbut du script.
  • โ˜‘๏ธ Trois dรฉclencheurs : Rรฉgression CSS, JavaLa plupart des suites front-end sont principalement basรฉes sur la dรฉtection des erreurs de script et les contrรดles de performance.
  • โœ… Suites superposรฉes : Les contrรดles unitaires, par composant, de bout en bout, de rรฉgression visuelle et d'accessibilitรฉ dรฉtectent chacun un type de dรฉfaillance diffรฉrent.
  • ๐Ÿงช Outils variรฉs : Jasmin, SeleniumCSSLint et BackstopJS cรดtoient Jest. Cypress et dramaturge.
  • ๏ธ Courses plus rapides : Les navigateurs sans interface graphique, la rรฉduction du rendu DOM et l'isolation des cas de test raccourcissent chaque cycle de rรฉgression.
  • ๐Ÿ“ˆ Objectif performances : Les indicateurs Web Vitals principaux mesurรฉs avec PageSpeed โ€‹โ€‹Insights montrent si l'interface atteint rapidement les utilisateurs.

Tests front-end de l'interface graphique, des fonctionnalitรฉs et de l'ergonomie d'une application web

Qu'est-ce que les tests front-end ?

Tests frontaux est une technique de test dans laquelle le Interface utilisateur graphique (GUI), fonctionnalitรฉ et convivialitรฉ d'une application web sont testรฉes. L'objectif est de confirmer que la couche de prรฉsentation reste exempte de dรฉfauts au fil des mises ร  jour successives.

Par exemple, si vous saisissez votre nom dans un champ de formulaire, les chiffres ne doivent pas รชtre acceptรฉs. Vรฉrifier l'alignement des รฉlรฉments d'interface graphique est un autre cas courant.

Par ailleurs, des tests front-end sont effectuรฉs pour :

  • Tests de rรฉgression CSS : Modifications CSS mineures qui perturbent la mise en page du front-end.
  • JavaModifications du script qui rendent la partie avant non fonctionnelle.
  • Contrรดles de performances sur la rapiditรฉ avec laquelle l'interface devient utilisable.

Comment crรฉer un plan de test de site Web frontend ?

ร‰laborer un plan de test front-end est un processus simple en quatre รฉtapes.

ร‰tape 1) Dรฉcouvrez les outils pour gรฉrer votre plan de test.

ร‰tape 2) Dรฉterminer le budget pour les tests front-end.

ร‰tape 3) ร‰tablissez le calendrier de l'ensemble du processus.

ร‰tape 4) Dรฉfinir le pรฉrimรจtre du projet. Le pรฉrimรจtre comprend :

  • Operasystรจmes d'exploitation et navigateurs utilisรฉs par vos utilisateurs
  • Appareils populaires utilisรฉs par le public
  • Compรฉtences techniques du public
  • vitesse de connexion Internet du public

Pourquoi crรฉer un plan de tests front-end ?

Le schรฉma ci-dessous illustre les deux dimensions qu'un plan doit impรฉrativement dรฉfinir.

Plan de test front-end couvrant les navigateurs et les systรจmes d'exploitation concernรฉs

Un plan dรฉtermine quels navigateurs et systรจmes d'exploitation Le projet doit couvrir un certain nombre de points. Les combinaisons possibles รฉtant innombrables, un plan permet de rรฉduire les efforts et les coรปts.

Ce plan prรฉsente deux avantages รฉvidents :

  • Il clarifie parfaitement la portรฉe du projet.
  • Cela inspire confiance lors du dรฉploiement du projet.

Conseils pour de meilleurs tests front-end

Conseils pour รฉlaborer un meilleur plan de tests front-end :

  • Prรฉparez judicieusement votre budget, vos ressources et votre temps.
  • Utilisez un navigateur sans interface graphique pour que les tests s'exรฉcutent plus rapidement.
  • Rรฉduisez la quantitรฉ de rendu DOM dans les tests pour une exรฉcution plus rapide.
  • Isolez les cas de test afin de trouver rapidement la cause premiรจre d'un bug et de rรฉduire la durรฉe du cycle de correction.
  • Rendez vos scripts de test rรฉutilisables pour une accรฉlรฉration plus rapide. cycles de rรฉgression.
  • Utilisez une convention d'appellation cohรฉrente pour vos scripts de test.
  • Attachez chaque cas de test ร  un comportement visible.

Outils de test front-end

Aucun outil unique ne permet de gรฉrer ร  la fois les scripts, les feuilles de style et les รฉlรฉments visuels ; les รฉquipes en combinent donc plusieurs.

Outil de test JS : Jasmine

Jasmin est un cadre de dรฉveloppement pilotรฉ par le comportement pour les tests Javascรฉnario Ce code privilรฉgie la valeur ajoutรฉe pour l'entreprise plutรดt que les dรฉtails techniques, possรจde une syntaxe claire et ne dรฉpend d'aucun autre framework. Il s'appuie sur des frameworks de tests unitaires tels que JSSpec, ScrewUnit, JSpec et RSpec. Jest et Vitest sont aujourd'hui des alternatives largement utilisรฉes.

Outil de tests fonctionnels : Selenium

Selenium effectue des tests de bout en bout sur diffรฉrents navigateurs et plateformes tels que Windows, macOS et Linux, et vous permet d'รฉcrire des tests en Java, Python, C# et d'autres langages. Selenium IDE Ajoute l'enregistrement et la lecture, donc un premier script ne nรฉcessite aucun code. Cypress et Playwright couvrent le mรชme terrain avec une attente intรฉgrรฉe et tracING.

Outils CSS et visuels : CSSLint et BackstopJS

CSSLint est un linter open-source รฉcrit en JavaScript exรฉcutable dans le navigateur et en ligne de commande. N'รฉtant plus maintenu, les รฉquipes utilisent dรฉsormais Stylelint ou le support CSS d'ESLint pour l'analyse des feuilles de style.

BackstopJS Il gรจre les tests de rรฉgression visuelle. Il affiche les pages dans Chrome sans interface graphique, compare chaque capture d'รฉcran ร  une image de rรฉfรฉrence approuvรฉe et vous permet de configurer les tailles de la fenรชtre d'affichage et les conditions de rรฉussite/รฉchec.

Deux dรฉfis s'appliquent ร  tout outil de test front-end :

  • Automatisation des tests Cela nรฉcessite beaucoup d'efforts au dรฉbut.
  • Les outils peuvent prรฉsenter des problรจmes de compatibilitรฉ avec certains systรจmes d'exploitation et versions de navigateurs.

Optimisation des performances frontales

Les tests de performance front-end rรฉpondent ร  une question : ร  quelle vitesse la page se charge-t-elle et devient-elle utilisable ? Il est recommandรฉ de les optimiser pour un utilisateur unique avant que lโ€™application ne subisse une charge importante. Test de performance.

Pourquoi lโ€™optimisation des performances front-end est-elle importante ?

L'optimisation des performances impliquait autrefois le rรฉglage du serveur, car la plupart des sites web รฉtaient statiques et le traitement s'effectuait cรดtรฉ serveur.

Avec la dynamisation des applications web, une part importante du travail s'est dรฉplacรฉe vers le navigateur : code du framework, scripts tiers, images et polices. Le code cรดtรฉ client est ainsi devenu un goulot d'รฉtranglement ร  part entiรจre.

Quel est lโ€™avantage de lโ€™optimisation des performances front-end ?

  • Les problรจmes cรดtรฉ client nuisent autant ร  l'expรฉrience utilisateur que les goulots d'รฉtranglement du serveur ; les deux mรฉritent donc d'รชtre pris en compte.
  • L'attente d'un visiteur se produit en grande partie aprรจs la rรฉponse du serveur (tรฉlรฉchargement, analyse et rendu), c'est pourquoi le travail sur l'interface utilisateur gรฉnรจre souvent le gain visible le plus important.
  • Des solutions comme la compression des images, le report des scripts et la rรฉservation d'espace pour les mรฉdias sont moins coรปteuses qu'une refonte de l'architecture back-end.
  • Indicateurs Web essentiels โ€” Plus grande zone de contenu affichรฉe, interaction avec la zone suivante affichรฉe et mise en page cumulative Shift โ€” Afficher les rรฉsultats sur un tableau de bord partagรฉ.

Outils de test de performances front-end

1. Aperรงu de PageSpeed

PageSpeed โ€‹โ€‹Insights is GoogleLe service d'analyse de pages gratuit de Chrome. Il effectue un audit Lighthouse, gรฉnรจre un rapport sur les Core Web Vitals et propose des suggestions pour rรฉduire le temps de chargement. Lighthouse est รฉgalement intรฉgrรฉ aux outils de dรฉveloppement de Chrome.

2. Pingdom

Pingdom est un service de surveillance des sites web et de leurs performances. Il alerte les clients lorsqu'une page ralentit ou devient inaccessible, permettant ainsi de dรฉtecter les problรจmes avant mรชme que les utilisateurs ne les signalent.

Caractรฉristiques :

  • Analyse toutes les parties d'une page web
  • Fournit un aperรงu des performances
  • Tracvotre historique de performance
  • Vous permet de tester ร  partir de plusieurs emplacements

FAQ

Les tests front-end vรฉrifient ce que l'utilisateur voit : la mise en page, les interactions et la rรฉactivitรฉ. Les tests back-end vรฉrifient les serveurs, les API et les bases de donnรฉes qui se cachent derriรจre l'interface. Ces deux types de tests sont complรฉmentaires et une mise en production nรฉcessite les deux.

Une suite de tests classique comprend des tests unitaires sur les fonctions, des tests de composants sur les widgets rendus, des tests de bout en bout sur les parcours utilisateurs, des tests de rรฉgression visuelle sur les captures d'รฉcran et des analyses d'accessibilitรฉ. Chaque couche dรฉtecte les erreurs que les autres laissent passer.

Une capture d'รฉcran de rรฉfรฉrence est approuvรฉe, puis les exรฉcutions ultรฉrieures sont comparรฉes pixel par pixel ร  celle-ci. Les diffรฉrences sont soumises ร  un humain pour acceptation ou rejet, ce qui permet de dรฉtecter des problรจmes de mise en page que les assertions fonctionnelles ne repรจrent pas.

Oui. Les scanners signalent les รฉtiquettes manquantes, le faible contraste et les problรจmes de mise au point dans le mรชme processus. Les passages au clavier et au lecteur d'รฉcran restent manuels. test d'accessibilitรฉ n'est jamais entiรจrement automatisรฉ.

Les fonctionnalitรฉs d'IA permettent de rรฉdiger des cas de test ร  partir de rรฉcits utilisateurs, de proposer des sรฉlecteurs stables, de rรฉparer automatiquement les localisateurs aprรจs des modifications de balisage et de regrouper les diffรฉrences visuelles quasi identiques. RevL'avis des utilisateurs reste important : une assertion gรฉnรฉrรฉe peut enfermer un dรฉfaut.

Copilote GitHub Le programme gรฉnรจre des tests de composants, des mocks et des objets de page ร  partir d'un fichier ouvert, ce qui rรฉduit considรฉrablement le code rรฉpรฉtitif. Les comportements asynchrones et les rรจgles mรฉtier qu'il n'a jamais rencontrรฉes nรฉcessitent toujours une vรฉrification par un dรฉveloppeur.

Les deux. Les vรฉrifications rรฉpรฉtables (formulaires, navigation, instantanรฉs de mise en page) sont automatisรฉes ร  chaque compilation. Le travail exploratoire, le jugement visuel et l'observation de l'utilisabilitรฉ restent manuels, car ils dรฉpendent de l'interprรฉtation humaine.

Laissez les analyses dรฉcider. Couvrez les navigateurs, versions et tailles d'รฉcran qui gรฉnรจrent le plus de trafic rรฉel, ajoutez une rรฉfรฉrence plus ancienne et considรฉrez le reste comme des vรฉrifications ponctuelles. test mobile.

Rรฉsumez cet article avec :