test_log

6
L  A PL UP AR T DES PRÉ SENTATI ONS ou des livres blancs sur l’industrialisation du développement commencent par le terrible constat du taux d’échec des projets informatiques, appuyé par le fameux rapport du Standish Group. Aujourd’hui, à peine plus du tiers des projets aboutissent. On considère comme réussi un projet livré dans les temps, avec le budget imparti et répondant aux attentes des utilisateurs. LA QUALITÉ SOUVENT SACRIFIÉE Ces trois co ntra intes – temps , coût et qualit é – sont intime - ment liées. Mais sous la pression des délais, du «time-to-mar- ket», c’est la plupart du temps la qualité qui est sacrifiée. D’une part, parce que la phase de tests arrive généralement en dernier dans le cycle de développement. Pour peu que le projet ait pris du retard, au moment des tests, le temps manque. D’autre part, c’est une tâche bien souvent ingrate et rébarbative. Les dévelop- peurs rechignent à effectuer ces tâches répétitives et préfèrent se consacrer à des activités plus créatrices. Mais il ne faut pas tout mettre sur le dos des tests, ou du manque de tests. Les causes d’échec des projets sont connues : besoins mal formulés, spécifications incomplètes ou inadéquates, manque de communication entre maîtrise d’œuvre et maîtrise d’ouvrage et à l’in- térieur des équipes de développement, absence de gestion du risque, inadéquation entre les méthodes, les outils et les hommes… DE L’INDUSTRIALISATION DU DÉVELOPPEMENT  À L’INDUSTRIALISATION DU TEST L’enjeu est bel et bien d’industrialiser le développement avec pour objectif d’aligner l’informatique sur le métier. Concrètement, cela signifie d’une part gérer la qualité (s’assurer que le résultat correspond aux exigences des utilisateurs) et d’autre part gérer le risque (faire la balance entre les exigences des utilisateurs et les ris- ques du projet). 58 L’INFORMATICI EN N° 057 • avril 2008 DÉVELOPPEMENT FOCUS Par Pierre TRAN Longtemps considéré comme une activité rébarbative et ingrate du cycle de vie des applications, le test logiciel bénéficie désormais de véritables usin es à test, avec outil s, métho des, resso urces. Le test devien t un e phase stratégique du développement et un métier à part entière. Le test logiciel en voie d’industrialisation Le test logiciel en voie d’industrialisation

Upload: ingenieure-ing

Post on 07-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

8/6/2019 TEST_LOG

http://slidepdf.com/reader/full/testlog 1/6

L A PLUPART DES PRÉSENTATIONS ou des livres blancs surl’industrialisation du développement commencentpar le terrible constat du taux d’échec des projetsinformatiques, appuyé par le fameux rapport duStandish Group. Aujourd’hui, à peine plus du tiers

des projets aboutissent. On considère comme réussi un projet livrédans les temps, avec le budget imparti et répondant aux attentesdes utilisateurs.

LA QUALITÉ SOUVENT SACRIFIÉE

Ces trois contraintes – temps, coût et qualité – sont intime-ment liées. Mais sous la pression des délais, du «time-to-mar-ket», c’est la plupart du temps la qualité qui est sacrifiée. D’unepart, parce que la phase de tests arrive généralement en dernierdans le cycle de développement. Pour peu que le projet ait prisdu retard, au moment des tests, le temps manque. D’autre part,c’est une tâche bien souvent ingrate et rébarbative. Les dévelop-peurs rechignent à effectuer ces tâches répétitives et préfèrent seconsacrer à des activités plus créatrices.

Mais il ne faut pas tout mettre sur le dos des tests, ou du manquede tests. Les causes d’échec des projets sont connues : besoins malformulés, spécifications incomplètes ou inadéquates, manque decommunication entre maîtrise d’œuvre et maîtrise d’ouvrage et à l’in-térieur des équipes de développement, absence de gestion du risque,inadéquation entre les méthodes, les outils et les hommes…

DE L’INDUSTRIALISATIONDU DÉVELOPPEMENT

 À L’INDUSTRIALISATION DU TEST

