• Aucun résultat trouvé

Gestion de tests et tests de performance avec Salomé-TMF & CLIF

N/A
N/A
Protected

Academic year: 2022

Partager "Gestion de tests et tests de performance avec Salomé-TMF & CLIF"

Copied!
30
0
0

Texte intégral

(1)

Gestion de tests et

tests de performance avec Salomé-TMF & CLIF

Orange Labs

Bruno Dillenseger, Marche Mikael Recherche & Développement

22/05/2008, présentation à LinuxDays 2008

(2)

Sommaire

partie 1 Salomé-Test Management Framework

Processus de qualification

Utilisation à Orange Labs

RoadMap 2008

partie 2 CLIF is a Load Injection Framework

Principe du test de performance

CLIF et son utilisation à Orange Labs

Perspectives 2008

(3)

Salomé-TMF

un logiciel libre de gestion de tests

‘adaptable’

(4)

Le processus de qualification

Constat

– Les "bugs" coûtent très cher aux entreprises financièrement

en terme d'image

Objectif

– Améliorer la qualité des produits et services

Traçabilité entre les exigences, les tests, et les anomalies Centraliser les données et résultats de tests

Moyen

– Disposer d’un référentiel commun outillant l’activité de qualification

(5)

Activités du processus

Préparation

Responsable de qualification

Plan de qualification Exigences

Conception

Responsable de qualification, testeurs

Exécution

Testeurs

Plan et campagnes de tests

Résultats de tests Anomalies

Bilan

Responsable de qualification, testeurs

Bilan de qualification

Itérations

(6)

Salomé-TMF au centre de l'activité

Exigences Tests

Campagnes Anomalies

Salomé-TMF

Plan de qualification Spécifications

PparationConceptionEcutionBilan

Traduction

(7)

gère les exigences

(création et modifications)

Salomé-TMF est le référentiel commun à tous les acteurs du projet pour la qualification

Chef de projet Testeur

Outils de tests (IHM, charge, protocole, …) fourni les infos pour

Exigences Tests

Campagnes Anomalies

contrôle Salomé-TMF

Développeur

(interne ou externe)

gère et contrôle

corrige les anomalies Plan de qualification

Bilan de qualification

permet d'organiser

Spécifications

Responsable de qualification,

administrateur outil Responsable exigences

s'informe et contrôle conçoit et exécute les tests

Soumet des anomalies

(8)

Positionnement de SaloméTMF à OrangeLabs R&D

Une solution "OpenSource" alternative à QualityCenter

– Réduction des coûts de licence – Multi-OS (100% Pure Java)

Une solution simplifié

– Gestion du plan de test, des campagnes (simplifiée par rapport à QC) – Gestion des exigences/anomalies intégrées

– Production de documents (HTML, PDF, …)

Une solution ouverte

– Intégration avec des plates-formes/outils existants : Mantis, Codex, Gforge, …

– Import/Export XML : format ouvert – Import/Export vers QC (8&9)

– Architecture à plug-ins

Une solution adaptée à l’automatisation des tests

– IHM Web (Selenium) , … – Test scripté Java (Beanshell)

– API ouverte (remote Ant, ligne de commande, …)

(9)

Principaux Plug-ins : DocXML

Import/export, production de documents

– Fondée sur XML + XSL, permet d’échanger les données entre projets, et de produire des documents (Plan de tests, cahier d’exigences, résultats de campagne) aux formats HTML et PDF

(10)

Principaux Plug-ins : Mantis

Gestion des anomalies

– Fondée sur Mantis :

Permet de centraliser les anomalies de développement, de qualification et de mise en production (via l’accès à Mantis) et de gérer leur cycle en relation avec les tests et les exigences

(11)

Principaux Plug-ins : Requirements

Gestion des exigences

– Permet de gérer et de suivre la couverture (tests) et la satisfaction (anomalies) des exigences

(12)

Success stories

O range HomeScreen (Couplage Java CLDC)

– Tests de conformité du « HomeScreen » sur les différents device mobile d’Orange

Orange Partner (Couplage Selenium)

– Tests fonctionnels : scénarios d'utilisation du service

authentification, navigation, upload, …

– Tests d’intégration : scénarios de conformité de bout-en-bout

Interface web <-> Outils de vérification des midlets <-> base de données <-> interface web

Next Service Broker (Couplage CruiseControl/RemoteAnt)

– Référencement des tests unitaires, lien exigences, automatisation des recettes de livraison

(13)

RoadMap Salomé-TMF 2008

Version 3.0 en cours

– Stabilisation/Maintenance de la V3 – Intégration avec Codex

Version mineure 3.1 : Septembre 2008

