SlideShare a Scribd company logo
1 of 55
Download to read offline
Quality
                                                                  Best Practices
                                                                     & Toolkit
                                                                        for
                                                                  Enterprise Flex




                                                                                    ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Xavier Agnetti



               Adobe Consulting


               A Flex geek :
                        leader FlexPMD
                        Contributeur FlexUnit
                        conférencier à MAX,




                Contact:
                        xagnetti<at>adobe.com



                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
François Le Droff



               Adobe TXI (Technology & eXperience Innovation)
               10 ans                                            (RIA & web 1+n.0)
               OSS geek :
                        membre de
                           ossgtp, du ParisJUG,
                           Tontons Flexeurs

                        contributeur sur qsos, xradar , fna
                        conférencier à MAX, Solution Linux, Tontons Flexeurs,
                           BreizhJUG, RiveriaJUG

               Contact:
                        ledroff<at>adobe.com


                                                                                      ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
François Le Droff


      blog : http://www.droff.com




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Et vous ?

      Flex ?
               FlexUnit ?
               Fluint ?
               FlexCover ?
               FlexMonkey ?
               RiaTest ?


      Build and CI ?
               Ant ?
               Maven ?
               Hudson ?
          




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Agenda


       Unit Test Best Practice                                   (Alex   )

       FlexUnit
       FlexUnit Demo
       Mock
       Code Coverage
       Functional Test
       Load Test
       Static Code Analysis
       Build
       Continuous Integration

                                                                              ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
UnitTest
                                                                  Best Practices




                                                                                   ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Our Agile Testing Principles.




                                                                      Test Everything –
                                      Accept and Minimize
                                                                   Frameworks, Integration
                                       Untestable Code
                                                                             etc.



                               Test Concerns Separately           Test Many Things At Once




                                                                                             ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex - Testing Concerns Separately

     AccidentWizardView Presentation Graphic Layer
   VehicleDescriptorView       MXML               UIComponent                                              DisplayObject

                                                             Presentation Behavior Layer
            AccidentWizardPM
        VehicleDescriptorPM                                               Presentation Models                Utilities


                                 Customer Domain / Application Layer
                        CarCompany                                                                          Utilities /
                                                                  Domain Models      Application Models
                                                                                                            Factories
            IncidentDescriptor

                                                            Persistence Layer
   SaveReportCommand                                               Commands /            Brokers /         Translators /
IncidentReportTranslator                                            Delegates           DataModels           Utilities


                      “saveReport”                           Persistence Definition Layer
                     RemoteObject                              Network Access             File Access     LocalConnection

                                                                                                                            ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Our Agile Testing Principles.




                                                   Test First             Test Last




                                  Run Tests Continuously          One Test Suite Rules Them
                                                                             All




                                                                                              ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
State Verification



                                                                  Exercise




                                                                  Assert state
                                                 Unit test                        Object under
                                                                                      test




                                                                  Assert return


                                                                                                 ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
FlexUnit




                                                                             ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Frameworks and Tools: UnitTesting


       FlexUnit :                                                http://opensource.adobe.com/wiki/display/flexunit/FlexUnit




                                                                                                                               ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Frameworks and Tools: Unit Testing

       FlexUnit
                         Very similar to JUnit




                         Event test enabled




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Frameworks and Tools: UnitTesting


       FlexUnit Html Reports:




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Frameworks and Tools: UnitTesting


       FlexUnit Dashboards:




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Unit Next


       Fluint : http://code.google.com/p/fluint/


       FlexUnit4 :
        http://opensource.adobe.com/wiki/display/flexunit/FlexUnit+4+feature+ov
        erview




                                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Demo FlexUnit




                                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Testing Events

                             Presentation Graphic Layer
                                   MXML            UIComponent                         DisplayObject

                             Presentation Behavior Layer

                                                    Presentation Models                  Utilities


                             Domain / Application Layer

                                  Domain Models                                         Utilities /
                                                                  Application Models
                                                                                        Factories

                             Persistence Layer
                                      Commands /                     Brokers /         Translators /
                                       Delegates                    DataModels           Utilities

                             Persistence Definition Layer
                                Network Access        File Access                      LocalConnection


                                                                                                         ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Demo




                                                                         ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Mock




                                                                         ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Isolating The Object under Test



          Production                                              Depended-on Object




                                  Object under Test




            Unit Tests                                               Test Double



                                                                                       ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Substitution via Dependency Injection (IoC)


         public function PolicyPM( policyValidator : IPolicyValidator )
         {
         }

         model = new PolicyPM( new PolicyValidator() );
         model = new PolicyPM( new PolicyValidatorDummy() );

                                                       Substitution via Dependency Injection

                                                                            Interface
                                                                                             Domain




                                                  Object under Test    Interface




                                                                                        Domain Test Double
                                                                            Interface




                                                                                                             ®