L’enjeu est bel et bien d’industrialiser le développement avecpour objectif d’aligner l’informatique sur le métier. Concrètement,cela signifie d’une part gérer la qualité (s’assurer que le résultatcorrespond aux exigences des utilisateurs) et d’autre part gérer lerisque (faire la balance entre les exigences des utilisateurs et les ris-ques du projet).

58 L’ INFORMAT IC IEN N° 057 • a vr i l 2008

DÉVELOPPEMENT

FOCUS

Par Pierre TRAN

Longtemps considéré comme une activité rébarbative et ingrate du cycle

de vie des applications, le test logiciel bénéficie désormais de véritables

usines à test, avec outils, méthodes, ressources. Le test devient une phase

stratégique du développement et un métier à part entière.

Le test logiciel en voied’industrialisation

Le test logiciel en voied’industrialisation

8/6/2019 TEST_LOG

http://slidepdf.com/reader/full/testlog 2/6

L’ INFORMATIC IEN N° 057 • a v r il 2008

Le test logiciel en voie d’industrialisation

59

Borland Compuware HP Mercury IBM Rational Open Source

 Analyse statique DevPartnerRational Application

Developer

Tests unitaires DevPartner HP Quality CenterRational Purify,Rational Application

Developer, Rational

Test Real Time

Junit

Gestion des testsSilkCentral Test

Manager

QADirector,

QACenterTestDirector

Rational Test

Manager, Rational

ClearQuest Test

Management

DejaGnu, TestLink

Couverture

de codeDevPartner

Rational PurifyPlus,

Rational Application

Developer, Rational

Test Real Time

Tests

fonctionnelsSilkTest TestPartner HP Quality Center

Rational Functional

Tester, Rational RobotFitNesse

Tests

d’intrégration

Rational Application

Developer,

WebSphere Developer

for zSeries

Cactus

Tests de

non-régressionSilkTest HP Quality Center

Rational Functional

Tester

Tests de

performanceSilkPerformer QALoad, DevPartner

HP Performance

Center

Rational Performance

TesterOpenSTA, JMeter

Tests de charge SilkPerformer QACenterHP Performance

Center

Rational Performance

TesterOpenSTA, JMeter

Tests Web TestPartner HP Quality Center Rational ApplicationScan, Rational Policy

Tester

OpenSTA, Jmeter,Selenium

Tests processus

métier

HP Business Process

Testing

Tivoli Intelligent

Orchestrator

Gestion

des anomalies

SilkCentral Test

Manager

CA Software Change

ManagerTestDirector Rational ClearQuest

Bugzilla, TRAC,

Scarab, Mantis

Gestion

de la qualitéStarTeam+Silk CARS

Rational ClearQuest,

Rational Test

Manager, Rational

ClearQuest Test

Management

Tableau de bord QAPortalHP Quality Center

Dashboard

Portail QAPortal

Requirement

Based Testingoui

Model Based

Testing

oui, avec LEIRIOS

Smart Testing

oui, avec LEIRIOS

Smart Testing

Risk Based Testing oui oui

Test Driven

RequirementsFitNesse

CMMI ouiHP Quality Center

- HP PPM

Plugin Rational

Method Composer

(CMMI 2 et 3)

Méthodologie CARS BTO

Les produits de tests

8/6/2019 TEST_LOG

http://slidepdf.com/reader/full/testlog 3/6

L’ INFORMATIC IEN N° 057 • a vr i l 200860

FOCUS Développement

C’est ainsi qu’une famille d’outils regroupés sous l’appellation

 ALM (Application Lifecycle Management, Gestion du cycle de vie

des applications) s’est attaquée au problème. Orchestrant les diffé-

rents processus du cycle de vie logiciel, ces outils sont devenus les

piliers d’une approche gouvernance du système d’information. Les

grands éditeurs comme IBM, Microsoft, HP, CA, Compuware ont

tous leurs solutions ALM. Des acteurs de niche tentent également

de s’imposer sur ce marché juteux : Borland, Serena, Telelogic.

