Well, GTAC 2009 is over. I wish to thank Google very much and special thanks to the people who organized this fabulous conference!
Once again, I’ll give you a short overview of the second day:
The opening talk was held by Dr. Alberto di Maglio from CERN. And he told us a lot about the ETICS project, which is a large-scale web-based tool for configuring, integration, building and testing software on the grid. It is open source software and can be found on the CERN web server: http://etics2.cern.ch
It looked quite impressive at first sight. Especially the fact that you can run your software on several grids, from Amazon to gLite or Condor (in order to name just a few). Furthermore, it is possible to choose from several operating systems and hardware settings. Another benefit is the automated packaging system, who takes a lot of work off the developer’s shoulders. The software is plugin-based, so that you can integrate own plugins very easily.
The next talk was on Crowdsource Testing: “Testing Applications on Mobile Devices” by Doron Reuveni (uTest). I think that Crowdsource Testing is not yet another buzzword, in some cases it’s a valuable alternative to established ways of testing.
Doron took Mobile Testing as an example for a scenario with many different devices, operating systems or versions, carriers, data connections and settings. In most cases, companies cannot handle this with their own QA. Here Crowdsource Testing is a good option. You give your Application under Test to a crowd of testers (of course they are organized and led by uTest!) and let them do the work for you.
So, guys, immediately stop thinking about firing your in-house QA people!
As I mentioned, I think it’s a good alternative in *some* cases. The lively discussion afterwards pointed out that there are several reasons why sometimes CrowdTesting may be useful and sometimes not. If you are interested in this topic, send me an eMail, I’ll explain it to you in detail.
Jeremie Lenfant-Engelmann from Google provided the next talk on “JsTestDriver”. He said as follows:
– Existing JSUnit Frameworks are clumsy
– A good non-clumsy alternative is JsTestDriver
– Principles of JsTestDriver:
=> easy to setup and to use
=> good IDE integration
=> Debugger support
=> Code coverage
=> Federated test execution across all browsers and platforms
=> HTML loading support
=> Focus on continuous builds, therefore it is CLI-based (besides the IDE integration for women and children *SCNR*)
Jeremie showed a live demo, which proved that he hadn’t promised too much: It was really fast and seemed to be very easy to use, because it’s analogue to other XUnit tools. He also showed some work with the Eclipse plugin and a CI integration into Hudson.
Finally he mentioned that the focus of JsTestDriver lies very clearly on Unit Testing, not on End-to-End-Testing (very important to keep in mind, because I also tended to understand it as and end-to-end-testing solution).
One of the talks I was really looking forward to, was “Selenium: To 2.0 and beyond!”, by Jason Huggins and Simon Steward. Simon is a Googler, and Jason, the former ThoughtWorker and Googler, is now working at his own company, Sauce Labs. While Jason has probably become well-known for those who have been using Selenium, Simon is the man behind WebDriver. The speakers pointed out that both systems are valuable, but both have different pros and cons.
While Selenium is a toolset with a wide range, Simon describes WebDriver as a “developer-focused tool for automated web apps testing”. They showed us a live demo with both tools, demonstrating the difficulty of key up/down/press operations with Selenium and how smooth it works with WebDriver. By the way: I belong to the people who had been driven nearly mad by this key problem…
The plan to merge WebDriver into Selenium 2.0 wasn’t something very new for the main part of the audience, I guess. But they explained why and what the advantages would be.
Strengths and weaknesses of Selenium are:
++ Easy to extend
++ Easy support of new browsers
– – Confusing API
Strengths and weaknesses of WebDriver are:
++ Lovely API
– – Hard to extend
– – bad support for new browsers
Jason and Simon showed one very attractive feature for those who already have many WebDriver or Selenium tests: By instancing a Selenium Class in a WebDriver test, you can use features of Selenium very easily, and vise versa. You don’t need to migrate old tests. So you (hopefully) have backwards compatibility for Selenium 2.0 / WebDriver.
For version 2.0, they will start co-hosting the code, merge developer and user mailing lists, and merge issue tracking.
An initial release will contain an “Uber-jar” file, which includes two API’s.
Online resources: selenium.googlecode.com
They will provide native support for Java, Python, Ruby and C#. And there will be contributions for PHP and Perl.
More clear design, divided into three parts:
There were two more outlooks: One was mobile devices support, the other one was a WebDriver fork, developed by Opera.
What I missed was a release date for Selenium 2.0 :-)
The statement was like “we are working on it”. I hope it won’t last too long, because after this very entertaining talk I am very curious about version 2.0!
Joshua Williams and Ross Smith talked on “Score One for Quality”. It was on introducing games into working processes, in this case, into Quality Assurance, in order to fight frustration and demotivation. They shared their experiences at Microsoft with “42Projects”. It was focused on bringing back trust, innovation and play.
After a short game called “best bug story” they played with us, they explained why games are working: Because we belong to a generation of gamers. And because 81% of (IT?) business people are 34 years old & younger [oh dear, just 3 years to go…!].
Josh & Ross showed up the pitfalls when using games. There are situations where you shouldn’t play games. e.g. you shouldn’t play “who is the best for Steve’s job?” – when Steve eventually is not the best in this game, he -or you- might have a problem…
Interesting fact: Microsoft used games to review the Windows 7 i18n/l11n project.
Some guidelines for games:
– Set clear objectives
– Use rewards carefully
– Keep duration short
– Implement “Broad Appeal” mechanisms
– Focus on “Organizational Citizenship Behaviour” [what an expression…]
Just my 5 ct. to add: Playing games was also a topic at the Agile2009 conference. And even though I actually cannot find it, there must be a book on Agile Games. In agile environments, playing games is a very useful tool. But I don’t agree completely with the speakers how to use games in a production process. But that’s another story, will be written maybe in a few weeks.
The last regular talk of the conference was on “Automated Performance Test Data Collection and Reporting” by David Burns and David Henderson (smartFOCUS DIGITAL). They pointed out how important a site’s performance can be for visitors, page impressions or consuming rates, e.g. 400ms delay may result in 5%-9% loss of consumption. They demonstrated their own solution for performance measurement and tracking, based on YSlow. YSlow is a free and very useful tool, developed by Yahoo. It’s a Firefox Plugin which interoperates with Firebug. With that tool, you can do some manual ad-hoc measurements. The speakers mentioned an interesting feature of YSlow, Beacon, which enables YSlow to send results as HTTP GET requests to an URL.
As a special service for you, I looked for the documentation of this feature – and this is what I found: http://developer.yahoo.com/yslow/help/#yslow_beacon
David&David used this to integrate YSlow measurements in their Continuous Integration environment and wrote a detailed web-based reporting and tracking tool around it.
Google Wave was also a big topic during the days – and we had the opportunity to test Wave in real-life conditions for two days. All the communication concerning GTAC can be found in the wave “group:firstname.lastname@example.org” (you have to be a beta tester). They didn’t have to convince me – I had already realized before, which impact Google Wave will have. But there were many attendees who changed their mind while using Wave and seeing it in action as a collaboration tool. I think it’s even more than a collaboration tool, in my eyes it’s going to revolutionize all kinds of virtual communication.
But back to its usage as a collaboration tool, I want to quote Jason Huggins. He tweeted:
@jhuggins “awesome use of Google Wave @ gtac- A new wave for each talk at the conf. Now the community can crowd-source their note-taking.”
GTAC ended with a discussion in a very funny and relaxed atmosphere. Everybody I talked with was very happy about having had a very good time at Google with so many high-level quality talks.
So, I hope that rumors will turn out as right and the next GTAC will be located in Bangalore or Hyderabad, India.