FlexMonkeyTM 1.0 GA Now Available From Gorilla Logic | Press Release

Posted in FlexMonkey on March 3rd, 2010 by jonr

jonr originally posted this on FlexMonkey :: Flex UI Testing Tool.

Open-Source Functional Testing Tool for Adobe Flex Applications – New and Improved!

Broomfield, CO – March 3rd, 2010 – Gorilla Logic, an enterprise IT consulting services firm known for its top consulting talent, today announced the availability of FlexMonkeyTM 1.0 GA. With a rapidly growing user base that recently surpassed 5,000 registered users, FlexMonkey is a de facto standard for automated functional testing of Flex applications. After eight months of maturing in a beta status, FlexMonkey is now available for production use by developers and quality assurance professionals everywhere.

“FlexMonkey has been invaluable for us in testing Adobe Air applications. It has found bugs and regressions on several occasions, preventing them from ever reaching customers. And…I had everything I needed to add FlexMonkey tests into our continuous integration environment,” said Michael Portuesi, Principal Engineer, Zoodles.com.

FlexMonkey is an open source testing tool providing record/playback functional testing of
Adobe Flex applications. FlexMonkey 1.0 GA delivers the features and improvements most
requested by the FlexMonkey user community including:

  • “Wait For” handling – removes reliance on the PauseCommand by defining conditions that pause a script until true
  • Fuzzy Bitmap Compare – the Verify command for bitmap images now allows for user controlled tolerances in color comparisons
  • Simplified Setup – new easier process for configuring FlexMonkey testing of an application
  • Compatibility – out of the box compatibility with multiple Flex SDKs (3.3, 3.4.1 and
    3.5)
  • Code Compiling – easier customization and compilation of FlexMonkey source

“FlexMonkey keeps me from becoming exactly that – a monkey chained to a desk manually testing our software,” said Max Cameron, Co-Founder, Big Bang Technology, Inc. “Simply put, FlexMonkey kicks ass. It softens the enormous overhead of functional testing, and more importantly, it let’s my engineers get some sleep at night.”

FlexMonkey is well-suited for use by both developers and QA testers. It provides for regression and functional testing, and can be run from popular build systems and continuous integration environments, like CruiseControl.

“FlexMonkey 1.0 GA marks a major milestone for the FlexMonkey open source project and the Flex community who have come to rely on it. We encourage all existing users to upgrade to this new version which paves the way for our upcoming FlexMonkey releases for Flex 4, as well as our FlexMonkey/Selenium bridge,” said Stu Stern, CEO, Gorilla Logic.

FlexMonkey 1.0 GA is available today at www.gorillalogic.com/flexmonkey. Gorilla Logic also offers complete FlexMonkey training and testing services. Customers interested in early access to FlexMonkey for the Flex 4 SDK and the FlexMonkey/Selenium bridge should contact Gorilla Logic at www.gorillalogic.com/who-we-are/contact.

About Gorilla Logic

Gorilla Logic is an enterprise application development services and consulting firm known industry-wide for providing “gorilla” consultants that can dramatically improve development team productivity. Gorilla Logic has long demonstrated their industry-leading expertise in enterprise Java / JEE development, Adobe Flex / RIA development, and mobile device application development, including the iPhone. Gorilla Logic has been engaged to ensure the success of their most mission critical projects by Fortune 500 companies as well as small and mediums-zed businesses and startups in industries ranging from financial services to entertainment to aerospace and the government sector.

Gorilla Logic also develops open source tools for Java, Flex, and iPhone developers.
FoneMonkey (www.gorillalogic.com/fonemonkey)
FlexMonkey (www.gorillalogic.com/flexmonkey)
MonkeyWrench (www.gorillalogic.com/monkeywrench)
OpenGXE (www.gorillalogic.com/opengxe)

For more information about Gorilla Logic, please visit www.gorillalogic.com or email info@gorillalogic.com.

###

Gorilla Logic Media Contact
Chad Sanderson
303.974.7088 ext. 7002
chad.sanderson@gorillalogic.com

