30
diffusion libre 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

Gestion de tests et tests de performance avec Salomé … · produire des documents (Plan de tests, cahier d’exigences, résultats de campagne) aux formats HTML et PDF ... – Référencement

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

diffusion libre

merci

salome-tmf.ow2.orgclif.ow2.org