Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>

Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>
Aller à la section
Les tests de performance font de plus en plus partie du pipeline de livraison continue dans les paramètres DevOps. Ici, nous parlons de tests de performances et des meilleures façons d'inclure des tests de charge et de performances dans la livraison des applications.
Aller à la section
Aller à la section
Les applications logicielles modernes doivent répondre rapidement aux exigences changeantes de l'entreprise et corriger rapidement les bogues, les problèmes de performances et les problèmes de sécurité pour rester compétitives. Cependant, dans un environnement de développement traditionnel, le temps nécessaire pour tester minutieusement une application logicielle avant sa sortie entre en conflit avec le rythme auquel l'application doit évoluer.
Les méthodologies DevOps se sont révélées efficaces pour concilier ces exigences contradictoires de publication rapide et de fourniture de logiciels de haute qualité. Pour cette raison, ils ont été largement adoptés par les organisations de développement de logiciels tournées vers l’avenir.
DevOps utilise largement le concept de processus continu, qui s'applique à toutes les étapes du cycle de vie des applications, y compris la modification du code, les tests des applications et la surveillance du déploiement et de la production. Alors que les pratiques de tests unitaires et d'intégration continus ont été largement adoptées, tests de performances continus est particulièrement à la traîne, en grande partie à cause des difficultés des organisations à intégrer les tests de performances traditionnellement manuels dans un pipeline DevOps hautement automatisé. Dans cet article, nous décrivons comment les tests de performances doivent évoluer pour devenir une partie intégrante de l'environnement DevOps.
Les applications peuvent échouer de plusieurs manières. Pour détecter les erreurs, le développement logiciel et l'assurance qualité utilisent plusieurs types de tests. Les plus courants sont les suivants.
Chacun de ces types de tests s'adresse à une catégorie spécifique d'échecs qu'une application peut rencontrer en production. Les tests de performances, qui font l'objet de cet article, ciblent un ensemble de types d'échecs qui se produisent lorsque l'application est soumise à une charge de requêtes simultanées. Vous trouverez ci-dessous les six types de pannes les plus courants.
Chacune de ces défaillances est susceptible d'entraîner des pertes financières et de nuire à la réputation de l'organisation en tant que fournisseur de services fiable. Ci-dessous, nous examinerons les étapes à suivre pour intégrer les tests de performances dans le pipeline DevOps afin de détecter ces problèmes le plus tôt possible.
Vous pouvez commencer à intégrer des tests de performances dans le pipeline de livraison continue en ajoutant des tests de performances sélectionnés à Jenkins, ou à un outil d'intégration continue de votre choix, et en les exécutant régulièrement.
En fonction de vos besoins, vous pouvez exécuter des tests de performances à un ou plusieurs des points suivants lors de la création ou du test de l'infrastructure.
Cependant, cela ne suffit pas en soi.
L'analyse manuelle des rapports de tests de charge peut prendre du temps et nécessiter des compétences particulières que tous les développeurs ne possèdent pas. Sans la possibilité d’automatiser l’analyse des rapports de tests de charge, l’examen des résultats des tests de performances devient une perte de temps fastidieuse. Des informations vitales sur les performances peuvent également être négligées. Dans de tels scénarios, vous pouvez exécuter des tests de performances en continu, mais leurs avantages seront limités.
À Bénéficiez pleinement des tests de performances continus, vous devez mettre en place un mécanisme efficace pour analyser les résultats des tests de performances. Test de charge Parasoft et son LoadTest Continuum, un module de Parasoft SOAtest, vous fournissent des outils qui vous aident à automatiser la collecte et l'analyse des résultats des tests de performances et vous donnent un aperçu des performances de votre application.
Les étapes suivantes vous aideront à configurer votre environnement pour une exécution de tests de performances avec Parasoft LoadTest et LoadTest Continuum:
Passons en revue ces étapes individuellement plus en détail ci-dessous.
Les mesures de qualité de service (QoS) de Parasoft LoadTest sont l'une des fonctionnalités clés pour automatiser l'analyse des résultats des tests de performance. Les métriques QoS réduisent de grandes quantités de données dans un rapport de test de charge en un ensemble de réponses de réussite / échec sur les performances de votre application. Parasoft LoadTest propose un ensemble complet de métriques QoS qui vont des métriques de seuil prêtes à l'emploi aux métriques à script personnalisé qui vous permettent d'utiliser l'API LoadTest pour l'analyse avancée des données de test de charge.
Pour préparer vos tests de performances pour l'automatisation, vous devez examiner les métriques QoS dans vos projets LoadTest. Exécutez un projet LoadTest et examinez le rapport: tous les critères de réussite et d'échec que vous utilisez pour analyser manuellement un rapport de test de charge doivent être représentés sous forme de métriques QoS. Convertissez autant de métriques que possible en métriques «numériques». Une métrique QoS numérique renvoie non seulement un résultat de réussite / échec, mais quantifie également un indicateur de performance clé pour cette métrique. Par exemple, une métrique qui valide un seuil d'utilisation du processeur fournirait également la valeur d'utilisation réelle du processeur sous forme de métrique numérique.
Les métriques numériques sont largement utilisées dans LoadTest Continuum pour tracer les performances des métriques au fil du temps:
Une fois que vous avez configuré les métriques QoS pour votre Projets LoadTest, il est temps de configurer le continuum LoadTest pour la collecte et l’analyse des données de performances.
Déployez et configurez l'archive de l'application Web LoadTest Continuum ltc.war (disponible dans le répertoire d'installation SOAtest / LoadTest à partir de la version 9.10.2), comme décrit dans la section «LoadTest Continuum» de la documentation LoadTest.
Combinez vos projets LoadTest dans des scripts .cmd pour une exécution par lots. Les scripts LoadTest .cmd vous permettent de spécifier des groupes de projets qui constitueront différents ensembles de tests de performances, tels que les tests «fumée», les tests quotidiens ou les tests du week-end mentionnés précédemment.
Configurez les scripts .cmd pour envoyer des données de rapport à LoadTest Continuum comme décrit dans la section «Envoi de rapports à LoadTest Continuum» de la documentation LoadTest. Configurez votre outil d'intégration continue pour exécuter des scripts LoadTest .cmd dans le cadre d'un processus de construction ou à intervalles réguliers. Par exemple, dans Jenkins, vous pouvez exécuter un script LoadTest .cmd à l'aide de l'étape de génération de commande par lots Execute Windows comme suit:
% SOATEST_HOME% \ lt.exe "-J-Xmx4096M -cmd -run"% WORKSPACE% \ ltcontinuum.cmd
PAO Parasoft contient des tableaux de bord de reporting et d'analyse qui vous permettent de suivre la santé et l'avancement de votre projet logiciel avec une variété de widgets et de rapports.
Un continuum de test de charge Parasoft Widget PAO vous permet d'ajouter le résumé des résultats LoadTest le plus récent au tableau de bord de votre projet PAO et offre un moyen rapide d'évaluer l'état des résultats des tests de performances dans votre routine quotidienne d'examen de l'état du projet.
Le widget affiche le nombre de tests et de métriques totaux, réussis et échoués pour les exécutions de LoadTest les plus récentes. Pour afficher les résultats plus en détail, cliquez sur le lien du projet dans le widget, et la page LoadTest Continuum s'ouvrira dans un nouvel onglet.
Pour configurer un widget HTML personnalisé LoadTest Continuum dans DTP, vous pouvez simplement suivre ces étapes:
Parasoft LoadTest Continuum sert à la fois de point de collecte pour vos rapports LoadTest et d'outil d'analyse qui organise les données de test de charge à partir de plusieurs exécutions. LoadTest Continuum organise les données en une pyramide d'informations qui vous permet de passer en revue les résultats de vos tests de performance à différents niveaux de détail, des résumés quotidiens de haut niveau en haut, aux résultats de métriques QoS au cœur, aux rapports de test de charge détaillés au bas:
Considérez le flux de travail suivant comme un exemple d'examen de test régulier (quotidien):
L'intégration d'un processus de test de performance dans le pipeline de livraison continue est essentielle pour garantir la qualité du logiciel. Pour tirer pleinement parti de ce processus, vous devez mettre en place un mécanisme efficace d'automatisation de l'analyse des résultats des tests de performance.
Atteignez tous vos objectifs ambitieux d'automatisation de l'analyse des résultats de tests avec Parasoft LoadTest et LoadTest Continuum à l'intérieur de Parasoft SOAtest. Ces outils offrent une automatisation sophistiquée des tests fonctionnels, afin que vous puissiez fournir des logiciels de meilleure qualité.