Talk Back: How do you test your Flex applications?

Posted in Jon Rose on December 20th, 2009 by jonr

jonr originally posted this on Jon Rose's Blog.

At Gorilla Logic we are proud of using our FlexMonkey tool to test the enterprise Flex applications we are building, but my curiosity has been growing at how others in the community are testing their Flex & AIR applications.

  • What are you using (FlexMonkey, FlexUnit, Mercury QTP, Selenium, RIATest, FunFX, etc)?
  • Have you run into major pitfalls with your Flex testing?
  • Are the tools you are using allowing your team to achieve your testing goals?
  • How would you rate the state of testing in Flex development?

Thanks! I look forward to hearing from you.

Why FlexMonkey is Game Changing for Flex Developers

Posted in FlexMonkey on December 9th, 2009 by jonr

jonr originally posted this on FlexMonkey :: Flex UI Testing Tool.

What is FlexMonkey?

FlexMonkey is an open source Adobe AIR application used for testing Flex and AIR applications. It provides the functionality to record, playback, and verify Flex UI interactions. It also generates ActionScript / fluint tests that you can easily include within a continuous integration environment.

Who is FlexMonkey for?

Like many in the Flex community, we came to Flex development after many years of developing traditional web applications, where there are multiple tools that allow a developer to simulate a UI client for testing (like HTMLUnit). For testing our Flex user interfaces, we had a strong desire to continue using this paradigm for our developer level testing.

As software consultants, ensuring quality is an important part of what we do. So, we created FlexMonkey to fill the gap between a unit test and what’s really needed to ensure quality (and protect against regression) when developing user interfaces. While we initially created FlexMonkey for developers, many in the FlexMonkey community have found it just as valuable for use in creating QA / Functional tests.

So, we believe that FlexMonkey is useful to both software developers and quality control engineers on Flex development projects.

So, what’s so game changing about it?

If you ask Mike Labriola (one of the Fluint/FlexUnit 4 guys), ‘How do I unit test my Flex user interfaces?’ He will quickly respond, ‘You don’t.’ He won’t tell you this because he doesn’t believe in unit testing (as I can assure you that he strongly believes in Unit Testing), but because there are parts of a user interface that cannot be sufficiently tested with unit tests.

So, as we jump into the reasons why FlexMonkey matters for you, I’ll note that we do not believe that FlexMonkey replaces the need for traditional unit tests. There are still parts of a Flex application that are best tested this way (e.g. service clients, business logic, etc.). If you are building a framework, it’s likely that the majority of your testing will be done through unit tests, but if you are focusing on features and functionality you will likely be able to achieve upwards of 80% of your testing goals with FlexMonkey. Nevertheless, here are the high level places where FlexMonkey changes the game:

  1. FlexMonkey fills the gap left between unit testing and a truly successful test suite, as it provides a tool for doing developer level functional tests that replace traditional unit testing activities that developers perform in other tiers of application development.
  2. FlexMonkey allows developers to write their user interface code in the most natural way. Typically, when developing a user interface application without a tool to simulate a client of the running application, the code has to be written differently to support testing. This often leads to many unnatural acts, which can be avoided when using FlexMonkey.

    For the Java folks, I like to bring up the SpringFramework here, as it provides us with a powerful example of a framework that largely succeeded because it allows developers to write their code in a natural way. Over the long run, the frameworks and tools that make it possible for developers to work in the most natural way will always win out.

    Tools like FlexMonkey are able to facilitate this simply through the paradigm they provide for testing user interfaces, as they allow developers to test applications without any knowledge of the underlying code.

  3. Cost. FlexMonkey is free. So, even though it’s not a perfect tool, it does enable one to build and deploy a successful test suite, a task that is extremely difficult and costly in Flex development without FlexMonkey.

You can find the FlexMonkey project at: http://flexmonkey.gorillalogic.com/

FlexMonkey is built and open-sourced by Gorilla Logic, Inc.

Why FlexMonkey is Game Changing for Flex Developers

Posted in FlexMonkey, Jon Rose on December 6th, 2009 by jonr

