2009-08-20 3 views
6

Je gère une application Web qui présente des problèmes de performances. Je veux enregistrer une série d'actions, puis relire ces actions une fois que j'ai fait des changements et comparer les temps de chargement de la page afin que je puisse quantifier l'amélioration des performances. L'IDE Selenium fait ce dont j'ai besoin pour enregistrer et lire les actions, mais je n'ai pas trouvé un moyen facile d'enregistrer les timings.Tests de performance pour une application web existante - Des outils utiles?

Existe-t-il un bon moyen d'enregistrer et de comparer les temps de chargement de la page en utilisant Selenium? Y a-t-il un meilleur outil à utiliser à la place?

+2

duper possible? http://stackoverflow.com/questions/635123/what-is-a-good-tool-or-site-to-use-to-performance-test-a-web-page-site – Joel

+0

Je dirais "oui" ", mais notez aussi que cela pourrait être différencié assez facilement si Joseph * ne travaille pas avec ASP.NET sous Windows, comme l'a semblé l'interroger. – Shog9

+0

@Joel: Les choses changent ... –

Répondre

2

L'onglet Net dans Firebug peut vous aider à mesurer et à savoir ce qui affecte exactement le temps de chargement du site Web. Vous n'avez même pas besoin d'avoir accès au serveur pour l'utiliser. YSlow Vous donne des conseils très utiles pour améliorer la charge globale et la sensation d'un site spécifique. Personnellement, j'utilise l'onglet Net pour identifier les temps de chargement possibles, qu'il s'agisse de grandes images, de javascripts css ou de mauvaises latences. Je n'ai jamais entendu parler d'un outil automatisé pour cela, AFAIK sélénium vous aide à construire des tests d'intégration qui vous garantissent que certaines parties de l'application fonctionnent comme prévu, mais je ne sais pas si cela peut également servir d'outil de profilage. J'espère que cela aide

0

Pour répondre à l'objet, j'aime utiliser le IIS Resource Toolkit pour un certain nombre de choses.

2

Selon la complexité de votre application, vous pouvez utiliser JMeter, par l'ASF.

Il s'agit d'une application de test de charge basée uniquement sur Java avec un certain nombre de plug-in graphiques, de supports de protocoles, de contrôleurs, de structures de reporting et autres. Vous pouvez choisir quelles données enregistrer, comment les représenter graphiquement, comment les exporter vers un fichier, etc. Il sera même mis en CSV ou une variété de formats XML. Il est moche, mais réalisable, sauf si votre application est lourde avec JavaScript ... Il ne comprend pas une VM capable de l'exécuter et vous devrez faire des choses comme AJAX en utilisant des hacks (tels que Regexes et les réponses artisanales. Icky.) C'est open source donc vous pouvez ajouter des contrôleurs supplémentaires si vous en avez besoin. Cependant, pour faire ce que vous voulez (enregistrer des actions, relire, graver/stocker des résultats), cela devrait suffire.

0

Je mesure généralement le temps que prend chaque requête à l'aide de System.currentTimeMillis et je l'enregistre au niveau de débogage dans l'environnement de développement et de test. Ensuite, je lance le sélénium ou JMeter, et plus tard traiter les journaux pour obtenir des statistiques différentes. Je prends les demandes les plus lentes et continue de les percer pour voir où se trouvent la lenteur et le goulot d'étranglement. Alternativement, au lieu de le faire dans le code lui-même, vous pouvez soit écrire vos propres scripts de sélénium, soit utiliser le script généré par l'enregistreur, et ajouter de la journalisation dans le code généré.

La performance de l'interface utilisateur est une bête complètement différente. Je me fie à peu près à YSlow pour cela.

5

Vous pouvez jeter un oeil à BrowserMob (http://browsermob.com/). Vous pouvez télécharger vos scripts de test Selenium IDE et les faire fonctionner sur votre site. Son fondateur est le créateur de Selenium RC, Patrick Lightbody.

0

Je voudrais jeter un oeil à Faban.

Simple à installer et à utiliser pour le cas facile, en insistant sur une seule page en utilisant "feh".

Pour des modèles d'utilisation plus complexes, vous pouvez créer vos modèles pour imiter une charge complète sur votre site.

0

Voici un outil simple qui fonctionne: test_it. Essentiellement,

  • vos machines d'essai doit avoir .net 4.0
  • vous obtenez les binaires
  • utilisant fiddler vous inspectez les paquets http qui se déplacent lorsque vous exécutez vos scénarios de test
  • décrire ces paquets dans un texte fichier de paramètres utilisant la syntaxe simple
  • spécifiez le nombre de demandes par seconde
  • exécutez les fichiers binaires
  • ne pas oublier de surveiller la machine à tester

Quelques infos ici: rextester

+0

Vous n'avez pas indiqué votre appartenance avec ce lien –

+0

@Andrew Barber Je l'ai écrit car j'avais besoin de quelque chose de simple, mais flexible. – ren

Questions connexes