15
 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Behavior Verification Testing What Objects Do Behind the Scenes




                                             Set expected              PolicyValidatorMock
                                               behavior




                                                                    Assert state             Exercise
                           PolicyPMTest




                                                         Exercise          PolicyPM



                                                                                                        ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Behavior Verification Testing What Objects Do Behind the Scenes




         var mock : PolicyValidatorMock = new
         PolicyValidatorMock();
         mock.mock.method( “validate” ).withNoArgs.once;
         //exercise
         var model : PolicyPM = new PolicyPM( mock );
         model.next();
         mock.mock.verify();



                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Our Agile Testing Principles.




                               State Verification First             Behavior Verification
                                 Testing Public API               Testing Internal Behavior


                                  Write Test as Code                Write Java/AS Docs
                                      Examples




                                                                                              ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Making Untestable APIs Testable



    Production Code
    public class LocalConnectionWrapper extends LocalConnection
                                       implements ILocalConnection
    {

    }

   public interface ILocalConnection extends ISendingLocalConnection,
                                            IReceivingLocalConnection
   {

   }



                                                                        ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Making Untestable APIs Testable



      public interface ISendingLocalConnection extends IEventDispatcher
      {
        function send( connectionName : String, handler : String, ...args ) : void;
      }

     public interface IReceivingLocalConnection
     {
         function set client( value : Object ) : void;
         function allowDomain( ...domains ) : void;
         function connect( connectionName : String) : void;
         function close() : void;
     }



                                                                                      ®




20
 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Substitution via Overriding




             Object under Test                                    Untestable behaviour




                   Test Subclass                                      Substitution



                                                                                         ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Substitution via Overriding


     Production Code

    protected function createReceivingConnection() : IReceivingConnection
    {
            return new LocalConnectionWrapper();
    }



     Test Subclass

   override protected function createReceivingConnection() :
   IReceivingConnection
   {
           return new LocalConnectionMock();
   }

                                                                            ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Substitution via Overriding




          var mock : LocalConnectionMock = new LocalConnectionMock();
          mock.mock.method( “send” ).withArgs( “connection” ).once;
          //exercise
          var connector : TestSubclass = new TestSubclass( mock );
          connector.go();
          mock.mock.verify();




                                                                        ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Mock tooling




                                                                                 ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Mock Frameworks




                                        mock-as3: http://code.google.com/p/mock-as3
                                                    Used by Adobe Consulting
                                        Mock4AS: http://code.google.com/p/mock4as




                                                                                       ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Code Coverage




                                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Code Coverage Flexcover - Custom Compiler Approach


http://code.google.com/p/flexcover




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Code Coverage Flexcover - Custom Compiler Approach


http://code.google.com/p/flexcover




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Hudson




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Sonar




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Functional Tests




                                                                                     ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Frameworks and Tools: Testing


        Functional Testing
                OS:
                         Selenium for Flash

                         FlexMonkey, FunFX
           
                              Mercury QTP
                              IBM Rational Functional Tester

                                RIATest




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Load/Stress/Endurance
                                                                          Tests




                                                                                          ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Frameworks and Tools: Testing



       Load and Stress Testing
                JMeter, OpenSTA, Grinder
           

                Other commercial (Flex/AMF specific) products :
                      NeoLoad
                      WebLoad




                                                                   ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Static Code Analysis




                                                                                         ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Frameworks and Tools: Building : Quality


       Quality Reports within your build
                AS3NCSS
                http://localhost:9999/hudson/job/cairngorm/site/javancss.html




                FlexPMD
                http://localhost:9999/hudson/job/cairngorm/12/pmdResult/




                                                                                 ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex PMD




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Demo FlexPMD




                                                                                 ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Build




                                                                          ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Frameworks and Tools: Building


      Ant :
                FlexAntTasks
               Ant : Antennae

