Page d'accueil d'OpenText.
Sujets techniques

Qu'est-ce que l'ingénierie de la performance ?

Illustration d'articles informatiques, mettant en vedette une ampoule.

Aperçu

Améliorez l'efficacité et renforcez la fiabilité grâce à l'ingénierie de la performance

L'ingénierie de la performance consiste en des tests et une surveillance proactifs, continus et de bout en bout des performances des applications. Elle permet une collaboration harmonieuse entre les équipes, les outils et les processus grâce à des boucles de rétroaction continues. Ici, la responsabilité de l'assurance qualité n'incombe pas seulement aux testeurs, mais aussi aux développeurs, aux ingénieurs de performance, aux gestionnaires de produits et aux analystes commerciaux.

En tirant parti d'outils adaptés, allant des développeurs aux ingénieurs de performance, l'ingénierie de la performance permet des tests de performance en amont et une surveillance des performances des applications en aval. Il est difficile de saisir à quel point l'ingénierie des performances s'éloigne des tests de performance traditionnels sans comprendre ce que sont les tests de performance classiques.

Ingénierie de la performance

Quelle est la différence entre les tests de rendement et l'ingénierie de la performance ?

Les tests de rendement classiques constituent en réalité un sous-ensemble de l'ingénierie de la performance. Cela implique généralement d'effectuer une seule série de tests de charge dans le cadre du cycle d'assurance qualité (AQ) post-développement. Les tests de rendement consistent à vérifier la vitesse, la fiabilité, l'évolutivité, la stabilité, le temps de réponse et l'utilisation des ressources d'une application sous la charge de travail prévue. Avant d'aborder les différences entre l'ingénierie du rendement et les tests de performance, nous allons d'abord examiner les tests de rendement isolément et expliquer pourquoi, à eux seuls, ils ne sont plus viables.

  • Premièrement, les tests sont considérés isolément et traités comme une réflexion après coup qui ne commence qu'à la fin des tests fonctionnels.
  • Deuxièmement, le travail en silos engendre d'importants problèmes de communication entre les sous-équipes du projet et empêche la collaboration nécessaire à la livraison d'un produit de haute qualité.
  • Troisièmement, au moment où les tests de rendement entrent en jeu, l'organisation a déjà investi des sommes considérables en temps, en efforts et en finances dans la conception, le développement et la promotion de l'application.
  • Quatrièmement, les tests de rendement sont souvent considérés comme une simple formalité et ne sont pas inclus dans les critères de validation précédant la mise en production. À ce stade, l'entreprise a besoin de l'application en production de toute urgence et ne prévoit aucun retard. Dans ce contexte, les retours de l'assurance qualité arrivent trop tard pour permettre une correction complète avant la mise en production. Inévitablement, un grand nombre de problèmes de performance se retrouvaient inutilement en production, simplement pour que la sortie reste dans les délais. Corriger un défaut en production est beaucoup plus coûteux et perturbateur que de le faire au début du développement.
  • Cinquièmement, les tests de performance traditionnels étaient peut-être parfaitement adaptés au modèle en cascade, mais ils n'ont plus leur place dans le monde actuel, centré sur le DevOps . Le DevOps réduit le taux d'échec des nouvelles versions en réduisant le délai entre le moment où une modification est validée dans le système et le moment où elle est mise en production. L'intégration continue et la livraison continue (CI/CD) garantissent que le logiciel est toujours dans un état prêt à être déployé tout au long de son cycle de vie. Le DevOps vise également à réorganiser l'organisation afin de soutenir une collaboration de bout en bout entre les intervenants, les fonctions et les outils. Pour répondre aux exigences de livraison rapide du DevOps, le développement logiciel a besoin d'une approche de test de performance plus évoluée. Cette nouvelle approche est l'ingénierie des performances logicielles.