Parallèlement à tous ces outils, on a vu les équipes de dévelop-

pement se lancer dans des méthodes plus ou moins novatrices :

Test Driven Development, Model Driven development, Business

Driven Development, Test Driven Requirements, UP, RUP, XP,

SCRUM, BTO, CARS… sans oublier les référentiels d’amélioration

des processus tels que CMMI ou ITIL. Ce qui est nouveau, c’est que

les méthodes Test Driven* et tout particulièrement les méthodes

agiles ont remis le test au cœur du processus de développement.

LIBÉRER LE TEST

Si l’on considère que le test fait effectivement partie du cycle de

  vie du développement, il est généralement recommandé d’avoir

une équipe de test indépendante de l’équipe de développement.

Ce n’est pas toujours possible, et dans la pratique, on constate dif-

férents niveaux de dépendance entre le développement et le test :

• pas de testeurs indépendants : le développeur teste son propre code;

• les tests sont effectués par un autre développeur;

• les tests sont effectués par une équipe de test faisant partie de

l’équipe de développement;

• les tests sont effectués par une équipe de non-développeurs ou

par des spécialistes faisant partie de l’entreprise;

• les tests sont effectués par une organisation externe à l’entreprise.

Dans le dernier cas, on a le maximum d’indépendance. Pour

des raisons infrastructurelles et économiques, c’est souvent la

solution choisie.

 VERS L’USINE À TEST

L’activité de test s’oriente donc vers une externalisation des

équipes de test. Par ailleurs, le processus de test se décompose

en activités qui pour certaines d’entre elles sont automatisables,

comme l’exécution de scripts de test ou maîtrisables, comme la

Le Comité françaisdes tests logicielsLa vérification et le test logiciel prennent de l’impor-tance, mais la fonction de Testeur de Logiciel apparaîtde façon plus ou moins empirique dans les entrepris-

es. Les compétences et connaissances nécessairespour un testeur de logiciel ne sont pas garanties parun diplôme ou une certification reconnus.Le Comité français des tests logiciels (CTFL) est uneassociation représentant la France au sein de l’ISTQB(International Software Testing Qualifications Board,www.istqb.org). Ces organismes développent etdéfinissent des contenus standard pour les forma-tions en tests logiciels. Le CFTL-ISTQ fournit unschéma de certification reconnu actuellement pardix-huit pays dans le monde.La qualification vise toute personne impliquée dansles tests de logiciels. Ceci inclut tous les testeurs(testeurs fonctionnels, analystes en tests, chefs de

projets de tests, tests d’acceptation) ainsi que lesdéveloppeurs. Elle intéressera également toute per-sonne souhaitant avoir une compréhension de basedes tests de logiciels, tels les responsables de pro-  jets, responsables qualité, responsables des TIC,analystes architectes et consultants en management.Les connaissances couvertes par les certificationsportent sur des aspects théoriques et pratiques telsque la terminologie, la gestion des tests, les testsstatiques et dynamiques, les tests structurels, lesoutils de mesure, les métriques et la couverture, lesoutils de tests et d’automatisation, mais aussi lagestion d’anomalies, la gestion de configuration etla gestion des risques…

On trouvera sur le site des documents de référence(syllabus), un glossaire des termes utilisés en testlogiciel, etc.Site : www.cftl.net

Les modèlesd’amélioration des processusDe la même manière que l’activité de développementpossède ses référentiels d’amélioration de proces-sus, tels que CMMi (Capability Maturity Model

Integration), il existe de nombreux modèles d’amélio-ration du processus de test. Citons par exemple TestMaturity Model (TMM), Systematic Test andEvaluation Process (STEP), Critical Testing Processes(CTP), Test Process Improvement (TPI), TestOrganization Maturity (TOM), Test ImprovementModel (TIM) et Software Quality Rank (SQR).

Des modèles à étages comme TMMI fournissent

des standards de comparaison entre différentes entre-prises et organisations. Les modèles STEP, TMMI, TPIet CTP semblent émerger comme de standards.

8/6/2019 TEST_LOG

http://slidepdf.com/reader/full/testlog 4/6