•      Maven :
          •     Flex-mojos
                            •   Alternatives :
                                   • ServeBox (Projet Français)
                                   • and Israfil

          •     Archetypes
               FlexMojos V3 est un projet sonatype
               Sonatype et Adobe travaillent ensemble pour le support FB dans m2eclipse




                                                                                           ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Managing Dependencies


       Maven (or Ant + Ivy)




                Demo : http://localhost:9999/hudson/job/cairngormenterprise/site/dependencies.html




                                                                                                      ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Managing Dependencies




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Frameworks and Tools: UnitTest within your Build


       FlexUnit within your build




                         Maven




                                                                     FlexMojos V3 est un projet sonatype
                                                                     Sonatype et Adobe travaillent ensemble pour le
                                                                      support FB dans m2eclipse



                                                                                                                       ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
       FlexPMD within your build




                         Maven




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
CI




                                                                       ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Frameworks and Tools: Building and CC


       Quality within your build : CC




                Demo : http://localhost:9999/hudson/




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Des questions ?

                                                                                    ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.

More Related Content

What's hot

Introduction to OSLC and Linked Data
Introduction to OSLC and Linked DataIntroduction to OSLC and Linked Data
Introduction to OSLC and Linked Dataopenservices
 
James Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environmentJames Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environmentDavid O'Dowd
 
Modeling for Fun and Profit
Modeling for Fun and ProfitModeling for Fun and Profit
Modeling for Fun and ProfitDavid Sciamma
 
BenchmarkQA Performance Testing Quality Forum March 2012
BenchmarkQA Performance Testing Quality Forum March 2012BenchmarkQA Performance Testing Quality Forum March 2012
BenchmarkQA Performance Testing Quality Forum March 2012BenchmarkQA
 
Simulation Professional - What each module can do for me
Simulation Professional - What each module can do for meSimulation Professional - What each module can do for me
Simulation Professional - What each module can do for mePrism Engineering, Inc.
 
OSGi-based Workflow Engine
OSGi-based Workflow EngineOSGi-based Workflow Engine
OSGi-based Workflow Engineyocaba
 
Using Models for Incident, Change, Problem and Request Fulfillment Management...
Using Models for Incident, Change, Problem and Request Fulfillment Management...Using Models for Incident, Change, Problem and Request Fulfillment Management...
Using Models for Incident, Change, Problem and Request Fulfillment Management...ITSM Academy, Inc.
 
Using OSGi to Build Better Software
Using OSGi to Build Better SoftwareUsing OSGi to Build Better Software
Using OSGi to Build Better Softwareyocaba
 
Structured development in BMC Remedy AR System
Structured development in BMC Remedy AR SystemStructured development in BMC Remedy AR System
Structured development in BMC Remedy AR Systemgramlin42
 
Agile Developers Create Their Own Identity
Agile Developers Create Their Own IdentityAgile Developers Create Their Own Identity
Agile Developers Create Their Own IdentityNaresh Jain
 
Experience in Corporate Training in Virtual Worlds
Experience in Corporate Training in Virtual WorldsExperience in Corporate Training in Virtual Worlds
Experience in Corporate Training in Virtual WorldsAgile Dimensions LLC
 
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010Brent Barton
 
We Don't Like our Service Management Tool
We Don't Like our Service Management ToolWe Don't Like our Service Management Tool
We Don't Like our Service Management ToolITSM Academy, Inc.
 

What's hot (18)

Ozone presentation
Ozone presentationOzone presentation
Ozone presentation
 
Introduction to OSLC and Linked Data
Introduction to OSLC and Linked DataIntroduction to OSLC and Linked Data
Introduction to OSLC and Linked Data
 
James Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environmentJames Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environment
 
Modeling for Fun and Profit
Modeling for Fun and ProfitModeling for Fun and Profit
Modeling for Fun and Profit
 
BenchmarkQA Performance Testing Quality Forum March 2012
BenchmarkQA Performance Testing Quality Forum March 2012BenchmarkQA Performance Testing Quality Forum March 2012
BenchmarkQA Performance Testing Quality Forum March 2012
 
