Découvrez comment intégrer facilement l'analyse statique, les tests unitaires et d'autres méthodes de test de logiciels C et C++ dans votre pipeline CI/CD. Inscrivez-vous pour la démo >>

Soyez un testeur de logiciels plus intelligent avec ces 5 combinaisons de technologies délicieuses

Par Chris Colosimo

18 octobre 2017

5  min lire

Il y a quelque chose de magique dans un sandwich au beurre d'arachide et à la gelée. Le caractère terreux du beurre de cacahuète mélangé à l'acidité de la gelée crée une toute nouvelle saveur qui n'existe nulle part ailleurs que dans la combinaison magique de ces deux ingrédients. Pour moi, un beurre de cacahuète et de la gelée est l'exemple parfait de l'idée d'un tout étant plus grand que la somme de ses parties. C'est exactement la même chose dans le monde des tests de logiciels, et lors de grands déploiements de logiciels pour Parasoft, je viens essentiellement de faire un tas de sandwichs au beurre de cacahuète et à la gelée. J'ai donc pensé passer en revue certaines de ces combinaisons que j'ai créées chez Parasoft, décrire comment les combiner et illustrer ce que vous pouvez réaliser.

Environnements de test dynamiques de Parasoft SOAtest et Parasoft Virtualize

Dans le monde des outils de test des sandwichs au beurre d'arachide, c'est le numéro un. Je suis peut-être biaisé ici en tant que chef de produit des outils de test fonctionnel, mais à mon humble avis, il n'y a pas de meilleure combinaison de technologies Parasoft que le mariage des capacités de test API de SOAtest et des capacités de virtualisation des services de Virtualize.

Environnements de test dynamiques

La valeur ajoutée la plus évidente que vous pouvez obtenir en combinant ces deux technologies est la capacité de créer environnements de test dynamiques. Habituellement, il s'agit d'une fonction qui a tendance à être reléguée à la virtualisation des services, mais un élément souvent négligé est la capacité d'exécuter des cas de test dans le contexte d'un environnement. En combinant SOAtest et Virtualize, un utilisateur peut créer un modèle réutilisable qui peut être déployé en fonction de l'intégration continue. Ce modèle d'environnement sera une combinaison de services virtuels et de cas de test.

Cela produit essentiellement une sorte d'effet sandwich sur votre application, ce qui est puissant car vous pouvez aligner les cas de test et leurs validations avec les services virtuels backend. Cela vous permet d'obtenir un véritable CI car vous savez que lorsque vous exécutez vos cas de test, ils seront liés aux services virtuels correspondants et votre environnement de test peut se provisionner. Au fur et à mesure que les scénarios de test SOAtest se préparent pour l'exécution, la première étape du scénario de test consiste à appeler Virtualize et à mettre en place les services virtuels et les données appropriés. La dernière étape du test consiste à appeler Virtualize et à détruire l'environnement. Alto! Sandwich d'environnement.

Validation du middleware avec Parasoft Virtualize et Parasoft SOAtest

Ci-dessus, nous avons utilisé SOAtest dans le cadre d'un environnement virtuel provisionné par Virtualize. En inversant cette relation, nous pouvons utiliser Virtualize pour prendre en charge SOAtest pendant l'exécution des tests.

Validation du middleware

Les services virtuels peuvent écouter aux points de terminaison. Ils n'ont pas à répondre lorsqu'ils sont appelés, ils peuvent effectivement envoyer l'appel. Quelque chose que vous pouvez faire avec la virtualisation de services est de créer un service virtuel pour s'asseoir dans une application middleware et simplement surveiller. Ensuite, lorsqu'un composant middleware appelle un autre composant middleware, vous avez un «point d'interception». À ce stade, vous pouvez appeler un service virtuel qui signale simplement que le message l'envoie. Mais que pouvons-nous faire avec ce message?

C'est là que la combinaison de SOAtest et de Virtualize devient puissante. Virtualize peut rapporter ces messages à SOAtest à des fins de validation. SOAtest peut alors exécuter des appels sur le front-end, tandis que Virtualize «écoute» au milieu. Et à mesure que les scénarios de test s'exécutent, Virtualize peut renvoyer les messages de transformation à SOAtest. Les événements sont signalés au milieu de l'exécution du scénario de test et les données de la demande peuvent être liées à l'événement qui revient de Virtualize sous la forme d'une validation, créant ainsi un véritable test dynamique de bout en bout.

Test de performance avec Parasoft SOAtest et Parasoft LoadTest

Le travail que vous effectuez à l'intérieur de SOAtest peut devenir immédiatement disponible dans LoadTest, la solution de test de performance de Parasoft qui se trouve à l'intérieur de SOAtest et vous permet non seulement d'exécuter des tests API à grande vitesse, mais également de valider automatiquement les réponses conformément à vos SLA.

Test de performance Shift-Left

