Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

1,532 views

Published on

  • Be the first to comment

  • Be the first to like this

Adoption De Pratiques De Test Agile Dans Un Environnement Legacy

  1. 1. Adopter des pratiques de test agile dans un environnement “legacy”<br />Xavier Warzee<br />Email: xavier@warzee.fr<br />Blog: http://warzee.fr<br />Site: http://www.microsoft.com/agile<br />
  2. 2. Contexte<br />6 applications d’assurances (auto, habitat, …)<br />utilisées par des caisses régionales<br />déployées dans un datacenter comprenant des mainframes et des serveurs <br />Architecture <br />Code applicatif : <br />en Java sur les serveurs Unix<br />En C# sur Windows <br />Règles métiers en Cobol exécutées sur des mainframes<br />Queues de messages pour communiquer entre front et applications<br />Mainframe incontournable mais disponibilité faible <br />pour les tests d’intégration avec les codes Java/C#<br />
  3. 3. objectifs<br />A moyen terme<br />Développer le code réellement attendu <br />Préparer l’adoption d’une approche agile<br />Démonstration à chaque itération des « user stories » réalisées et testées (Running TestedFeatures)<br />A court terme<br />Réduire la période entre 2 Mises En Production<br />Faciliter le déploiement des applications<br />Fournir une solution adaptée au test des codes « legacy »/ « back office » !!!<br />
  4. 4. Tests d’acceptation avec GUI<br />FitNesse/<br />.NetSpec/<br />StoryTeller<br />Tests Unitaires<br />Adoption de la pyramide de Mike Cohn<br /><ul><li> Nombre réduit de tests au niveau GUI
  5. 5. Automatiser ce type de test
  6. 6. Définition de tests fonctionnels </li></ul> pertinents<br /><ul><li> Tests unitaires généralisés
  7. 7. Adoption d’une approche TDD</li></li></ul><li>Architecture & Tests avec MOCKS<br />Presentation layer<br />Mainframe layer<br />Business layer<br />Business Component<br />Business <br />Service<br />(Cobol)<br />MQ<br />DAS<br />DAO<br />Business Service<br />XXX Application<br />Business <br />Service<br />(Cobol)<br />Business Component<br />DAS<br />MQ<br />Application<br />Process<br />Service<br />DAO<br />Business Process<br />Service<br />HTML/JS <br />Pages<br />Business Service<br />Business Component<br />xml/http<br />mq<br />
  8. 8. Architecture & Tests avec MOCKS<br />Presentation layer<br />Mainframe layer<br />Business layer<br />Business Component<br />Test<br />ressource<br />Business <br />Service<br />(Cobol)<br />MQ<br />DAS<br />Test<br />unitaire<br />DAO<br />Business Service<br />XXX Application<br />Business <br />Service<br />(Cobol)<br />Business Component<br />DAS<br />MQ<br />Application<br />Process<br />Service<br />DAO<br />Business Process<br />Service<br />HTML/JS <br />Pages<br />Business Service<br />Business Component<br />xml/http<br />mq<br />
  9. 9. Architecture & Tests avec MOCKS<br />Presentation layer<br />Business layer<br />Business Component<br />Test<br />ressource<br />MOCK<br />Test<br />unitaire<br />DAO<br />Business Service<br />XXX Application<br />Business Component<br />MOCK<br />Application<br />Process<br />Service<br />DAO<br />Business Process<br />Service<br />HTML/JS <br />Pages<br />Business Service<br />Business Component<br />xml/http<br />
  10. 10. Architecture & Tests avec MOCKS<br />Presentation layer<br />Business layer<br />Business Component<br />Test<br />ressource<br />MOCK<br />Test<br />unitaire<br />DAO<br />Business Service<br />Test<br />composant<br />XXX Application<br />Business Component<br />MOCK<br />Application<br />Process<br />Service<br />DAO<br />Business Process<br />Service<br />Test<br />composant<br />HTML/JS <br />Pages<br />Business Service<br />Business Component<br />Test<br />GUI<br />xml/http<br />
  11. 11. Architecture & Tests avec MOCKS<br />Presentation layer<br />Mainframe layer<br />Business layer<br />Business Component<br />Test<br />ressource<br />Business <br />Service<br />(Cobol)<br />MQ<br />DAS<br />Test<br />unitaire<br />DAO<br />Business Service<br />Test<br />composant<br />XXX Application<br />Business <br />Service<br />(Cobol)<br />Business Component<br />DAS<br />MQ<br />Application<br />Process<br />Service<br />DAO<br />Business Process<br />Service<br />Test<br />composant<br />HTML/JS <br />Pages<br />Business Service<br />Business Component<br />Test<br />GUI<br />xml/http<br />mq<br />

×