Alex Uhlmann (Adobe Consulting, Edinburgh) and Herve Dupriez (Adobe Consulting, London) are teaming up to present on all things related to the unit-testing, test-driven development, test-coverage analysis and optimisation of the kind of "Experiences on both sides of the glass" that we create when we build innovative and complex RIA front-ends in Flex or AIR and sit them upon enterprise architectures implemented in Java and/or LiveCycle ES as a service oriented architecture.
We’ve been murmuring about a new version of FlexUnit for a while now, but we’re close to rehousing the FlexUnit project as a more active community open-source project; the most major contribution from Adobe Consulting to the project will be a brand new visual test runner implemented in Flex by a number of our user-experience and technical team, that we’ve been using internally on our own projects within Adobe for some time now.
To the presentation at MAX; starting on the client-side, Alex will be focussing his talk around unit-testing best-practices for Rich Internet Applications. Alex has been working on some incredibly complex Rich Internet Applications of late, on code-bases that have teams of 20-30 developers in projects measured in years rather than months. As you can only imagine, the complexity of such application demands rigor and discipline around unit-testing, and Alex will be sharing his experience and best-practices.
One such area is having the tooling to help you identify the strength of your test battery; identifying the areas of your application where test-coverage is weak using test coverage tools. Both Alex and Joe Berkowitz had been immersed in parallel efforts creating test coverage tools, recently joining their efforts to contribute to the open-source FlexCover project. Alex will, I’m sure, be discussing how to leverage FlexCover in your development workflow, including your continuous build workflow, to ensure that you’re testing in all the right places.
Meanwhile, Herve will be focussing on how we achieve the same level of coverage on the other side of the wire, where ActionScript becomes Java. For pure-play Java development, the techniques are well understood – LiveCycle ES however offers a rapid development approach to many classes of enteprise application; just because we alleviate the complexity of implementation, the number of things that could possibly break does not change, therefore nor should our diligence around unit and regression testing of our delivered software.
LiveCycle ES allows the encapsulation of business logic into discrete components called DSCs; these are essentially service classes, that are packaged with resource files and component descriptors that allow them to be assembled and debugged graphically in the LiveCycle Workbench ES environment. Just because business logic is being encapsulated in a DSC, doesn’t mean it should become untestable.
LiveCycle Workbench ES allows your custom DSCs to be seamlessly choreographed and orchestrated into complex business processes, leveraging a number of pre-built services alongside other invocation methods out to 3rd party services. While these orchestrations can be easily exposed to a Flex or AIR application through endpoints that can be invoked through RemoteObject or WebService tags, we should also think about how we create unit and regression test suites for the code that is essentially generated by the orchestration in LiveCycle Designer ES.
As best-practices emerge in how to ensure we are designing-for-test and testing design with LiveCycle ES, Adobe Consulting are keen to share them with the community.
I’ve attended MAX since the day Ely Greenfield stepped up on stage in New Orleans and showed this forthcoming project called Royale (what’s now Flex) to an audience of designers and developers, most of whom hadn’t heard the phrase Rich Internet Application. That was the same conference where we open-sourced Cairngorm, and it’s amazing to look back over what’s really only a relatively short period of time, to see the kind and complexity of the applications we are building today upon the Flash platform. Cross-pollenating software engineering best-practices into our enterprise RIA development has never been more important!
I’m confident that in attending this presentation, you’ll have the confidence to attack the most complex of Rich Internet Applications safe in the knowledge that defensive testing strategies can be used across the Adobe platform; and I know that Alex and Herve will do a tremendous job leading this discussion.
Hear how Adobe Consulting delivers complex rich Internet applications built on Flex and LiveCycle ES, while still employing agile engineering methods to assure quality. Learn about testing with FlexUnit; using Code Coverage tools, designing for testing, and improving test coverage; and how to extend these capabilities to unit-test LiveCycle ES applications "behind the glass."
Speakers: Alex Uhlmann, Herve Dupriez
Audience: Architect, Application Developer
Products: LiveCycle ES, Flex, AIR
Wednesday, November 19, 2:00 pm – 3:00 pm