Simulation Professional - What each module can do for me
Simulation Professional - What each module can do for meSimulation Professional - What each module can do for me
Simulation Professional - What each module can do for me
 
OSGi-based Workflow Engine
OSGi-based Workflow EngineOSGi-based Workflow Engine
OSGi-based Workflow Engine
 
+15 team v3
+15 team v3+15 team v3
+15 team v3
 
20111007 activiti
20111007 activiti20111007 activiti
20111007 activiti
 
Using Models for Incident, Change, Problem and Request Fulfillment Management...
Using Models for Incident, Change, Problem and Request Fulfillment Management...Using Models for Incident, Change, Problem and Request Fulfillment Management...
Using Models for Incident, Change, Problem and Request Fulfillment Management...
 
Using OSGi to Build Better Software
Using OSGi to Build Better SoftwareUsing OSGi to Build Better Software
Using OSGi to Build Better Software
 
Structured development in BMC Remedy AR System
Structured development in BMC Remedy AR SystemStructured development in BMC Remedy AR System
Structured development in BMC Remedy AR System
 
Agile Developers Create Their Own Identity
Agile Developers Create Their Own IdentityAgile Developers Create Their Own Identity
Agile Developers Create Their Own Identity
 
Introduction to android testing
Introduction to android testingIntroduction to android testing
Introduction to android testing
 
Experience in Corporate Training in Virtual Worlds
Experience in Corporate Training in Virtual WorldsExperience in Corporate Training in Virtual Worlds
Experience in Corporate Training in Virtual Worlds
 
Dot net 2005 vs 2003
Dot net 2005 vs 2003Dot net 2005 vs 2003
Dot net 2005 vs 2003
 
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010Boeing Webinar - Integrating Quality in Portfolio Management -  oct 2010
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010
 
We Don't Like our Service Management Tool
We Don't Like our Service Management ToolWe Don't Like our Service Management Tool
We Don't Like our Service Management Tool
 

Similar to Quality Best Practices & Toolkit for Enterprise Flex

Application Quality with Visual Studio 2010
Application Quality with Visual Studio 2010Application Quality with Visual Studio 2010
Application Quality with Visual Studio 2010Anna Russo
 
Flex Continuous Quality Builds Flex & (Ant || Maven)
Flex Continuous Quality Builds Flex & (Ant || Maven)Flex Continuous Quality Builds Flex & (Ant || Maven)
Flex Continuous Quality Builds Flex & (Ant || Maven)François Le Droff
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFrançois Le Droff
 
Adobe flash platform java
Adobe flash platform javaAdobe flash platform java
Adobe flash platform javaCh'ti JUG
 
Adobe flash platform java
Adobe flash platform javaAdobe flash platform java
Adobe flash platform javaMichael Chaize
 
Flex 3 Deep Dive
Flex 3 Deep DiveFlex 3 Deep Dive
Flex 3 Deep DiveEffective
 
Pervasive content management
Pervasive content managementPervasive content management
Pervasive content managementAlfresco Software
 
XebiaLabs Overview Slides
XebiaLabs Overview SlidesXebiaLabs Overview Slides
XebiaLabs Overview SlidesXebiaLabs
 
Xebia adobe flash mobile applications
Xebia adobe flash mobile applicationsXebia adobe flash mobile applications
Xebia adobe flash mobile applicationsMichael Chaize
 
ServiceNow Event 15.11.2012 / Beispiele aus Kundenprojekten von Aspediens
ServiceNow Event 15.11.2012 / Beispiele aus Kundenprojekten von AspediensServiceNow Event 15.11.2012 / Beispiele aus Kundenprojekten von Aspediens
ServiceNow Event 15.11.2012 / Beispiele aus Kundenprojekten von AspediensRené Haeberlin
 
Aras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Futureelliando dias
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile developmentMichael Chaize
 
JAX2010 Flex Java technical session: interactive dashboard
JAX2010 Flex Java technical session: interactive dashboardJAX2010 Flex Java technical session: interactive dashboard
JAX2010 Flex Java technical session: interactive dashboardMichael Chaize
 
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...Alfresco Software
 
Imaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About UsImaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About UsImaginea
 
Business processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayBusiness processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayKris Verlaenen
 