jonr originally posted this on Jon Rose's Blog.

What is FlexMonkey?

FlexMonkey is an open source Adobe AIR application used for testing Flex and AIR applications.  It provides the functionality to record, playback, and verify Flex UI interactions.  It also generates ActionScript / fluint tests that you can easily include within a continuous integration environment.

Who is FlexMonkey for?

Like many in the Flex community, we came to Flex development after many years of developing traditional web applications, where there are multiple tools that allow a developer to simulate a UI client for testing (like HTMLUnit).  For testing our Flex user interfaces, we had a strong desire to continue using this paradigm for our developer level testing.

As software consultants, ensuring quality is an important part of what we do.  So, we created FlexMonkey to fill the gap between a unit test and what’s really needed to ensure quality (and protect against regression) when developing user interfaces.  While we initially created FlexMonkey for developers, many in the FlexMonkey community have found it just as valuable for use in creating QA / Functional tests.

So, we believe that FlexMonkey is useful to both software developers and quality control engineers on Flex development projects.

So, what’s so game changing about it?

If you ask Mike Labriola (one of the Fluint/FlexUnit 4 guys), ‘How do I unit test my Flex user interfaces?’  He will quickly respond, ‘You don’t.’  He won’t tell you this because he doesn’t believe in unit testing (as I can assure you that he strongly believes in Unit Testing), but because there are parts of a user interface that cannot be sufficiently tested with unit tests.

So, as we jump into the reasons why FlexMonkey matters for you, I’ll note that we do not believe that FlexMonkey replaces the need for traditional unit tests.  There are still parts of a Flex application that are best tested this way (e.g. service clients, business logic, etc.).  If you are building a framework, it’s likely that the majority of your testing will be done through unit tests, but if you are focusing on features and functionality you will likely be able to achieve upwards of 80% of your testing goals with FlexMonkey.  Nevertheless, here are the high level places where FlexMonkey changes the game:

  1. FlexMonkey fills the gap left between unit testing and a truly successful test suite,  as it provides a tool for doing developer level functional tests that replace traditional unit testing activities that developers perform in other tiers of application development.
  2. FlexMonkey allows developers to write their user interface code in the most natural way. Typically, when developing a user interface application without a tool to simulate a client of the running application, the code has to be written differently to support testing.  This often leads to many unnatural acts, which can be avoided when using FlexMonkey.

    For the Java folks, I like to bring up the SpringFramework here, as it provides us with a powerful example of a framework that largely succeeded because it allows developers to write their code in a natural way.  Over the long run, the frameworks and tools that make it possible for developers to work in the most natural way will always win out.

    Tools like FlexMonkey are able to facilitate this simply through the paradigm they provide for testing user interfaces, as they allow developers to test applications without any knowledge of the underlying code.

  3. Cost. FlexMonkey is free.  So, even though it’s not a perfect tool, it does enable one to build and deploy a successful test suite, a task that is extremely difficult and costly in Flex development without FlexMonkey.

You can find the FlexMonkey project at: http://flexmonkey.gorillalogic.com/

FlexMonkey is built and open-sourced by Gorilla Logic, Inc.

Cairngorm: All the worst parts of Java

Posted in Jon Rose on November 17th, 2009 by jonr

jonr originally posted this on Jon Rose's Blog.

Like many Flex developers, I came to Flex development after a long stay in the Java world. For many years, Java and the surrounding community provided an exciting technical playground. Overall, the community gave developers like myself an amazing set of tools and an excellent group of thought leaders. Yet, we can look back now and realize how many silly ideas there were at the height of Java. I have long thought that Cairngorm borrows on some of my least favorite of these bad ideas, and now it looks like they are continuing down that road.

Now, they are attempting to expand from just a framework to some sort of Flex MVC framework think-tank. Yakov Fain’s reaction to this is priceless:

First, let me ask Java developers a question. Imagine that one day you wake up and read the following announcement, “As of today, Spring framework is the foundation for delivering of successful J2EE projects. In contrast to earlier versions, many parts apply across frameworks. So, if you are using Struts, JSF, and especially Tapestry, just forget about all these complex to pronounce names. From now on, no matter what framework you use, you are actually using Spring’.

