Question

Je suis sur le point de commencer à tester une application Web intranet.Plus précisément, je dois déterminer les performances de l'application.

S'il vous plaît, quelqu'un pourrait-il suggérer des normes formelles/informelles sur la façon dont je peux juger les performances de l'application.

Était-ce utile?

La solution

Utilisez un outil pour les tests de contrainte et de charge.Si vous utilisez Java, jetez un œil à JMètre.Il fournit différentes méthodes pour tester les performances de vos applications.Vous devez vous concentrer sur :

  • Temps de réponse:À quelle vitesse votre application s’exécute pour les requêtes normales.Testez un cas d'utilisation en lecture/écriture
  • Test de chargement:Comment votre application se comporte en période de trafic élevé.L'outil soumettra plusieurs requêtes (vous pouvez le configurer correctement) pendant une période donnée.
  • Test de stress:Votre application peut-elle fonctionner pendant une longue période ?Ce test poussera votre application aux limites

Commencez par ceci, si cela vous intéresse, il existe d'autres types de tests.

Autres conseils

Pour tester le front-end, YSlow est idéal pour obtenir des statistiques sur le temps de chargement de vos pages du point de vue de l'utilisateur.Il se décompose en statistiques pour chaque requête HTTP spécifique, le temps qu'elle a pris, etc.Obtenez-le à http://developer.yahoo.com/yslow/

Firebug, bien sûr, est également essentiel.Vous pouvez profiler votre JS explicitement ou en temps réel en appuyant sur le bouton de profil.Effectuer des optimisations si nécessaire et voir combien de temps mettent toutes vos fonctions à s'exécuter.Cela a changé la façon dont je mesure les performances de mon code JS. http://getfirebug.com/js.html

À mon avis, le plus important est le temps de réponse, mais d'autres indicateurs que je considérerais sont l'utilisation du processeur et de la mémoire par rapport à l'utilisation du processeur et de la mémoire.le nombre d'utilisateurs/processus simultanés.Je vérifierais également que tout fonctionne comme prévu sous une charge normale puis maximale.Vous pouvez rencontrer des scénarios dans lesquels une charge plus élevée provoque des erreurs d’application en raison de diverses requêtes qui se succèdent.

Si vous souhaitez vraiment obtenir des informations détaillées, vous souhaiterez exécuter différents types de tests de charge/stress.Vous souhaiterez probablement examiner un test de charge par étapes (une augmentation progressive du nombre d'utilisateurs sur le système au fil du temps) et un test de pointe (un nombre important d'utilisateurs accédant tous en même temps alors que presque personne n'y accédait auparavant).J'effectuerais également des tests sur le serveur juste après son redémarrage pour voir comment cela affecte le système.

Vous souhaiterez probablement également vous pencher sur un concept appelé HEAT (Hostile Environment Application Testing).En réalité, cela montre ce qui se passe lorsqu'une partie du système est hors ligne.Le système se dégrade-t-il avec succès ?Cela devrait être une norme clé.

Ma seule suggestion importante est d’établir ce que le système est censé faire avant de procéder aux tests.La principale raison est la responsabilité.Amenez les gens à admettre que le système est censé faire quelque chose, puis testez pour voir si cela est vrai.C’est essentiel car les gens verront immédiatement les résultats et ce sera la référence de base pour ce qui est acceptable.

"Plus précisément, je dois déterminer les performances de l'application...."

La boucle est bouclée avec la question des exigences, les attentes exprimées par votre communauté d’utilisateurs concernant ce qui est considéré comme raisonnable et efficace.Les exigences comportent un certain nombre de composants

  1. Temps de réponse général, " Sous une charge de ....Le Site aura un temps de réponse général inférieur à x, y% du temps..."
  2. Délais de réponse spécifiques, " Sous une charge de ....Le traitement des cartes de crédit prendra moins de z secondes, un% du temps..."
  3. Éléments de capacité du système, " Sous une charge de ....CPU|Réseau|RAM|DISK ne doit pas dépasser n% de la capacité...."
  4. Le profil de charge, qui est la combinaison du nombre d'utilisateurs et de transactions qui auront lieu dans le cadre duquel les mesures spécifiques et objectives sont collectées pour déterminer les performances du système.

Vous remarquerez que les temps de réponse et les autres mesures ne sont pas absolus.En s'inspirant des principes de fabrication Six Sigma, le coût pour passer d'une exception sur un million à une exception sur un milliard est extraordinaire et le coût pour passer à zéro exception est généralement un coût insupportable pour une organisation moyenne.Ce qui est considéré comme un temps de réponse acceptable pour une application unique pour votre organisation sera probablement totalement différent d'une offre hautement banalisée qui est une application publique accessible sur Internet.Pour les solutions hautement compétitives, les attentes en matière de temps de réponse sur Internet tendent vers la fourchette de 2 à 3 secondes, où l'abandon des utilisateurs augmente considérablement.Ce temps est passé de 8 secondes à 4 secondes au cours de la dernière décennie et se situe désormais entre 2 et 3 secondes.Certaines applications, comme Facebook, obtiennent des temps de réponse presque imperceptibles, inférieurs à la seconde, pour des raisons de concurrence.Si vous recherchez des normes strictes, elles n’existent tout simplement pas.

Quelque chose qui vous aidera à comprendre est de lire quelques références de l’industrie en matière de style, de forme et de fonction.

Mettre en place un ensemble solide de tests de performances qui représentent vos besoins n’est pas une affaire triviale.Vous souhaiterez peut-être faire appel à un spécialiste pour gérer cette phase de vos efforts d’assurance qualité.

Lors de votre sélection d'outils, assurez-vous d'en choisir un qui peut

  • Exercez votre interface
  • Rapport selon vos exigences
  • Vous ou votre équipe possédez les compétences nécessaires
  • Vous pouvez suivre une formation et y participerez avec la bénédiction de la direction.

Raté sur l'un des quatre éléments ci-dessus et vous avez également acheté l'outil le plus cher du marché et engagé l'entreprise la plus chère pour le déployer.

Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top