Flex Unit Testing

852 views

Published on

Introduction aux tests unitaires et à 5DD données au Breizhcamp 2012

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
852
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Flex Unit Testing

    1. 1. Flex / ActionScript Tests Unitaires et TDD 2012 - 06 - 14
    2. 2. Mathurin Body(@mathurin_body)Christophe Keromen (@ckeromen)
    3. 3. Mathurin Body (@mathurin_body) Christophe Keromen (@ckeromen)en continuelle amélioration
    4. 4. Le Test Unitaire consiste à prendre la plus petite partie du code, isolée de tout autre facteur et à vérifier quelle se comporte comme vous lattendez. Michael Labriola
    5. 5. Isolation• Le résultat du test ne doit pas être affecté par • dautres objets • létat global• Lors de léchec dun test unitaire, la source de lerreur doit être immédiatement identifiable.
    6. 6. Le Test dIntégration consiste à assembler des portions de code déjà testées unitairement et àvérifier que le comportement et linteraction entre ces composants est correct. Michael Labriola
    7. 7. Integration En règle générale, à partir du moment où lon utilise lun des termes suivants, nous sommes en train de discuter dune forme de test dintégration :• Asynchronous• Server• Lifecycle• DisplayList
    8. 8. Le Test Functionnel sattache à enregistrer et rejouer les interactions avec lapplication. Il est extrêmement important car il assure que lapplication respecte les spécifications. Il se peut que de nombreuses unités de codedoivent fonctionner avant de pouvoir produire un seul test dintégration. Michael Labriola
    9. 9. Flex Unit
    10. 10. Tests Unitaires et Flex / ActionScript 3FlexUnit est fourni avec Flash Builder 4.6, implémente xUnitFB 4.6 prend en charge les tests unitaires sur projets mobiles(WiFi requis)
    11. 11. Interface Utilisateur ?
    12. 12. Interface Utilisateur ?• Lorsque la Logique nest pas couplée avec la Vue, la Logique peut être mise sous Test Unitaire.
    13. 13. Interface Utilisateur ?• Lorsque la Logique nest pas couplée avec la Vue, la Logique peut être mise sous Test Unitaire.• Ex.: CalculatorAppFlex
    14. 14. Interface Utilisateur ?• Lorsque la Logique nest pas couplée avec la Vue, la Logique peut être mise sous Test Unitaire.• Ex.: CalculatorAppFlex o les déclarations MMXL declarations et les Event Handlers ne sont pas mis sous test unitaires
    15. 15. Interface Utilisateur ?• Lorsque la Logique nest pas couplée avec la Vue, la Logique peut être mise sous Test Unitaire.• Ex.: CalculatorAppFlex o les déclarations MMXL declarations et les Event Handlers ne sont pas mis sous test unitaires o CalculatorLogicHelper est couverte par les tests unitaires
    16. 16. Interface Utilisateur ?• Lorsque la Logique nest pas couplée avec la Vue, la Logique peut être mise sous Test Unitaire.• Ex.: CalculatorAppFlex o les déclarations MMXL declarations et les Event Handlers ne sont pas mis sous test unitaires o CalculatorLogicHelper est couverte par les tests unitaires
    17. 17. Interface Utilisateur ?Le test des composants UI est beaucoup plus complexe, ex.:FlexUnit4Examples/flexUnitTests.FlexUnit4CheckUITester
    18. 18. http://www.slideshare.net/anupom98/introduction-to-tdd-with-flexunit
    19. 19. http://www.slideshare.net/anupom98/introduction-to-tdd-with-flexunit
    20. 20. Flex UnitTesting Demo MobileCalc
    21. 21. Raccourcis Flash Builder:• Alt+Shift+A, FExécute tous les tests FlexUnit du projet.• Alt+Shift+E, FExécute les tests FlexUnit sélectionnés.• Tag [Ignore] - Permet dignorer le test marqué. Évite de commenter la méthode.
    22. 22. http://www.slideshare.net/anupom98/introduction-to-tdd-with-flexunit
    23. 23. TDDeXtreme Unit Testing
    24. 24. TDD eXtreme Unit TestingÉcrivez les tests en premier !
    25. 25. TDD eXtreme Unit TestingÉcrivez les tests en premier ! AVANT DE CODER
    26. 26. Combien ont déjà fait du TDD ?Combien ont essayé de faire du TDD etabandonné ?Combien ont toujours rêvé de se mettre au TDD,mais ne lont pas fait ?
    27. 27. http://www.slideshare.net/anupom98/introduction-to-tdd-with-flexunit
    28. 28. Quels tests ?
    29. 29. Quels tests ? • Première étape Comprendre les exigences métiers Penser aux différents scenarios possibles Ajouter des tests reposant sur ces scenarios
    30. 30. Quels tests ? • Le Test passe Une fois que vous avez écrit tout le code et que tous les tests passent, vous savez que vous remplissez toutes les exigences métiers. Vous pouvez partager le résultat avec le client ou les autres membres de léquipe.
    31. 31. Quels tests ? • Bug fix Chaque résolution de bogue devrait commencer par lécriture dun test unitaire qui le met en évidence.
    32. 32. TDD - DemoCalculatorLogicHelper
    33. 33. Workflow
    34. 34. Workflow
    35. 35. Workflow
    36. 36. Workflow
    37. 37. Workflow• Lister les exigences
    38. 38. Workflow• Lister les exigences• Créer la Classe
    39. 39. Workflow• Lister les exigences• Créer la Classe• Créer le TestCase à partir de la Classe : New Test Case Class + Select class to test
    40. 40. Workflow• Lister les exigences• Créer la Classe• Créer le TestCase à partir de la Classe : New Test Case Class + Select class to test• Run Test -> échec
    41. 41. Workflow• Lister les exigences• Créer la Classe• Créer le TestCase à partir de la Classe : New Test Case Class + Select class to test• Run Test -> échec• Écrire du code pour passer le test
    42. 42. Workflow• Lister les exigences• Créer la Classe• Créer le TestCase à partir de la Classe : New Test Case Class + Select class to test• Run Test -> échec• Écrire du code pour passer le test• Refactoring si nécessaire
    43. 43. Workflow• Lister les exigences• Créer la Classe• Créer le TestCase à partir de la Classe : New Test Case Class + Select class to test• Run Test -> échec• Écrire du code pour passer le test• Refactoring si nécessaire• Création dune TestSuite : New Test Suite Class + select Test classes
    44. 44. Elad Elrom conseille :
    45. 45. Elad Elrom conseille :• De ne pas utiliser TDD pour les gestuelles.
    46. 46. Elad Elrom conseille :• De ne pas utiliser TDD pour les gestuelles.• Déviter généralement dutiliser TDD pour tester linterface utilisateur.
    47. 47. Elad Elrom conseille :• De ne pas utiliser TDD pour les gestuelles.• Déviter généralement dutiliser TDD pour tester linterface utilisateur.• Dutiliser TDD pour construire les APIs, frameworks, utilitaires et helpers.
    48. 48. Elad Elrom conseille :• De ne pas utiliser TDD pour les gestuelles.• Déviter généralement dutiliser TDD pour tester linterface utilisateur.• Dutiliser TDD pour construire les APIs, frameworks, utilitaires et helpers.• Dutiliser TDD pour tester les services.
    49. 49. Elad Elrom conseille :• De ne pas utiliser TDD pour les gestuelles.• Déviter généralement dutiliser TDD pour tester linterface utilisateur.• Dutiliser TDD pour construire les APIs, frameworks, utilitaires et helpers.• Dutiliser TDD pour tester les services.• Dutiliser TDD pour le code qui sera utilisé plus dune fois, dans plus dune application,…
    50. 50. Bibliography• http://www.slideshare.net/anupom98/introduction-to-tdd-with-flexunit• Unit Testing Tools in Flash Builder: http://help.adobe.com/en_US/flashbuilder/ using/WS064a3073e805330f-57274fcd12dfe5a574a-8000.html• Doc FlexUnit: http://docs.flexunit.org/index.php• Elad Elrom o Test Driven Development using Flash Builder 4 and FlexUnit (2009) http:// www.adobe.com/devnet/flex/articles/flashbuilder4_tdd.html o http://www.slideshare.net/eladnyc/test-driven-development-tdd-with- flexunit-4-360flex-san-jose-preso o http://elromdesign.com/blog/2010/03/10/test-driven-development-tdd-with- flexunit-4-complete-tutorial/
    51. 51. Ressources• http://www.slideshare.et/michael.labriola/why-test-with-flex- unit• http://tutorials.digitalprimates.net/flexunit.html• Support for FlexUnit: https://flexunit.tenderapp.com/• A very good read http://www.amazon.com/Working- Effectively-Legacy-Michael- Feathers/dp/0131177052 • Elad Elrom Examples Downloadhttp://www.adobe.com/content/dotcom/en/devnet/flex/articles/flashbuilder4_tdd/_jcr_content/articlePrerequistes/multiplefiles/node_1278642616618/file.res/flashbuilder4_tdd_source[1].zip
    52. 52. Bibliographie Chapter 2 of AdvancedED Flex 4 Flash&Flex Developers Magazine Flash and mobile - APPS, IPHONE AND IPOD Touch 201-01

    ×