Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Tester l'application

Le test des applications est d'une importance cruciale, particulièrement quand de nombreuses plateformes et appareils sont supportés. Le nombre de test et leur type dépend du périphérique et de la plateforme qui sera utilisée. Les types de tests sont:

  • Vitesse
  • Performance et efficience (ndlt: consommation des ressources)
  • Vérification des saisies et des résultats
  • Contact et interactivité

Ceci est une liste classique, d'autres idées peuvent apparaître durant le test.

Différence des environnements web

Les points suivants sont à garder à l'esprit lorsque l'on travaille avec plusieurs environnements web différents.

Préfixes constructeur (vendor prefixes)

Certaines fonctions avancées de JavaScript, ainsi que de CSS, peuvent être préfixées avec -webkit, -moz, -o, ou -ms. Il est nécessaire de connaitre l'environnement visé par l'application et de préfixer les fonctions en conséquence.

Note: Vous devez essayer d'éviter d'utiliser les fonctionnalités qui ne sont disponibles que sur certains appareils, à moins de fournir un retour de secours ou si vous destinez votre application à n'être utilisée que sur un nombre limité d'appareils.

Détection des fonctionnalités

Certains environnements vont supporter des fonctionnalités spéciales, et d'autres non. La détection des fonctionnalités est le meilleur moyen de connaitre quels outils sont disponibles pour une plateforme donnée. Par exemple, pour détecter le support de l'API Géolocalisation vous pouvez écrire le code suivant:

if("geolocation" in navigator) {
  // La géolocalisation est disponible, vous pouvez l'utiliser!
}

Le site CanIUse.com fournit une matrice détaillée du support des navigateurs et des périphériques pour une fonctionnalité spécifique. Une bibliothèque de type Modernizr détecte automatiquement les fonctions disponibles au chargement de la page et fournit les informations en conséquence.

Affichage adaptatif (responsive design)

Utiliser les media queries et anticiper la conception des écrans empêchera les problèmes d'affichage. Une erreur courante est de ne pas utiliser les images vectorielles pour des éléments qui peuvent grandir ou rétrécir, utiliser des tailles fixes pour tous les appareils, ne pas tester les différentes orientations et simplement ne pas regarder l'application à différentes résolutions. Les services comme Screenfly et responsivepx aident au test du rendu de l'application aux différentes tailles d'écran, mais ils ne remplace pas de faire manuellement le test sur le materiel supporté.

Il faut aussi prendre en compte les problèmes qui peuvent survenir lorsque des appareils différents ont des résolutions d'écran différentes. Un exemple de ce cas: le problème de page rognée lors qu'Apple a lancé la troisième génération de l'iPad avec son affichage 2048x1536 :

Voir aussi:

Test unitaire

Le test unitaire est une pratique courante dans tous les développements, et le test des applications web n'est pas différent. Le test unitaire de CSS et JavaScript est très simple quand l'application est développée de façon modulaire. Parmi les outils célèbres de test pour JavaScript on retrouve  Jasmine, QUnit, et YUI Test. Chacun de ces sites fournit un exemple d'utilisation de son framework.

Performance

Le test des performances peut être difficile à prescrire vu qu'il est entièrement dépendant du travail effectué par l'application. Les principes de base du développement web comme réduire les requêtes HTTP (la concaténation du JavaScript ou les sprites CSS aident), minifier les fichier JS et CSS, placer les scripts en bas de la page et configurer correctement les en-tête Expires aident à cette tâche. L'équipe YSlow fourni une liste de bonnes pratiques concernant les performances web à suivre, tout ce qui vous permettra d'améliorer votre application web. Le site HTML5Rocks fourni lui aussi une liste des bonnes pratiques concernant la performance.

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : JeffD
 Dernière mise à jour par : JeffD,