Examinons maintenant les principales différences entre l'ingénierie du rendement et les tests de performance.

  • Tout d'abord, les tests de rendement permettent de vérifier la qualité de la gestion de la charge et de la réactivité de l'application. Il détermine dans quelle mesure le système supportera une charge de production et anticipe les problèmes qui pourraient survenir en cas de forte charge. L'ingénierie de la performance vise à concevoir l'application dès le départ en tenant compte des indicateurs de performance et à faciliter la détection précoce des problèmes au cours du développement.
  • Deuxièmement, les tests de rendement sont un processus d'assurance qualité qui a généralement lieu une fois qu'une phase de développement logiciel est terminée. L'ingénierie du rendement est un processus continu intégré à toutes les phases du cycle de développement logiciel – de la conception au développement, jusqu'à l'expérience utilisateur finale.
  • Troisièmement, les tests de rendement sont effectués par l'équipe QA tandis que l'ingénierie du rendement implique la R et D et l'assurance qualité.

concepts d'ingénierie de la performance

Grâce aux concepts suivants, le DevOps et l'ingénierie du rendement permettent d'obtenir des résultats de performance de production constants, permettant aux clients de déployer des applications efficacement avec plus de confiance et de déployer des logiciels performants et stables qui répondent aux attentes des utilisateurs.

Optimisation de bout en bout

L'ingénierie de la performance assure l'optimisation de bout en bout du système grâce à un processus de test et de surveillance continu . Cela permet d'intégrer les tests de rendement et de charge plus tôt dans le processus de développement. Cela diffère des tests de performance traditionnels où les tests avaient lieu après la stabilisation des tests fonctionnels et la publication du code.

Une fois le code publié, l'ingénierie du rendement surveille l'application en production à l'aide d'outils de surveillance de la performance des applications (APM).

Équipe interfonctionnelle des intervenants de la performance

L'ingénierie de la performance permet la collaboration entre les intervenants d'un projet, des analystes d'affaires aux développeurs. Maintenir des niveaux de performance élevés qui améliorent l'expérience client, suivre le rythme des affaires et gérer la performance de bout en bout font de chacun, et pas seulement des ingénieurs QA/performance, un garant de la performance du produit. Voici comment.

Centre d'excellence en matière de tests

Le Centre d'excellence en matière de tests (CoE) agit à titre de conseiller de confiance en matière de tests et de garant des meilleures pratiques. Le CoE prend en charge différentes unités commerciales, différentes méthodes de test (comme DevOps et Agile) et dispose de la flexibilité nécessaire pour recommander des tests de rendement et des outils de test selon les besoins. Pour construire de meilleurs modèles de test et améliorer la qualité des tests, le CoE sert de point unique de consolidation et de réutilisation des données de test générées et recueillies au fil du temps dans plusieurs unités commerciales.

Ingénieur de performance

L'ingénieur de performance fournit un aperçu de tout le code en développement afin de s'assurer que les critères de test de performance sont exhaustifs, englobent le contexte global et tiennent compte de tous les éléments de code distincts en développement. L'ingénieur de performance est le principal utilisateur des outils de test de performance et possède une grande expertise en matière de script, de conception, d'exécution et d'analyse des résultats de test. L'ingénierie de la performance amène l'ingénieur de la performance à la phase initiale du développement, où il peut fournir les indicateurs et les scénarios de performance nécessaires pour que le code soit considéré comme prêt pour la mise en production. Une implication précoce permet à l'ingénieur de performance de s'assurer que la solution répond aux attentes de rendement définies au début du développement. Ils confirment aussi que l'architecture et le design sont cohérents tout au long du projet.

développeur de logiciels

Les développeurs sont des experts en programmation, mais souvent peu compétents en matière de tests fonctionnels et de performance. Ils travaillent dans leur environnement de développement intégré (IDE) et ont tendance à utiliser leurs outils préférés, avec peu d'intérêt pour l'apprentissage de nouveaux outils. L'ingénierie du rendement déplace les tests de rendement vers la gauche, les intégrant ainsi dans le domaine de responsabilité du développeur logiciel. Avec l'aide de l'ingénieur de performance, les développeurs de logiciels peuvent effectuer des tests de rendement pendant l'écriture du code. Le développeur ne publie pas son code tant qu'il n'a pas satisfait aux critères des tests de performance.