Some of you would think, “Yakov is either out of his mind or is writing this blog sitting in one of the coffeshops in Amsterdam”. Wrong! I’m just reading an announcement about the upcoming release of the popular Adobe framework Cairngorm 3: http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm+3

When I first saw Cairngorm (post), it was easy to understand what they were trying to do, as the framework is so heavily influenced by the original version of Struts and the Core J2EE Patterns. Unfortunately, Struts was barely a fit for the original problems it was attempting to solve, and are completely inappropriate for building client-side applications within a real runtime. Struts used an adaptation of the MVC pattern called MVC2/Model 2, which was created to deal with building user interface within request/response model. This model is completely at odds with building a rich Internet application.

So, obviously, I find the move to hold Cairngorm up as a template for architecting Flex applications a bit concerning. Beyond that, one of the other things in the Java community that never proved to bring fruit was the desire to standardize anything and everything, which this idea seems born out of.  I am actually foggy at best with what they are trying to accomplish, and find it completely bizarre that they would try and morph a framework into this “thing.”  Do we really need some sort of Flex specific think tank on a long established pattern?  Also, it seems very bold to attempt to group the work of so many others under their umbrella.

Is this just an attempt to keep the brand name relevant of a framework whose time has come and gone?

Flash Player 10.1 and AIR 2.0

Posted in Jon Rose on November 17th, 2009 by jonr

jonr originally posted this on Jon Rose's Blog.

I haven’t been very active with writing for InfoQ.com lately. My lack of activity has been primarily due to time constraints, but has also been because I have been a bit bored with the recent RIA news. So, I was excited to get ‘back in the saddle’ with a post on the release of Flash Player 10.1 and AIR 2.0, as both releases are cause for excitement to anyone developing RIAs. The release will improve the development experience for Flex and AIR developers, but will also serve to move the ball forward in the space.

Here is my write up: http://www.infoq.com/news/2009/11/flash-10.1-and-air-2.0

Drunk on Software Special Episode from Adobe Max (Best Ever)

Posted in Drunk On Software, Jon Rose on November 6th, 2009 by jonr

jonr originally posted this on Jon Rose's Blog.

We have posted a special Drunk on Software episode from Adobe Max 2009. I personally find this to be one of our most entertaining episodes (not overly useful, but entertaining). So, hopefully it will make you smile on this Friday.

Honestly, this episode makes me wonder if our recipe for Drunk on Software success is more of Chet and less of James and I.

Original Post

Drunk On Software Episode 16: Dion Almaer and Ben Galbraith founders of Ajaxian.com

Posted in Drunk On Software, Jon Rose on August 23rd, 2009 by jonr

jonr originally posted this on Jon Rose's Blog.

In this episode we chat with Dion Almaer and Ben Galbraith founders of Ajaxian.com, and currently working on Bespin at Mozilla.

Drunk on Software Episode 15: Universal Mind & SpatialKey

Posted in Drunk On Software, Jon Rose on August 2nd, 2009 by jonr

jonr originally posted this on Jon Rose's Blog.

We’ve posted our latest episode of DrunkOnSoftware where we catch up with the guys from Universal Mind (Tom Link, Brandon Purcell, and Doug McCune) to chat about their SpatialKey product and geek out on software.

Original Post: http://www.drunkonsoftware.com/2009/07/26/episode-15-universal-mind-spatialkey

Article: Enterprise Flex Security

Posted in Jon Rose on July 27th, 2009 by jonr

jonr originally posted this on Jon Rose's Blog.

Adobe has published an article that Ryan Knight and myself wrote up a few months ago. It gives a very quick overview of securing the server side of Flex applications that using Spring BlazeDS Integration, and then it introduces using our Chimp project to secure the client by doing things like role based filter of UI components. You can check out the article at: http://www.adobe.com/devnet/flex/articles/flex_enterprise_security.html

Additional Resources: