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

#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.

Présentations similaires


Présentation au sujet: "#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS."— Transcription de la présentation:

1 #JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS

2 #JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS BI Agile :Le TDD avec DbFIT et IC avec TFS Damien MARESMA Arnaud VOISIN

3 #JSS2013 WAISSO Base de données : Audit et expertise Optimisation du code Tuning de serveur Mise en haute-disponibilité Projet technique Projet dinfrastructure Migration Délégation de DBA Décisionnel et Collaboratif : Audit et expertise technique Etude de cadrage Création de datamart client Intégration MS BI (SSIS, SSAS, SSRS…) Intégration SharePoint TMA CRM et Marketing : Etude de cadrage Cahier des charges Développement dadd- on Intégration MS Dynamics Intégration Neolane Gestion de la qualité des données

4 #JSS2013 BI Agile – TDD DbFIT ALM : IC avec Team Fondation Service Agenda

5 #JSS2013 La méthodologie Agile dans le secteur de lIT Les chiffres sur les projets 48% des projets de développement et de test sont externalisés mais environ ¼ échouent... (08/2013-cabinet Vanson Bourne) BI Agile

6 #JSS2013 Ce quil y a à tester ? 1.ODS 2.ETL (ODS vers SAS) 3.MàJ, Fusion 4.ETL (SAS vers Cible) 5.Lentrepôt de données 6.Traitements OLAP 7.Rendu, Présentation BI Agile

7 #JSS2013 BI Agile Où

8 #JSS2013 Tests BI Agile

9 #JSS2013 TEST DRIVEN DEVELOPMENT TDD

10 #JSS2013 Le Test – Il vérifie une nouvelle fonctionnalité ou qui a été changé. – Il est indépendant des autres tests. – Il vérifie un seul aspect ou comportement et documente le comportement attendu – Il ne doit pas vérifier trop de fonctionnalité Astuce : Given, When, Then TDD

11 #JSS2013 Les 3 lois du TDD – 1. Vous ne devez pas commencer à écrire de code tant que vous navez pas écrit un test unitaire qui échoue – 2. Vous devez écrire le test suffisant pour échouer. – 3. Vous ne devez pas écrire plus de code que nécessaire pour la réussite du test qui est en cours TDD

12 #JSS2013 TDD Ecrire le test qui échou e Vérifier que tous les tests réussiss ent Modif ier le code

13 #JSS2013 Le mantra TDD RE D REFACT OR GREE N TD D

14 #JSS2013 ATDD TDD Te st Cod e Ré- usina ge Te st Cod e Ré- usina ge Te st Cod e Test- driven developm ent Approbat ion Client Choisir une user story Définir les conditions de satisfaction Implémen ter le(s) test(s) Echouer au test dapprobation Acceptan ce-test- driven developm ent Nouve lle Itérat ion Ré- usiner le test Réussir les tests dapprobation

15 #JSS2013 DbFIT

16 #JSS2013 FIT : Framework for Integrated Test – Développé par Ward Cunningham (fit.c2.com) DbFIT

17 #JSS2013 FitNesse = (FIT + Wiki) fitnesse.org – Développé par Robert (Uncle Bob) Martin – Un site wiki autonome, facilement distribuable – Sans base de données – Une hiérarchie de dossiers et de fichiers – La communauté est très importante DbFIT

18 #JSS2013 DbFIT – Un aménagement ou fixtures de FIT dans FitNesse pour les bases de données – Développé par Gojko Adzic, et maintenant supporté par Jake Benilov – En version 2 depuis Octobre 2013 – FitSharp est limplémentation en.Net DbFIT

19 #JSS2013 Fixtures – Les commandes de bases Query Insert Update Execute Procedure Execute Inspect Store Query Compare Stored Queries Transaction Control DbFIT

20 #JSS2013 Projet « AdventureWorksCredit » – Sprint n°5 User Story – Simulation de plan damortissement Test dapprobation : – Appel dune procédure stockée – Résultats conforme au classeur Excel DbFIT

21 #JSS2013 Le Développeur Agile – Larchitecture de son programme (nombres dobjet) Une procédure stockée avec paramètres – Va projeter le résultat pour chaque paramètres – Depuis une in-line function de calcul Une in-line function de calcul damortissement fixe avec paramètres DbFIT

22 #JSS2013 demo

23 #JSS2013 Fixture nécessaire – Query Template de test – Est-ce que lobjet(programme) existe déjà ? – Est-ce que les paramètres sont définis ? – Est-ce la projection attendu comporte 8 champs – Quel est la description des données projetées Estimation 10 itérations en TDD DbFIT

