Upload
buithien
View
232
Download
0
Embed Size (px)
Citation preview
diffusion libre
Gestion de tests ettests de performance avecSalomé-TMF & CLIFOrange Labs
Bruno Dillenseger, Marche MikaelRecherche & Développement
22/05/2008, présentation à LinuxDays 2008
2 diffusion libre OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
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 diffusion libre OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
Salomé-TMFun logiciel libre de gestion de tests ‘adaptable’
4 diffusion libre
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
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
5 diffusion libre OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
Activités du processus
PréparationResponsable de qualification
Plan de qualification
Exigences
ConceptionResponsable de qualification, testeurs
ExécutionTesteurs
Plan et campagnes de tests
Résultats de testsAnomalies
BilanResponsable de qualification, testeurs
Bilan de qualification
Itérations
6 diffusion libre OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
Salomé-TMF au centre de l'activité
Exigences
Tests
Campagnes
Anomalies
Salomé-TMF
Plan de qualification
Bilan de qualification
Spécifications
PréparationConception
ExécutionBilan
Traduction
7 diffusion libre OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
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 projetTesteur
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 outilResponsable exigences
s'informe et contrôleconçoit et exécute les testsSoumet des anomalies
8 diffusion libre
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, …)
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
9 diffusion libre
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
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
10 diffusion libre OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
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 diffusion libre OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
Principaux Plug-ins : Requirements
Gestion des exigences– Permet de gérer et de suivre la couverture (tests) et la satisfaction
(anomalies) des exigences
12 diffusion libre
Success stories
Orange 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
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
13 diffusion libre
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
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
14 diffusion libre
CLIFun canevas logiciel libre hautement adaptable pour le test de performance par injection de charge
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
15 diffusion libre OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
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
sondesContrôle des injecteurs et des sondes
Les Sondes mesurent la consommation des ressources de calcul
16 diffusion libre
Evaluation des performances par injectionde charge : constats
La métrologie est un travail de spécialistemaî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ésdiffé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
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
17 diffusion libre
Vers un canevas logiciel pour le testen 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
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
18 diffusion libre
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
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
19 diffusion libre
Edition d'un "plan de test"
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
20 diffusion libre
Exécution et suivi d'un test
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
21 diffusion libre
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, ...
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
22 diffusion libre
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
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
23 diffusion libre
Extensibilité : plug-ins ISAC
ISAC est générique et extensible par plug-ins :
– protocoles d'invocationDNS, UDP, TCP, LDAP, HTTP, JDBC...
– temps d'attenteconstant, aléatoire, calculé...
– conditionspour 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
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
24 diffusion libre
Editeur de scénarios ISAC
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
25 diffusion libre
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) :
internauteenregistrement des requêtes et des temps d'attente comportements ISAC
requêtes HTTP
application web
MaxQ
requêtes HTTP transmises
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
26 diffusion libre
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
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
27 diffusion libre
CLIF à Orange Labs (1/2)
CLIF a été appliqué à une trentaine de projets R&DPrémétrologie, voire métrologie en l'absence d'autre outil
Les capacités d'adaptation ont été largement exploitéesTemps 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éseauUn injecteur spécifique a été défini pour ce protocole propriétaire.
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
28 diffusion libre
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)...
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008
29 diffusion libre
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 libresgé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
OrangeLabs-Recherche&Développement-Salomé-TMFetCLIF‒22mai2008