DevTester

Le rôle de développeur-testeur n'existe pas dans les tests de performance classiques, car il existe une distinction claire entre les développeurs de logiciels et les ingénieurs de performance. Avec l'ingénierie de la performance, le développeur-testeur émerge comme un joueur clé qui fait le lien entre les équipes d'ingénierie de la performance et les équipes de développement. Ils comblent le fossé grâce à leurs solides compétences en codage et en tests, même si leur niveau d'expertise n'est pas tout à fait le même que celui du développeur et de l'ingénieur de performance. Ils peuvent exécuter des tests rapidement et disposent d'une flexibilité bien supérieure à celle des développeurs pour utiliser différents outils selon les besoins.

analystes d'affaires et ingénieurs d'application

En déplaçant les tests vers la droite, l'ingénierie de la performance intègre les analystes d'affaires et les ingénieurs d'application. Cela garantit que les exigences de performance opérationnelle et applicative définissant la qualité de l'expérience utilisateur sont intégrées aux critères de performance. Ces deux rôles permettent de surveiller l'application en production afin d'assurer des performances optimales en permanence.


Trouvez le bon partenaire en génie de la performance

L'ingénierie de la performance transforme le paysage du développement logiciel ainsi que les descriptions de poste de tous ceux qui y participent. Et avec un plus grand nombre de rôles impliqués maintenant, le besoin d'outils et de technologies pour simplifier le processus est plus important que jamais. L'ingénierie de la performance exige une intégration et une collaboration de bout en bout, de droite à gauche et de gauche à droite, ainsi que des informations et des analyses en temps réel. Les fournisseurs traditionnels de solutions de test de rendement ne sont pas suffisamment outillés pour faire face à cette vague de changements chaotiques. OpenText possède toutefois l'expérience et les solutions technologiques éprouvées pour transformer le chaos des tests en un ordre maîtrisé.

Les solutions d'ingénierie de performance d'OpenText, grâce à leur architecture ouverte, prennent en charge les tests sur tous les protocoles et types d'applications dans tous les environnements de développement. Il permet aux parties prenantes, des développeurs aux analystes d'affaires, d'utiliser de nombreux outils propriétaires et open source afin de permettre une intégration CI/CD complète à grande échelle. Les intégrations d'outils OpenText permettent d'éliminer rapidement les délais de développement et de test qui ralentissent la livraison des applications. Ces intégrations permettent cela en permettant la création rapide de simulations réalistes d'API, de conditions réseau et de services virtuels. Les solutions d'ingénierie de performance d'OpenText s'appuient sur l'infrastructure sur place ou infonuagique existante et favorisent la réutilisation des actifs afin de tirer parti des investissements existants. Cela permet de s'adapter rapidement aux exigences des tests de performance de plusieurs applications à l'échelle de l'entreprise.

Les tests de performance traditionnels ne commençaient qu'une fois les tests fonctionnels terminés et l'identification des défauts et de leurs causes profondes ne débutait qu'à la fin des tests de performance. Les solutions d'ingénierie de performance d'OpenText assurent une mesure et une analyse continues et complètes des défauts afin d'identifier la cause première en temps réel, avant même la fin du test de performance. Les critères de rendement sont inclus dans la définition et les exigences de « terminé ». Les analyses en temps réel d'OpenText aident l'ingénieur de performance à fournir rapidement une rétroaction au développeur afin d'initier le dépannage dès les premières étapes du processus de développement. La surveillance synthétique et la surveillance des utilisateurs réels en production permettent de déceler les problèmes de performance qui ont échappé aux tests et qui doivent être corrigés dans la prochaine version. La capture et l'analyse des sentiments des utilisateurs finaux du point de vue des performances fournissent aux développeurs une rétroaction plus précise afin d'optimiser l'application pour de meilleures performances.

Comment pouvons-nous vous aider?

Notes de bas de page