– Amélioration de fonctions existantes :

Copier/coller , filtre sur les exigences, quelques « feature request » – Ajout de « templates » de tests :

Template = tests abstrait pouvant définir des actions, et des champs utilisateurs

Un test qui hérite d’un « template », intègre les actions du template et peut définir des valeurs aux champs utilisateurs

– Plug-in CLIF : Possibilité de définir et d’exécuter des tests de charge – Amélioration de l’internationalisation

Version mineure 3.2 : Fin 2008

– Ajout de la notion de répertoire au dessus des familles de tests – Extension de l’interface SOAP au plugin Mantis

(14)

CLIF

un canevas logiciel libre hautement adaptable pour le test de

performance par injection de charge

(15)

Principe du test de performance par injection de charge

Système Sous Test injecteur 1

injecteur 2

injecteur n

Les injecteurs de charge :

• émettent des requêtes, attendent les réponses, et mesure le temps de réponse

• selon un certain scénario

• par exemple, en émulant le trafic d'utilisateurs réels par des utilisateurs virtuels

supervision

sondes

sondes Contrôle des

injecteurs et des sondes

Les Sondes mesurent la consommation des

ressources de calcul

(16)

Evaluation des performances par injection de charge : constats

La métrologie est un travail de spécialiste

maîtrise d'outils éprouvés, riches mais parfois complexes, et surtout très onéreux

On doit tester la tenue en charge au plus tôt dans le cycle de développement d'un logiciel

Les besoins sont très variés

différents systèmes à tester, différents objectifs de qualification, différents profils d'utilisateur...

Le double compromis du test...

entre le coût d'une campagne de test et le coût de pannes entre la durée d'une campagne de test et le time-to-market

(17)

Vers un canevas logiciel pour le test en charge « agile »

Problématique de la prémétrologie

– généraliser la pratique le test de performance (au sein même des équipes de développement)

– le rendre techniquement accessible, rapide et au moindre coût

Solution proposée par CLIF

– un canevas logiciel hautement et rapidement adaptable permettant de factoriser de façon optimale des fonctions communes aux différents cas de test

(18)

CLIF is a Load Injection Framework

CLIF est un canevas logiciel à base de

composants pour l'injection de charge et la mesure de performance

– ouvert, adaptable et extensible :

systèmes sous test variés (protocoles, sondes...) modes de définition des scénarios de charge interfaces utilisateurs et intégrations diverses

(Eclipse, Java/Swing, ligne de commande...)

multi-système d'exploitation (basé sur Java)

logiciel libre du consortium OW2 (ex ObjectWeb)

– grande puissance de charge

injection de charge répartie

jusqu'à plusieurs millions d'utilisateurs virtuels

– Lutèce d'Or 2007 du meilleur projet libre réalisé par un grand groupe

(19)

Edition d'un "plan de test"

(20)

Exécution et suivi d'un test

(21)

Sondes CLIF

Sondes système disponibles pour Linux, Windows et MacOSX:

– cpu / utilisation des processeurs

– memory / utilisation mémoire et swap – network / réception, émission

disk / lectures, écritures disques

Sondes JVM pour suivre l'utilisation de la mémoire et le Garbage Collector des machines virtuelles Java

Cadre pour définir ses propres sondes

sondes SNMP, JMX, ...

(22)

ISAC is a Scenario Architecture for CLIF

ISAC est un environnement de définition de scénarios formels pour CLIF :

– comportements (utilisateurs virtuels)

– séquences mêlant requêtes sur le SST et temps de pause (think time)

– structure logique : if-then-else, boucle while, choix probabiliste, préemption

– profil de charge pour chaque comportement

nombre d'utilisateurs virtuels en fonction du temps

(23)

Extensibilité : plug-ins ISAC

ISAC est générique et extensible par plug-ins :

– protocoles d'invocation

DNS, UDP, TCP, LDAP, HTTP, JDBC...

– temps d'attente

constant, aléatoire, calculé...

– conditions

pour les instructions if/while/preemption

– fourniture de jeux de données

à partir de fichiers, calculés, générés aléatoirement, extraits de réponses précédentes...

Un assistant ( wizard ) Eclipse permet de

définir ses propres plug-ins

(24)

Editeur de scénarios ISAC

(25)

Outils complémentaires pour la capture et le rejeu

Chaque plug-in ISAC d'injection peut être

associé à un outil de capture produisant des comportements ISAC, dans le but de rejouer des sessions réelles.

Exemple pour HTTP (utilisation du proxy MaxQ) :

internaute

enregistrement des requêtes et des requêtes HTTP

application web MaxQ

requêtes HTTP transmises

(26)