Similar to Quality Best Practices & Toolkit for Enterprise Flex (20)

Application Quality with Visual Studio 2010
Application Quality with Visual Studio 2010Application Quality with Visual Studio 2010
Application Quality with Visual Studio 2010
 
As2 vs as3
As2 vs as3As2 vs as3
As2 vs as3
 
Flex Continuous Quality Builds Flex & (Ant || Maven)
Flex Continuous Quality Builds Flex & (Ant || Maven)Flex Continuous Quality Builds Flex & (Ant || Maven)
Flex Continuous Quality Builds Flex & (Ant || Maven)
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
 
Adobe flash platform java
Adobe flash platform javaAdobe flash platform java
Adobe flash platform java
 
Adobe flash platform java
Adobe flash platform javaAdobe flash platform java
Adobe flash platform java
 
Flex 3 Deep Dive
Flex 3 Deep DiveFlex 3 Deep Dive
Flex 3 Deep Dive
 
Pervasive content management
Pervasive content managementPervasive content management
Pervasive content management
 
XebiaLabs Overview Slides
XebiaLabs Overview SlidesXebiaLabs Overview Slides
XebiaLabs Overview Slides
 
Xebia adobe flash mobile applications
Xebia adobe flash mobile applicationsXebia adobe flash mobile applications
Xebia adobe flash mobile applications
 
ServiceNow Event 15.11.2012 / Beispiele aus Kundenprojekten von Aspediens
ServiceNow Event 15.11.2012 / Beispiele aus Kundenprojekten von AspediensServiceNow Event 15.11.2012 / Beispiele aus Kundenprojekten von Aspediens
ServiceNow Event 15.11.2012 / Beispiele aus Kundenprojekten von Aspediens
 
Aras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment Methodology
 
Evento SugarCRM 2008 - Corporate Overview
Evento SugarCRM 2008 - Corporate OverviewEvento SugarCRM 2008 - Corporate Overview
Evento SugarCRM 2008 - Corporate Overview
 
Cold Fusion Deck
Cold Fusion DeckCold Fusion Deck
Cold Fusion Deck
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Future
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile development
 
JAX2010 Flex Java technical session: interactive dashboard
JAX2010 Flex Java technical session: interactive dashboardJAX2010 Flex Java technical session: interactive dashboard
JAX2010 Flex Java technical session: interactive dashboard
 
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
 
Imaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About UsImaginea - Ideas to Life - About Us
Imaginea - Ideas to Life - About Us
 
Business processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayBusiness processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss way
 

More from François Le Droff

Implémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans codeImplémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans codeFrançois Le Droff
 
Master chef and puppet show - Devoxx France 2014
Master chef and puppet show - Devoxx France 2014Master chef and puppet show - Devoxx France 2014
Master chef and puppet show - Devoxx France 2014François Le Droff
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresFrançois Le Droff
 
Soirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jugSoirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jugFrançois Le Droff
 
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...François Le Droff
 
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open sourceSoirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open sourceFrançois Le Droff
 
Flex Services And Spring with Spring-Flex ParisJug
Flex Services And Spring with Spring-Flex ParisJugFlex Services And Spring with Spring-Flex ParisJug
Flex Services And Spring with Spring-Flex ParisJugFrançois Le Droff
 
The Spring of Adobe Flex Remoting
The Spring of Adobe Flex RemotingThe Spring of Adobe Flex Remoting
The Spring of Adobe Flex RemotingFrançois Le Droff
 

More from François Le Droff (11)

Implémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans codeImplémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans code
 
Master chef and puppet show - Devoxx France 2014
Master chef and puppet show - Devoxx France 2014Master chef and puppet show - Devoxx France 2014
Master chef and puppet show - Devoxx France 2014
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
 
Soirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jugSoirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jug
 
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
 
Flex & Java @ TourJUG
Flex & Java @ TourJUGFlex & Java @ TourJUG
Flex & Java @ TourJUG
 
Flex & Java @ NormandieJUG
Flex & Java @ NormandieJUGFlex & Java @ NormandieJUG
Flex & Java @ NormandieJUG
 
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open sourceSoirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
 
Flash Catalyst Jug
Flash Catalyst JugFlash Catalyst Jug
Flash Catalyst Jug
 