24 #JSS2013 Démarrage de FitNesse – Téléchargement sur – Pré requis : SQL Server Data Tools BI et JVM RE – Lancer le fichier bat ou une ligne de commande à la racine du dossier dbFit. java -jar lib\fitnesse-standalone.jar -p e 0 –o FitNesse (v ) Started... port: 8085 root page: fitnesse.wiki.FileSystemPage at./FitNesseRoot logger: none authenticator: fitnesse.authentication.PromiscuousAuthenticator Page factory: fitnesse.responders.PageFactory Page theme: fitnesse_straight page version expiration set to 0 days. DbFIT

25 #JSS2013 Se connecter au wiki – Depuis VisualStudio pour les développeurs – Depuis un Navigateur (IE, Chrome) pour le Scrum Master et/ou Product Owner. DbFIT

26 #JSS2013 DbFIT

27 #JSS2013 JumpStart – Création de Page DbFIT

28 #JSS2013 Lediteur DbFIT

29 #JSS2013 La configuration du Dossier Racine !***< default configuration !define COMMAND_PATTERN {%m -r fitnesse.fitserver.FitServer %p} !define TEST_RUNNER {fitsharp\Runner.exe} !define PATH_SEPARATOR {;} !path fitsharp\*.dll *! !img files\images\JSS2013.jpg DbFIT

30 #JSS2013 Lajout de media – DbFIT

31 #JSS2013 La page de SetUp (Attention à la casse) |import | |dbfit.fixture | !|dbfit.SQLServerTest| !|Connect|Data Source=localhost;Initial Catalog=JSS2013;Integrated Security=True;| !define pipe {!-|-!} DbFIT

32 #JSS2013 Hello World DbFIT

33 #JSS2013 !|Query|SELECT world' as Hello| |Hello| |world| DbFIT

34 #JSS2013 RED DbFIT

35 #JSS2013 GREEN DbFIT

36 #JSS2013 Le script Hello Word C:\Users\dmaresma\Source\Repos\JSS2013\dbfit\FitNesseRoot\Les JourneesSqlServer\HelloWorld DbFIT

37 #JSS2013 DbFit en Action Tester quoi, par où commencer ? – Schémas Suivi et non régression du schéma, signatures – Programmes Conformité et comportement attendu – SSIS La source de données Le résultat de lalimentation (les Transformations et Chargement) – SSRS Projection dextraction de données Calcul à lintérieurs des rapports – SSAS : avec OPENROWSET DbFIT

38 #JSS2013 Schémas – Schéma – Table – UDF – Suivi et non régression du schéma, signatures DbFIT

39 #JSS2013 Programmes – USP – Conformité et comportement attendu DbFIT

40 #JSS2013 SSIS Fixture – InspectSsis – SSISDtsConfig – ExecuteSsisWithConfig DbFIT

41 #JSS2013 SSRS Fixture – ReportService – Report DbFIT

42 #JSS2013 ALM (TFS) Content <> Testing content.txt properties.xml MyDbSuite MyDbTest Liéer un test xUnit à lappel du WebService FitNesse : [TestClass] public class dbFitCITest { [TestMethod] public void ProjetBaseDeDonnee() { var xml = XElement.Load("http://localhost:8085/LesJourneesSqlServer.ProjetBaseDeDonnees?suite &format=xml"); var results = ( from c in xml.Elements("finalCounts") select new { right =c.Element("right").Value, wrong = c.Element("wrong").Value, ignores = c.Element("ignores").Value, exceptions = c.Element("exceptions").Value}).First(); Assert.AreEqual(true,results.wrong.Equals("0"),string.Format("Il y a {0} test en échec, {1} en exception, {2} ignoré(s) et {3} passé(s)",results.wrong,results.exceptions,results.ignores, results.right )); Assert.AreEqual(false,xml.IsEmpty, "Aucun test ne semble avoir été joué "); }

43 #JSS2013 Rendre les requêtes plus facile à maintenir – A Encapsuler dans des VIEW et des UDF Limité le périmètre de chaque page – Des données de test simples et pertinente – Facile à comprendre et à maintenir Constamment revoir le périmètre du test – Sassurer de ladéquation des tests avec la réalité du métier Ça Marche ! Leçons

44 #JSS2013 Merci de votre attention

45 #JSS2013 Q & R

46 #JSS2013 BI Agile – Agile Analytics (Ken Collier) – Refactoring Databases : EDD (Scott Ambler ) TDD – TDD : By Example (Kent Beck ) – The Clean Coder (Robert [Uncle Bob] Martin) Etudes – Nagappan Références

47 #JSS2013 Merci à nos sponsors

48 #JSS2013


Télécharger ppt "#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS."

Présentations similaires


Annonces Google