Le contexte du Groupe France Télécom

En tant qu'opérateur de télécommunication intégré, Orange rassemble une grande diversité :

– réseaux fixes/mobiles/sans fil/domestique – trafic voix, voix sur IP, vidéo, données...

– systèmes répartis à large échelle : infrastructures réseau, systèmes d'information et de commande, plates-formes de service

– équipes R&D spécialisées sur les réseaux fixes, réseaux mobiles, services, middleware...

– une multitude de protocoles/technologies, d'objectifs de performance, de compétences

Plus de 161 millions d'abonnés dans 220 pays

– La qualité de service est la priorité numéro 1

– Dimensionnement et test en charge sont essentiels

(27)

CLIF à Orange Labs (1/2)

CLIF a été appliqué à une trentaine de projets R&D

Prémétrologie, voire métrologie en l'absence d'autre outil

Les capacités d'adaptation ont été largement exploitées

Temps classique pour intégrer une sonde ou un injecteur : 2j

Exemples

– middleware orienté message (protocoles asynchrones)

contexte Machine-to-Machine

utilisation d'injecteurs et sondes spécifiques afin de récupérer les temps de réponse globaux et intermédiaires dans des échanges de message asynchrones.

– plate-forme de réservation de ressources réseau

Un injecteur spécifique a été défini pour ce protocole propriétaire.

(28)

CLIF à Orange Labs (2/2)

Exemples (suite)

– Trafic SOAP/HTTP(S) sur un équipement XML d'infrastructure SOA

le but était de mesurer les performances de l'équipement XML (pas des services)

 les services ont été remplacés par des “bouchons”

utilisation de sondes SNMP (équipement) et JMX (JVM) utilisation de l'injecteur HTTP et rejeu de requêtes SOAP

– DNS en cluster

haut débit (8000 requêtes/s par injecteur de charge) test très consommateur de ressource réseau et disque,

nécessitant un tuning système des injecteurs de charge

– Logiciel de gestion de tests Salomé-TMF

injecteurs spécifiques pour l'API Java de Salomé-TMF 40 injecteurs de charge en parallèle

– serveurs DHCP, SGBD mémoire (JDBC)...

(29)

Conclusion

CLIF outil de prémétrologie “universel”

– approche architecturale à composants pour une adaptabilité optimale

– logiciel libre, aux fonctionnalités avancées par rapport aux autres outils libres

généricité, sondes, répartition, scénarios ISAC...

– disponible sur tout environnement supportant Java – intégration à Eclipse

Travaux en cours

– développement d'outils d'analyse et de production de rapports – intégration à Salomé-TMF

– axe de recherche sur l'extension de l'architecture de CLIF pour introduire des capacités de test autonome

(30)

merci

salome-tmf.ow2.org

clif.ow2.org

Références

Documents relatifs

In this paper, we introduce a second order variation of this interpretation methodology in order to constrain the complexity of stream program computation and we obtain

1 - 3 ( ﻯﺩﻤﻟﺍ ﺓﺭﻴﺼﻗ ﺽﻭﺭﻗ : ﺓﺭﺎﺒﻋ ﻭﻫﻭ لﻭﺄﻓ ﺔﻨﺴ ﻥﻤ ﻪﺘﺩﻤ ﺡﻭﺍﺭﺘﺘ ﻯﺩﻤﻟﺍ ﺭﻴﺼﻗ ﺽﺭﻘﻟﺎﻓ ﺹﺌﺎﻘﻨﻟﺍ ﺽﻴﻭﻌﺘ ﻥﻭﻜﻴ ﺎﻤﺩﻨﻋ ﻲﺘﻟﺍ ﺔﻴﻟﻼﻐﺘﺴﻻﺍ ﺓﺭﻭﺩﻟﺍ ﺕﺎﻴﻠﻤﻌﺒ ﺹﺘﺨﻤ لﻼﻐﺘﺴﺍ ﺽﺭﻗ

[r]

With this platform, it is possible to explore the performance of the students along different dimensions, such as gender, high school of provenience, type of test and so on..

Les tensions entre offres et demandes d’emploi sont plus importantes pour les employés et techni- ciens des assurances que pour les métiers équivalents de la banque, les

En comparant les résultats obtenus avec le cluster virtuel du Cloud StratusLab avec ceux obtenus sur un cluster classique et en procédant de même avec les résultats obtenus par

The performance of the EM calorimeter has been extensively tested under electron beams using two full-size prototype modules (one for the barrel and one for the end-cap) and

L’originalité de cet article réside dans le fait que la perfor- mance du SIS est modélisée par une unique équation en tenant compte de nombreux paramètres, tels que, les