LES OUTILS DE GESTION des tests s’appliquent à toutes lesactivités de test pendant toute la durée du cycle de viedu logiciel. Ils permettent de gérer les tests et les activi-tés de test effectuées. Ils s’interfacent avec les outilsd’exécution, les outils de gestion des défauts, de ges-

tion des exigences et de gestion de configuration. Ils gèrent la traçabi-

lité des tests vers les documents source, comme les exigences. Ilsenregistrent les résultats et génèrent des rapports d’avancement. Ilsassurent une analyse quantitative des métriques liées aux tests.

Parmi les outils dédiés au test ou utilisés pendant les tests, onpeut citer en vrac :• les outils de gestion des exigences;• les outils de gestion des incidents (ou gestion des anomalies);• les outils de gestion de configuration;• les outils d’aide aux tests statiques incluent les outils d‘assistance

au processus de revue, les outils d’analyse statique de code et lesoutils de modélisation;

• les outils de conception des tests;• les outils de préparation des données;• les outils d’exécution des tests;• les harnais de test/outils de tests unitaires;• le comparateur de tests;• les outils de mesure de couverture;• les outils de sécurité informatique;• les outils d’analyse dynamique;• les outils de tests de performances;• les outils de surveillance;• les débogueurs et outils de traces;• les outils d’ajout et d’injection d’erreurs (fault seeding & fault

injection tools);• les outils de simulation et d’émulation;• l’automation de test par mot-clé;• les outils de test Web.

Parmi les éditeurs d’outils de test, on retrouve évidemment leséditeurs d’ALM : Borland, Compuware, HP Mercury, IBM Rational

Racheté par HP en 2006, Mercury reste sans conteste le leaderdes outils de test de performance avec LoadRunner et de gestiondes tests avec TestDirector, intégrés désormais dans la gamme HP

Quality Center.Compuware propose avec QACenter une gamme d’outils de

test automatisés : gestion des tests avec QADirector, tests de per-formance avec QALoad, portail de tests avec QAPortal, gestion desspécifications avec Reconcile, test fonctionnel avec TestPartner…Compuware met l’accent sur les tests basés sur les risques.

IBM, après le rachat de Rational en 2003, dispose d’un catalo-gue d’outils de test particulièrement exhaustif avec des produitstels que Rational Test Manager, Rational Functional Tester, RationalPerformance Tester, etc. Quasiment toutes les activités de test sontcouvertes au point qu’il est parfois difficile de s’y retrouver.

Borland a construit son offre gestion de la qualité avec lerachat de Segue en 2006. Avec SilkCentral Test Manager, il propose

un outil tout-en-un pour administrer et planifier les tests. SilkTestest un système d’automation des tests et SilkPerformer un outil detest de performance et de charge. L’offre Borland se distingue parson approche qualité tout au long du cycle de vie grâce aux testsbasés sur les exigences.

 À côté de ces ténors du logiciel, on trouve des éditeurs deniche qui ont su trouver des fonctionnalités inédites très utilesaux activités de test.

Ascential (racheté par IBM en 2005) propose avec QualityStage un outil de mesure de la qualité des données.

Princeton Softech (racheté par IBM en 2007) est capable d’ex-traire des jeux de données à partir d’une base de production.

Leirios, éditeur français fournit un générateur automatique decas de tests et de scripts de tests à partir des modèles UML de l’ap-plication (Smart Testing).

Kalios propose Synopsis, un outil qui permet de générer, demanipuler et de démultiplier les cas de test en utilisant la métho-dologie par mot clé.

Dans outils Open Source, il faut encore citer TestLink (gestion destests), FitNesse (tests fonctionnels), OpenSTA (tests de performance),Selenium (tests Web), Bugzilla, Mantis (gestion des anomalies)…

On trouvera sur le site Software Quality Assurance Testingand Test Tool Resources une liste détaillée d’outils et de ressour-ces dédiées au test :  http://www.aptest.com/resour-ces.html  ■

Le test logiciel en voie d’industrialisation

L’ INFORMATIC IEN N° 057 • a v r il 2008 61

Les outils de test

Les outils de test peuvent améliorer l’effi-

cacité des activités de test en automatisant

les tâches répétitives. Certains outils peuvent

également améliorer la fiabilité des tests, parexemple, en automatisant des comparaisons

de données volumineuses ou en simulant des

comportements du logiciel en cours de test.

planification des tests. En fait, les testeurs disposent d’unepanoplie impressionnante d’outils, de méthodes, de métriques,de référentiels, de bonnes pratiques qui font du test un véritablemétier à part entière.

Externalisation des équipes, démarche outillée et méthodo-logique, il n’en fallait pas moins pour combiner ces ingrédients

et créer le concept d’usines à test. Qu’il soit appelé Test Factorychez Compuware, Qualification du Système d’Information chez

 Acial, ou Lifecycle Quality Management chez Borland, la démar-che est la sensiblement la même : proposer une solution pour

industrialiser les tests et la qualité. Détaillons les éléments d’uneusine à test. ■

8/6/2019 TEST_LOG

http://slidepdf.com/reader/full/testlog 5/6

L’ INFORMATIC IEN N° 057 • a vr i l 200862 

FOCUS Développement

LE P ROCE SS US DE T EST n’est pas une activité isolée,mais doit être interconnecté avec les autres activi-tés : gestion des exigences, gestion de projet,gestion du changement, gestion de configuration,développement, maintenance, support technique,

documentation technique.

L’activité de développement possède un certain nombre deméthodes, comme le développement dirigée par les modèles(Model Driven Development). Les méthodes agiles ont mis enavant l’activité de test avec le Test Driven Development (TDD). Dela même manière, le test a vu apparaître des méthodes spécifi-ques à cette activité.

Chez Borland, on préconise les tests basés sur les exigences

(Requirement Based Testing, RBT). L’idée est de mener les tests leplus tôt possible, en parallèle au processus de développement. Lescas de test sont conçus de manière méthodique et systématique enexploitant directement le référentiel des exigences. Cette démarchenécessite évidemment des outils de conception et d’exécution detests en étroite collaboration avec une gestion des exigences, telsque Silk Central et CaliberRM.

Chez Valtech, on met en avant les méthodes agiles (Test DrivenDevelopment) et on applique même ce principe aux activités despécification et d’analyse. Ce qui donne la méthode Test DrivenRequirements ou gestion des exigences dirigée par les tests. L’idéeest d’écrire des spécifications interprétables automatiquement par desoutils de test, des spécifications exécutables en quelque sorte. Cettedémarche est mise en œuvre grâce à l’outil Open Source FitNesse.

Leirios implémente quant à lui la méthode des tests basés sur

les modèles (Model-Based Testing). Sa solution Leirios Smart Testingprend en entrée les modèles UML de l’application à tester, génèreautomatiquement les cas de tests et traduit les cas de tests générésen scripts de tests exécutables par un outil d’exécution de tests.

Chez Compuware, on adopte l’approche des tests basés sur

les risques (RBT – Risk Based Testing). À chaque exigence de test estassocié un risque métier et/ou technique. Cette pondération va

permettre de maîtriser la couverture des risques pendant les campa-gnes de test et de focaliser l’effort de test sur les exigences les plusimportantes. C’est une approche que l’on retrouve chez Borland.

LES HOMMES

 Après les outils et les méthodes, les hommes constituent le troi-sième pilier de l’usine à test. Nous l’avons vu, les équipes de test onttendance à s’externaliser, pour garantir l’indépendance entre le déve-loppement et le test, mais aussi pour des raisons économiques.

Pour mettre en œuvre les outils et les méthodes précédem-ment décrites, il faut du personnel hautement qualifié. Le testeur delogiciels devient un métier à part entière et possède même ses cer-tifications (lire l‘encadré «Le Comité français des tests logiciels»).

La plupart des grandes sociétés de service proposent en plusdes prestations de développement une sous-traitance partielle outotale de la phase de test jusqu’à la recette finale, ce que l’onappelle la Tierce recette applicative (TRA). Ces sociétés apportentleur expérience dans la maîtrise des outils et des méthodologies detest. Certaines sociétés, comme Acial (voir encadré), se sont spécia-lisées dans la TRA.

LES USINES À TEST EN PRODUCTION

Comme nous l’avons vu, l’usine à test se définit comme unecombinaison d’outils, de méthodes et d’hommes. Pour promouvoirleurs solutions d’usine à test, les éditeurs d’outils de tests se sontalliés à des SSII.

Compuware propose Test Factory, un ensemble d’outils, de savoir-faire et de méthodes pour industrialiser les tests. À travers un portail

 Web, le client accède en temps réel au tableau de bord du processusde test. La solution inclut également un portail Test factory Workbenchand Quality Portal paramétrable pour le client ou le prestataire. TestFactory inclut un moteur de workflow, une gestion des anomalies. Ils’interface avec des outils de modélisation UML, une gestion des exi-gences et met en œuvre une approche basée sur les risques.

Compuware a établi un partenariat avec Atos Origin pour met-tre en place la solution Test Factory.

Borland de son côté propose une solution de gestion de laqualité logicielle autour de son outil SilkCentral Test Manager.Cette solution s’appuie sur la démarche Tests basés sur les exigen-ces qui permet de paralléliser le développement et les tests, rédui-sant ainsi le cycle de vie du logiciel. SilkCentral va chercherles exigences directement dans le référentiel des exigences(CaliberRM) pour générer les cas de test. La solution s’appuie

Les modèles et les méthodes

Le test fait partie intégrante des différents

modèles de développement, tels que les modèles

séquentiels (modèle en cascade, en V, en W), les

modèles itératifs (Rapid Application Development

RAD, modèle en spirale) ou encore les modèles

incrémentaux (méthodes agiles). La définition

d’une stratégie de test doit donc prendre en

compte le modèle de développement.

8/6/2019 TEST_LOG

http://slidepdf.com/reader/full/testlog 6/6

également sur une politique de gestion du risque permettant de

pondérer les tests à effectuer.

Borland a encore peu de références clients (Agence unique de

paiement rattaché au ministère de l’Agriculture), mais elle a établi

de partenariat avec Steria, Sogeti, MAP, SQLi.

En définitive, il est tout à fait possible pour une équipe de test

qualifiée, équipée d’outils soigneusement choisis et d’une bonne

méthode de mettre en place sa propre usine à test. Bon nombre de

SSII mettant en place une TRA industrialisée font déjà de l’usine à

test comme d’autres font de la prose. ■

Les modèles et les méthodes

De l’assurance qualité vers la qualification du SI

Pierre de Rauglade a fondéAcial en 1998.

 Acial est une société de service spé-cialisée dans les prestations pouvant

améliorer la qualité et les perform-ances du SI. Ses deux domainesd’activités sont la Qualification du SI(80 %) et l’Optimisation des proces-sus de l’entreprise (20%).

Dans le cadre de la qualification duSI, Acial est amené à effectuer desmissions de Tierce recette applica-tive (TRA).

Outre la maîtrise des outils dumarché (HP Mercury, IBM rational,Compuware, Borland, Leirios, Kalios,  Ascential, Princeton Softech) et

d’outils Open Source (OpenSTA,TestLink, Mantis), Acial s’appuie sur

les réferentiels CMMi, ITIL et TPI(Test Process Improvement) et sup-porte les méthodologies BTO de HPet CARS de Compuware.

 Avec une démarche industrialisée dela phase de test et de recette, Acial esttypiquement un prestataire à même demettre en place une usine à test.

  Acial compte aujourd’hui une centainede consultants présents dans tous lessecteurs d’activité. Elle est membreactif du CFTL (Comité français des testslogiciels).

w w w . m a g - s e c u r s . c o m

Sommaire complet, liste des points

de vente, abonnement en ligne...

et toute l’actualité de

la sécurité informatique.

Inscription gratuitepour recevoir la newsletter

 Actuellementen vente

chez votre marchandde journaux 

 Actuellementen vente

chez votre marchandde journaux