Serial Entrepreneur & Enterprise RIA Pioneer

Jeff Haynie

Subscribe to Jeff Haynie: eMailAlertsEmail Alerts
Get Jeff Haynie: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Open Web Magazine

Open Web: Blog Feed Post

Introducing TestMonkey

It’s not fully ready for prime time yet but it should come together in the next few days. However, if you’d like to start following the dev, hop on over to GitHub and check out TestMonkey.

TestMonkey is an open source (Apache License) UI test framework we’re introducing today. It’s going to be fully integrated into Appcelerator (with some additional cool features on top if you’re using in an Appcelerator app). Additionally, it’s completely standalone as well and you can use on any web application - appcelerator-based or not.

Our main goal is to create a better UI framework for building out front-end test cases. We’re initially focused on unit tests. However, we’ll introduce higher level testing like use case testing soon. We’re going to offer some really neat features in the coming months to do much more advanced automated testing and quality control. So, stay tuned!

There’s a lot of great frameworks for testing out there. But, in open source style, we’ve continued to experience a lot of difficulty trying to do it with everything we’ve found so we’re going to introduce our own product. I’ll talk more in an upcoming post as we get closer to an official release about some of the differences and why we think our approach is easier, faster and ultimately, better.

Here’s some cool things you can do today with it:

1. All test suites run inside their own iframe sandbox. so, if you have any weird issues in one test suite or set of specific tests, you won’t screw up the others…

2. We’re providing a lot of convenience assertions for common UI testing .. thinks like checking for element attributes, element values, checkbox states, etc. are all as easy as pie.

3. We’re building a super cool UI on top for driving tests and the reporting of tests. Right now it’s pretty limited but we’re going to blow that out. Our goal is to provide as much information about failures, location of failures, expected results, etc. so it’s easy to figure out the issues.

4. TestMonkey has a clean API and can easily be extended, for example, to create your own assertion helper functions or test monkey plugin for handling results. In fact, our UI driver is simply an implementation of this plugin. You can easily hook into your own system if you’d like to handle results or do interesting things with them.

5. TestMonkey itself is very small and you don’t need to include anything in your application related to it. Test monkey can load your HTML files up in the sandbox and then your tests can run against the real source, no crazy includes or manually adding of test framework into the real app. It cleanly separates your tests from the real app.

And, there’s more…. And a lot more planned.

From an Appcelerator perspective, we’re essentially re-writing all our unit tests for the entire front-end in Test Monkey now for the upcoming 3.0 release. This will make it much faster to run through all the UI tests across multiple browsers and platforms. Our current web unit test framework is very manually intensive and takes about an hour to run (by a person, not a computer) for each browser + platform combo. With TestMonkey, we’ll be able to run around 90% of the unit tests on an automated basis across multiple platform concurrently. We’re also going to add this to our nightly build as well as continuous build system in the near future. This should really improve the speed and quality of the product.

Read the original blog entry...

More Stories By Jeff Haynie

Jeff Haynie is co-founder and CEO of Appcelerator. He started Appcelerator to provide a true open-source solution to enterprise RIA and SOA-based services development, after growing frustrated by the limited options and complexity in other solutions through his own development work. Prior to starting Appcelerator, Haynie served as co-founder and CTO of Vocalocity and CTO of eHatchery, an extension of Bill Gross? ideaLab. Haynie is an expert software developer and entrepreneur. Haynie has been active in standards development, as well as a contributor to open-source projects, including early work on JBoss. For more on Jeff Haynie, visit his blog at http://blog.jeffhaynie.us.