9
Xavier Warzee Email: [email protected] Blog: http://warzee.fr Site: http://www.microsoft.com/agile ADOPTER DES PRATIQUES DE TEST AGILE DANS UN ENVIRONNEMENT “LEGACY”

Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

Embed Size (px)

Citation preview

Page 1: Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

Xavier WarzeeEmail: [email protected]

Blog: http://warzee.frSite: http://www.microsoft.com/agile

ADOPTER DES PRATIQUES DE TEST AGILE DANS UN ENVIRONNEMENT “LEGACY”

Page 2: Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

CONTEXTE 6 applications d’assurances (auto, habitat, …)

utilisées par des caisses régionales déployées dans un datacenter comprenant des mainframes et

des serveurs

Architecture Code applicatif :

en Java sur les serveurs Unix En C# sur Windows

Règles métiers en Cobol exécutées sur des mainframes Queues de messages pour communiquer entre front et

applications

Mainframe incontournable mais disponibilité faible pour les tests d’intégration avec les codes Java/C#

Page 3: Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

OBJECTIFS

A moyen terme Développer le code réellement attendu Préparer l’adoption d’une approche agile

Démonstration à chaque itération des « user stories » réalisées et testées (Running Tested Features)

A court terme Réduire la période entre 2 Mises En Production

Faciliter le déploiement des applications Fournir une solution adaptée au test des codes

« legacy »/ « back office » !!!

Page 4: Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

Tests d’acceptation

avec GUI

FitNesse/.NetSpec/

StoryTeller

Tests Unitaires

• Nombre réduit de tests au niveau GUI• Automatiser ce type de test

• Définition de tests fonctionnels pertinents

• Tests unitaires généralisés• Adoption d’une approche TDD

ADOPTION DE LA PYRAMIDE DE MIKE COHN

Page 5: Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

ARCHITECTURE & TESTS AVEC MOCKS

DAOBusiness Service

Business Component

Business Component

Business layer Mainframe layer

Business

Service

(Cobol)

MQ

DAO

Business Service

MQ

Business Component

Presentation layer

XXX Application

Application

Process

Service

Business Process

Service

DAS

HTML/JS

Pages

xml/http mq

Business

Service

(Cobol)

DAS

Page 6: Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

ARCHITECTURE & TESTS AVEC MOCKS

DAOBusiness Service

Business Component

Business Component

Business layer Mainframe layer

Business

Service

(Cobol)

MQ

DAO

Business Service

MQ

Business Component

Presentation layer

XXX Application

Application

Process

Service

Business Process

Service

DAS

HTML/JS

Pages

xml/http mq

Business

Service

(Cobol)

DAS

Test

ressource

Test

unitaire

Page 7: Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

ARCHITECTURE & TESTS AVEC MOCKS

DAOBusiness Service

Business Component

Business Component

Business layer

DAO

Business Service

Business Component

Presentation layer

XXX Application

Application

Process

Service

Business Process

Service

MOCK

HTML/JS

Pages

xml/http

MOCK

Test

ressource

Test

unitaire

Page 8: Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

ARCHITECTURE & TESTS AVEC MOCKS

DAOBusiness Service

DAO

Business Service

XXX Application

Application

Process

Service

Business Process

Service

MOCK

HTML/JS

Pages

xml/http

MOCK

Test

ressource

Test

unitaire

Test

composant

Test

composant

Test

GUI

Presentation layer Business layer

Business Component

Business Component

Business Component

Page 9: Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

ARCHITECTURE & TESTS AVEC MOCKS

DAOBusiness Service

Business Component

Business Component

Business layer Mainframe layer

Business

Service

(Cobol)

MQ

DAO

Business Service

MQ

Business Component

Presentation layer

XXX Application

Application

Process

Service

Business Process

Service

DAS

HTML/JS

Pages

xml/http mq

Business

Service

(Cobol)

DAS

Test

ressource

Test

unitaire

Test

composant

Test

composant

Test

GUI