SOAtest existe depuis longtemps et les utilisateurs travaillent depuis longtemps au sein de la solution pour créer de puissants scénarios de cas de test de bout en bout. Mais ce que la plupart des gens ne savent peut-être pas, c'est que tous ces cas de test peuvent être exécutés dans LoadTest. Une fonctionnalité rapide existe à l'intérieur de SOAtest qui vous permet de configurer et de valider tous vos tests d'API pour LoadTest. Cela signifie que vous n'avez pas à créer de tests de performance, vous pouvez simplement tirer parti du travail effectué par l'équipe de test et l'exécuter à grande vitesse.

Il s'agit de l'automatisation des tests logiciels à son meilleur. En combinant ces deux technologies ensemble, vous pouvez créer efficacement des tests de performances plus significatifs. SOAtest appelle les API et exerce les interfaces Web avant l'exécution du test de charge, ce qui vous donne un plus grand sentiment de confort que votre test de performance va exécuter sans problème car l'environnement a été pré-validé. Cette combinaison vous permet de gagner beaucoup de temps lors de la création initiale du test ainsi que lors de l'exécution du test.

Environnements de test de performances préconfigurés avec Parasoft LoadTest et Parasoft Virtualize

Virtualize peut créer des services virtuels avec des «profils de performance». Ces profils de performances ralentissent les temps de réponse des services virtuels à une base de référence prévisible. Vous pouvez configurer ces retards de performances manuellement ou les extraire d'un moteur de performances d'application tel qu'AppDynamics ou Dynatrace. Ces services peuvent ensuite être déployés dans un environnement défini pour les tests de performances, ce qui rend la combinaison Virtualize et LoadTest très puissante.

Environnements de test de performance préconfigurés

Virtualize prépare le terrain et fournit une base de référence pour l'environnement. LoadTest peut alors s'exécuter sur cet environnement pour identifier chirurgicalement les problèmes de performances. Ceci est exceptionnellement puissant car vous créez un environnement personnalisé pour le LoadTest. En tant que condition préalable à l'exécution des tests de performances, LoadTest peut indiquer à Virtualize de passer en mode performance, appliquant ainsi les références de performances à des applications spécifiques qui ont été simulées.

LoadTest valide ensuite l'ensemble de l'environnement, et nous pouvons comprendre le temps de retard provenant des services virtuels par rapport à nos services réels. Ces informations sont précieuses car elles nous indiquent exactement où se trouvent nos goulots d'étranglement de performances, et en basculant différents composants entre réels et virtuels, et en appliquant différentes bases de référence de performances, nous pouvons identifier chirurgicalement les problèmes de performances.

Comprendre les exigences et la traçabilité avec Parasoft SOAtest et Parasoft DTP

Alors que nous traversons l'allée entre les tests fonctionnels d'API et les tests de développement, nous pouvons tirer parti de notre plateforme de reporting et d'analyse, Parasoft DTP, pour étendre considérablement nos technologies. Il est conçu pour intégrer toutes sortes d'informations issues des activités de développement et de test, pour fournir des widgets et des rapports significatifs que les utilisateurs peuvent exploiter pour évaluer l'état de préparation de la publication.

Exigences et traçabilité

Le DTP peut se connecter à des moteurs d'exigences tels que Jira, extraire des informations spécifiques sur les ensembles d'exigences et afficher ces informations à l'intérieur du DTP pour une visibilité claire. De l'autre côté de la clôture, SOAtest peut lier des cas de test spécifiques à leurs exigences associées. En combinant ces deux technologies ensemble, vous pouvez suralimenter le flux de travail: DTP peut présenter les exigences à l'utilisateur, offrant la possibilité de créer des cas de test pour eux, puis ces cas de test apparaîtront sur le serveur ou le bureau SOAtest. L'utilisateur peut ensuite créer, modifier ou mettre à jour l'un des cas de test pour avoir la fonctionnalité qui couvre ses besoins spécifiques.

Et maintenant, la vraie magie commence! Puisqu'il existe un lien avec l'exigence à l'intérieur du moteur de reporting et d'analyse, chaque fois que vous exécutez ce cas de test, il liera ces résultats à l'exigence. Si vous voulez approfondir les détails, c'est couvert en profondeur dans un récent blog, mais l'effet net est que vous pourrez voir si toutes les exigences ont des cas de test associés, ainsi que comment ces cas de test spécifiques fonctionnent. Cela aide vraiment à la préparation de la publication, car vous saurez si quelque chose a été testé et si certaines fonctionnalités critiques pour l'entreprise échouent.

Conclusion

Tout comme les sandwichs au beurre de cacahuète et à la gelée combinent des ingrédients pour une saveur optimale, la combinaison des technologies de test logiciel vous donne un cadre puissant pour une automatisation des tests logiciels de niveau supérieur qui est plus efficace et franchement plus amusant. Il existe de nombreuses autres façons de combiner nos outils de test de logiciels automatisés, mais c'est un bon point de départ. En fin de compte, il s'agit vraiment de s'assurer que vous avez soigneusement testé votre application. Alors allez-y et faites un test de collation.

Par Chris Colosimo

Chef de produit chez Parasoft, Chris élabore des stratégies de développement de produits pour les solutions de test fonctionnel de Parasoft. Son expertise en accélération SDLC grâce à l'automatisation l'a conduit à des déploiements majeurs en entreprise, tels que Capital One et CareFirst.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.