La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

© Groupe CGI inc. CONFIDENTIEL TOY Stratégie de TNR TOY Nom Giacopelli Vincent Date 02/04/2013.

Présentations similaires


Présentation au sujet: "© Groupe CGI inc. CONFIDENTIEL TOY Stratégie de TNR TOY Nom Giacopelli Vincent Date 02/04/2013."— Transcription de la présentation:

1 © Groupe CGI inc. CONFIDENTIEL TOY Stratégie de TNR TOY Nom Giacopelli Vincent Date 02/04/2013

2 Sommaire Objectifs Activités TNR dans TOY Planning projet à moyen terme projet 2013 Environnement et organisation Outils Analyse de risque TOY Du prototype De la fabrication Stratégie TNR sur prototype TNR sur générateurs 2

3 Objectifs L’objectif est de mettre en place un patrimoine de tests de non régression pour assurer la qualité TOY des versions mineures correctives et des versions majeures sur les périmètres suivants : Prototype Modèles de fabrications (# Générateur) Contexte : Versions majeures tous les trimestres Versions mineures hebdomadaires ou bi-mensuelles Déploiement sur des VM (1 par type de projet) Enjeux Déploiement de l’outil au niveau CGI monde 3

4 Modèle de fabrication Activités TNR dans TOY 4 Conception métier avec l’outil de prototypage + Définition des règles métier spécifiques Conception métier avec l’outil de prototypage + Définition des règles métier spécifiques Prototype Développement des modèles de fabrication pour la technologie cible (Java,.NET, iOS, Android, …) Développement des modèles de fabrication pour la technologie cible (Java,.NET, iOS, Android, …) Modèle de fabrication Androiid Modèle de fabrication Androiid Application complète Fabrication Code généré pour la mécanique standard (80%) Développement règles métier spécifiques Code développé (20%) TNR Modèle de fabrication iOS Modèle de fabrication iOS Modèle de fabrication.Net Modèle de fabrication.Net Modèle de fabrication Java Modèle de fabrication Java TNR

5 Planning Projet à moyen terme 5 2011 Oct 2012 Oct2013 Oct2014 Oct Initial release (Java environment) TOY release 1.0 (July 2012) V2.0 : Mobile environments (iOS + Android) Prototyper and User Interface enhancements, Assistant V2.1 :.NET models V2.2 : Spring / Hibernate Java models V2.0 : Mobile environments (iOS + Android) Prototyper and User Interface enhancements, Assistant V2.1 :.NET models V2.2 : Spring / Hibernate Java models TOY release 2.0 (1 st January 2013) Workflow integration Protototype worklow processing Prototype business organizational structures Workflow models for external processors Workflow integration Protototype worklow processing Prototype business organizational structures Workflow models for external processors TOY release 3.0 (1st January 2014) Rule engine integration : Prototype advanced business rules processsing Models for Rule server engines (JRULES, DROOLS) Rule engine integration : Prototype advanced business rules processsing Models for Rule server engines (JRULES, DROOLS) TOY release 4.0 ( 1st January 2015) TOY Center Business Support Launch of TOY Center TOY Center extension Hosting for other countries TOY Product Roadmap

6 Planning Version 2013 6 Avril 2013 Juillet 2013 Octobre 2013 Décembre 2013 TOY Product Roadmap Layer.Net ASP Layer.Net WPF 1.0.0 1.2.0 1.0.0 1.1.0 Layer.DLL 1.3.0 Layer DOC 1.2.0 Layer.iOS Layer JPA 1.1.0 Layer JSF2 1.4.0 1 2 2 Version majeure 1 Version mineure 3 1.5.0 Layer SQL 1.4.0 TOY 2.1.0 0 2.2.0 2.3.0

7 Gestion des versions 7 Version majeure : 2.x.0 (prototype) 1.x.0 (layer) Fréquence : Tous les 2 ou 3 mois Contenu : Version du prototype (évolution et correctifs) Versions sur les générateurs déjà implémentés (évolutions et correctifs de layer) Version 1.0.0 pour un nouveau layer  Les TNR sont à exécuter sur le prototype et sur les layer déjà implémentés Version mineure : 2.2.x (prototype) 1.1.x (layer) Fréquence : Hebdomadaire ou bimensuelle Contenu : Version du prototype (mais pas obligatoire, correctifs ou évolutifs) Version sur des générateurs existants (mais pas obligatoire, correctifs et évolutifs)  Les TNR sont à exécuter sur le prototype et/ou sur les layer  Concentrer les évolutions et correction sur les versions majeures  Réduire les versions mineures aux correctifs et évolutifs urgents (fréquence à réduire ?)  Effectuer des TNR exhaustifs sur les versions majeures. Réduire le risque de régression sur les versions mineures.

8 Environnements et Organisation 8 Utilisateurs : Demande de correctifs ou d’évolutions par ticket sous Mantis Développement : Equipe Toy Lab Poste de travail Développeur Référentiel source hébergé sur la forge (SVN) Tests : Test unitaire fait sur le poste de développement Tests d’intégration et de non régression à faire sur la VM de tests (Nouveau) Déploiement : Equipe Toy Lab Serveur centralisé 1 VM de test puis 4 VM de Production (1 VM par projet) Demande de modification Bug et évolution Demande de modification Bug et évolution Développement sur le Prototype Développement sur les générateurs Test unitaire Tests de non régression Déploiement Utilisateurs TOY TOY Lab Equipe Test Test d’intégration

9 Outils 9 PIC Intégration des modules développés sur chaque PC par Hudson Tests manuels Outil ALM (Connect) https://quality-center.global.logica.com/qcbin/start_a.jsphttps://quality-center.global.logica.com/qcbin/start_a.jsp Tests automatiques : Jtest : Automatisation des TU (Junit), revue de code Selenium : Automatisation des tests fonctionnels QTP : Automatisation des tests fonctionnels, suite HPQC (connect)  Proposition d’un POC pour le choix de l’outil Comparaison de fichier de codes sources JAVA: codes source java(J2EE) : Comparaison du code généré (Vn et Vn+1) par WINDIFF ou éclipse..Net : se base sur plusieurs technologies (Visual studio). Comparaison du code généré (Vn et Vn+1) par WINDIFF ANDROID : un système d’exploitation fondé sur un noyau Linux, il comporte une interface spécifique, développement en JAVA. Comparaison du code généré (Vn et Vn+1) par WINDIFF IOS : Syst. d’exploitation pour Mobile. Outil de comparaison ?? Gestion des anomalies Utilisation du Mantis actuel (http://toy.groupinfra.com/mantis/account_page.php)http://toy.groupinfra.com/mantis/account_page.php Plateforme de tests VM spécifique pour les tests d’intégration, manuels, automatique, comparaison de source : http://fr-wst-vm-0862.groupinfra.com:8080/toy/

10 Extraction des risques par WIKI Toy et du fichier « TOY Features Fonctionnalités.xlsx » Analyse des risques faite avec la participation de J. Lacour Critères : Fréquence et impact sur un projet 81 exigences/risques fonctionnels ont été identifiés sur le prototype, avec la répartition suivante sur les criticités : Leur couverture nécessite 267 cas de tests (126 après réduction), Pas de contraintes techniques fortes identifiées à ce jour (performance, sécurité, navigateur…) Détails : Analyse de risque du prototype 10 RISQUES PROTOTYPE VolumeRépartition 03-Impératif5264% 02-Important1519% 01-Intéressant34% 00-Ignoré1114% Total81100% CAS DE TESTS PROTOTYPE Effort de testsEffort réduitRépartition 03-Impératif 181 10082% 02-Important381815% 01-Intéressant432% 00-Ignoré711% Total230122100%

11 Extraction des risques par WIKI Toy et du fichier « TOY Features Fonctionnalités.xlsx » Analyse des risques faite avec la participation de J. Lacour Critères : Fréquence et impact sur un projet 19 exigences/risques ont été identifiés lors de la génération du code à partir du prototype, avec la répartition suivante sur les criticités : Criticités différentes suivants les layers Détails : Analyse de risque de la fabrication 11 Layers impératifsAutres Layers Layer Java Jweb + JSF2 + SQLLayer.iOS et Androïd Layer Java Jweb + JSF2 + JPALayer.net WPF (Juillet 2013) Layer.net ASP (Avril 2013)Layer.DDL et DOC CAS DE TESTS GENERATEUR Effort de testsEffort réduitRépartition 03-Impératif9947% 02-Important4421% 01-Intéressant6632% 00-Ignoré000% Total19 100%

12 Stratégie des TNR sur Prototype (1/2) 12 Initialiser les TNR avec des tests manuels. Application modèle : L’application DEMO Version mineure: Une seule campagne de test est à prévoir (probabilité faible de la présence d’une régression) Objectif : Avoir une campagne de TNR restreint Devant se dérouler sur un délai court (0,5 ou 1 jour suivant l’impact de la version). Restreinte à 15-30 cas de tests ciblés sur les risques impératifs et ciblés sur les fonctions impactés par les évolutions/correctifs A terme, ces tests manuels pourront être automatisés pour augmenter la couverture des tests sans impact sur le délai de la campagne

13 Stratégie des TNR sur Prototype (2/2) 13 Initialiser les TNR avec des tests manuels. Application modèle : L’application DEMO Version majeure: 2 campagnes de test (100% puis 25%) Couvrir l’ensemble des risques impératifs et ciblés Effort complet: Référentiel de 267 cdt 1 er campagne : 8 jours de tests manuels (267 cdt) 2 nd campagne : 2 jours (65 Cdt=25%) Effort réduit : Référentiel de 126 cdt 1 er campagne : 4 jours (126 cdt) 2 nd campagne : 1 jour (35 cdt=25%)  Afin de limiter le délai et la charge, nous proposons d’exclure une campagne sur l’effort de TNR complet, et de se restreindre uniquement sur l’effort de tests réduit. A terme, ces tests manuels pourront être automatisés pour réduire le délai de la campagne

14 Stratégie des TNR sur Générateurs 14 Contrôle statique du code généré : Comparaison de fichier : Comparaison des exécutables de la Vn initiale avec la Vn+1 modifiée par les développeurs  Significatif si peu de modification (cas des versions mineures) Code Review par des outils tels que Jtest (intégré dans la PIC) Contrôle dynamique: Automatisation de scénarios de tests fonctionnels sur l’application générée (Application DEMO) Java.net A terme sur mobile (périmètre de l’automate ?) Android.Ios

15 POC automatisation des TNR 15 Choix de l’outil : Selenium Selenium est un outil libre de droit permettant d’automatiser des tests fonctionnels et de les rejouer à l’identique. Retour d’expérience : Selenium est très efficace pour s’interfacer avec des applications Web et simuler leur utilisation Selenium n’adresse pas les applications mobiles (émulateur sur client lourd) QuickTest Pro QTP QTP est l’automate de test de HP qui s’intègre dans la suite ALM. QTP propose des Addins permettant de s’interfacer facilement. Il possède ainsi des AddIns Ajax,.Net, java, SAP, Citrix QTP devrait pouvoir adresser des applications mobiles (émulateur sur client lourd) QTP a déjà été mis en place sur une PIC utilisant Hudson JTEST : Pas de retour d’expérience. Utilisé plutôt en test unitaire, modulaire (Junit).

16 POC automatisation des TNR 16 Objectif du POC A partir d’un scénario TNR de Toy : Confirmer la faisabilité de l’automatisation sur une même application générée par les principaux layers Java.Net.iOS et Androïd L’estimation du coût de l’automatisation des TNR résultant prendra en compte : La réalisation du socle technique La réalisation des scripts L’exécution d’une campagne V0 Le coût de la maintenance

17 Notre engagement Nous réalisons chaque mandat dans un seul but : contribuer au succès de nos clients.


Télécharger ppt "© Groupe CGI inc. CONFIDENTIEL TOY Stratégie de TNR TOY Nom Giacopelli Vincent Date 02/04/2013."

Présentations similaires


Annonces Google