Tester les performances,
pourquoi et comment ?

Boris Feld
Pierre-Yves David
octobus.net

Nous

Octobus

Mercurial

  • gestionnaire de version Décentralisé,
  • écrit en Python,
  • crée en 2005,
  • utilisé par Bitbucket, Facebook, Google, Mozilla, Unity,
  • outils en ligne de commandes,
  • invocation courte.

Les performances?

Performance == Fonctionnalité

Observer la production

  • colle à la réalité,

  • faible surcoûts,

  • control total de l'exécution,

  • information tardive, 🐦 🇮🇨

  • nécessite un gros flux,

  • re-déploiement rapide.

Benchmarks spécifiques

  • contrôle de l'environnent,

  • isolation, précision,

  • reproductible,

  • retour rapide,

  • écriture manuelle.

Nos besoins

Mercurial, utilitaire open source:

  • cycle de livraison mensuel,

  • base utilisateurs très diverse,

  • base utilisateurs floue,

  • pas de déploiement centralisé.

Quoi

Quoi tester ?

  • similaire aux tests fonctionnels,

  • existence de tests ≠ application testée,

  • bonne couverture essentielle,
    • différentes actions,
    • différente données.

Intégré au processus de développement

  • optimisation dirigé par benchmark,

  • enrichir sa base avec le temps,

  • détection des régressions future.

Information differente

  • temps absolue ?

  • temps maximum ?

  • évolution du temps ?

  • volatilité du temps ?

Régression 😒