Flex Services And Spring with Spring-Flex ParisJug
Flex Services And Spring with Spring-Flex ParisJugFlex Services And Spring with Spring-Flex ParisJug
Flex Services And Spring with Spring-Flex ParisJug
 
The Spring of Adobe Flex Remoting
The Spring of Adobe Flex RemotingThe Spring of Adobe Flex Remoting
The Spring of Adobe Flex Remoting
 

Recently uploaded

AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 

Recently uploaded (20)

AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 

Quality Best Practices & Toolkit for Enterprise Flex

  • 1. Quality Best Practices & Toolkit for Enterprise Flex ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 2. Xavier Agnetti  Adobe Consulting  A Flex geek :  leader FlexPMD  Contributeur FlexUnit  conférencier à MAX,  Contact:  xagnetti<at>adobe.com ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 3. François Le Droff   Adobe TXI (Technology & eXperience Innovation)  10 ans (RIA & web 1+n.0)  OSS geek :  membre de  ossgtp, du ParisJUG,  Tontons Flexeurs  contributeur sur qsos, xradar , fna  conférencier à MAX, Solution Linux, Tontons Flexeurs,  BreizhJUG, RiveriaJUG  Contact:  ledroff<at>adobe.com ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 4. François Le Droff  blog : http://www.droff.com ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 5. Et vous ?  Flex ?  FlexUnit ?  Fluint ?  FlexCover ?  FlexMonkey ?  RiaTest ?  Build and CI ?  Ant ?  Maven ?  Hudson ?  ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 6. Agenda  Unit Test Best Practice (Alex )  FlexUnit  FlexUnit Demo  Mock  Code Coverage  Functional Test  Load Test  Static Code Analysis  Build  Continuous Integration ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 7. UnitTest Best Practices ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 8. Our Agile Testing Principles. Test Everything – Accept and Minimize Frameworks, Integration Untestable Code etc. Test Concerns Separately Test Many Things At Once ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 9. Flex - Testing Concerns Separately AccidentWizardView Presentation Graphic Layer VehicleDescriptorView MXML UIComponent DisplayObject Presentation Behavior Layer AccidentWizardPM VehicleDescriptorPM Presentation Models Utilities Customer Domain / Application Layer CarCompany Utilities / Domain Models Application Models Factories IncidentDescriptor Persistence Layer SaveReportCommand Commands / Brokers / Translators / IncidentReportTranslator Delegates DataModels Utilities “saveReport” Persistence Definition Layer RemoteObject Network Access File Access LocalConnection ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 10. Our Agile Testing Principles. Test First Test Last Run Tests Continuously One Test Suite Rules Them All ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 11. State Verification Exercise Assert state Unit test Object under test Assert return ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 12. FlexUnit ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 13. Flex Frameworks and Tools: UnitTesting  FlexUnit : http://opensource.adobe.com/wiki/display/flexunit/FlexUnit ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 14. Flex Frameworks and Tools: Unit Testing  FlexUnit  Very similar to JUnit  Event test enabled ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 15. Flex Frameworks and Tools: UnitTesting  FlexUnit Html Reports: ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 16. Flex Frameworks and Tools: UnitTesting  FlexUnit Dashboards: ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 17. Flex Unit Next  Fluint : http://code.google.com/p/fluint/  FlexUnit4 : http://opensource.adobe.com/wiki/display/flexunit/FlexUnit+4+feature+ov erview ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 18. Demo FlexUnit ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 19. Testing Events Presentation Graphic Layer MXML UIComponent DisplayObject Presentation Behavior Layer Presentation Models Utilities Domain / Application Layer Domain Models Utilities / Application Models Factories Persistence Layer Commands / Brokers / Translators / Delegates DataModels Utilities Persistence Definition Layer Network Access File Access LocalConnection ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 20. Demo ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 21. Mock ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 22. Isolating The Object under Test Production Depended-on Object Object under Test Unit Tests Test Double ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 23. Substitution via Dependency Injection (IoC) public function PolicyPM( policyValidator : IPolicyValidator ) { } model = new PolicyPM( new PolicyValidator() ); model = new PolicyPM( new PolicyValidatorDummy() ); Substitution via Dependency Injection Interface Domain Object under Test Interface Domain Test Double Interface ® 15 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 24. Behavior Verification Testing What Objects Do Behind the Scenes Set expected PolicyValidatorMock behavior Assert state Exercise PolicyPMTest Exercise PolicyPM ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 25. Behavior Verification Testing What Objects Do Behind the Scenes var mock : PolicyValidatorMock = new PolicyValidatorMock(); mock.mock.method( “validate” ).withNoArgs.once; //exercise var model : PolicyPM = new PolicyPM( mock ); model.next(); mock.mock.verify(); ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 26. Our Agile Testing Principles. State Verification First Behavior Verification Testing Public API Testing Internal Behavior Write Test as Code Write Java/AS Docs Examples ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 27. Making Untestable APIs Testable Production Code public class LocalConnectionWrapper extends LocalConnection implements ILocalConnection { } public interface ILocalConnection extends ISendingLocalConnection, IReceivingLocalConnection { } ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 28. Making Untestable APIs Testable public interface ISendingLocalConnection extends IEventDispatcher { function send( connectionName : String, handler : String, ...args ) : void; } public interface IReceivingLocalConnection { function set client( value : Object ) : void; function allowDomain( ...domains ) : void; function connect( connectionName : String) : void; function close() : void; } ® 20 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 29. Substitution via Overriding Object under Test Untestable behaviour Test Subclass Substitution ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 30. Substitution via Overriding Production Code protected function createReceivingConnection() : IReceivingConnection { return new LocalConnectionWrapper(); } Test Subclass override protected function createReceivingConnection() : IReceivingConnection { return new LocalConnectionMock(); } ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 31. Substitution via Overriding var mock : LocalConnectionMock = new LocalConnectionMock(); mock.mock.method( “send” ).withArgs( “connection” ).once; //exercise var connector : TestSubclass = new TestSubclass( mock ); connector.go(); mock.mock.verify(); ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 32. Mock tooling ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 33. Mock Frameworks  mock-as3: http://code.google.com/p/mock-as3  Used by Adobe Consulting  Mock4AS: http://code.google.com/p/mock4as ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 34. Code Coverage ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 35. Code Coverage Flexcover - Custom Compiler Approach http://code.google.com/p/flexcover ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 36. Code Coverage Flexcover - Custom Compiler Approach http://code.google.com/p/flexcover ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 37. Hudson ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 38. Sonar ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 39. Functional Tests ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 40. Flex Frameworks and Tools: Testing  Functional Testing  OS:  Selenium for Flash  FlexMonkey, FunFX   Mercury QTP  IBM Rational Functional Tester  RIATest ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 41. Load/Stress/Endurance Tests ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 42. Flex Frameworks and Tools: Testing  Load and Stress Testing  JMeter, OpenSTA, Grinder   Other commercial (Flex/AMF specific) products :  NeoLoad  WebLoad ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 43. Static Code Analysis ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 44. Flex Frameworks and Tools: Building : Quality  Quality Reports within your build  AS3NCSS  http://localhost:9999/hudson/job/cairngorm/site/javancss.html  FlexPMD  http://localhost:9999/hudson/job/cairngorm/12/pmdResult/ ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 45. Flex PMD ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 46. Demo FlexPMD ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 47. Build ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 48. Flex Frameworks and Tools: Building  Ant :  FlexAntTasks  Ant : Antennae • Maven : • Flex-mojos • Alternatives : • ServeBox (Projet Français) • and Israfil • Archetypes  FlexMojos V3 est un projet sonatype  Sonatype et Adobe travaillent ensemble pour le support FB dans m2eclipse ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 49. Managing Dependencies  Maven (or Ant + Ivy)  Demo : http://localhost:9999/hudson/job/cairngormenterprise/site/dependencies.html ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 50. Managing Dependencies ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 51. Flex Frameworks and Tools: UnitTest within your Build  FlexUnit within your build  Maven  FlexMojos V3 est un projet sonatype  Sonatype et Adobe travaillent ensemble pour le support FB dans m2eclipse ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 52. FlexPMD within your build  Maven ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 53. CI ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 54. Flex Frameworks and Tools: Building and CC  Quality within your build : CC  Demo : http://localhost:9999/hudson/ ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 55. Des questions ? ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.