BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Functional Test Tools Workshop

Functional Test Tools Workshop

This item in japanese

Bookmarks

Hatching Cuke for .NET: Photo by Paul King The 3rd workshop of the Agile Alliance Functional Testing Tools group was held the Sunday before Agile2009. The open space session was open to anyone interested in advancing the state of the art with Functional (vs Unit) test tools. Among others, the participants were the creators of and contributors to: Selenium, SWAT, Cucumber, WebTest, RobotFramework and Twist.

As an open space, the agenda and sessions are created on the fly – this year there were 3 time slots and 4 locations allowing for up 12 sessions.

According to Lisa Crispin, co-author of Agile Testing, the first session was a series of lightening talks demoing various tools that aren’t as well known as Selenium and Watir: Canoo WebTest, Twist, Cucumber, Robot Framework and SWAT. Lisa says: “I was impressed by Robot Framework, an open source tool whose developer is Pekka Klärck. It has a lot of flexibility. It uses a tabular format similar to FitNesse except there is only one type of table. You can do keyword driven, data driven and even BDD style tests. It also takes command line arguments. It lets you have internal and external libraries such as Swing … There was a lot of interest in SWAT, nobody had seen it before and I think they were particularly impressed by the IDE.”

Paul King, WebTest and Groovy contributor, proposed: “doing more mixing and matching of testing frameworks/drivers/utilities/tools. He had a nice graphic showing what is available. We all agreed there are enough test runners, and the developer community should focus on solving new problems”

In another morning session, Matt Wynne, Richard Lawrence, Aslak Hellesøy and this reporter discussed what would be required to port Cucumber to .NET. As it turns out, as long as users are prepared to run the Cucumber test run under Ruby then creating .NET bindings for Cucumber is relatively simple if the Cucumber developers can find an simple way of communicating with the test application. A model similar to the FitNesse Slim approach was proposed. By the end of the session Matt and Richard started work on the solution.

In last years session it was agreed that we should document the existing tools in this space but the effort floundered. This year, Gerard Meszaros created a spreadsheet (contact this reporter mark AT mlevison DOT com for editing access) based on what he saw in the morning demos. In one of the afternoon sessions a group got together and helped fill in more tools in the spreadsheet – as of today they spreadsheet documents: SWAT, Cucumber, WebTest, RobotFramework, Twist, TestSwarmJBehave, Fit, FitNesse, FitNesseSlim, UltiFit, Watir, Watin, Abbot, Fest, White, Sahi and Sahi-Java. Notably missing are notes about Selenium.

In the late afternoon there was a discussion around the role of record and playback tools such as the Selenium IDE. Lisa Crispin thinks that capture/playback tools “can be a great way to help learn a new tool, and also can be helpful in debugging test scripts or figuring out the right statements to use in a particular test. However, people shouldn’t get bogged down in only using capture/playback”. Jason Huggins, Selenium developer, explained that he is troubled by the general use of the Selenium IDE (really just a record/playback tool). It was originally intended as a “little 'trainer' airplane that jet pilots train on first. The pilots can learn a lot from the trainer, but eventually they have to move up to a real jet.” Suggestions for making this distinction more clear included (notes from Mike Longin):

  • Rename Selenium IDE to Selenium Trainer to help promote the idea that recording really isn’t the end all for automation
  • Create some kind of complexity meter on the recorder that shows when your recording is getting so complex that maybe its time to learn new automation techniques

Mike echoes Paul’s comment “We have numerous drivers, frameworks, and runners out there and now maybe is the time to start looking at integration techniques.  How do we take all of these great tools and start combining them.”

Pekka Klärck thanked Jennitta Andrea and Elisabeth Hendrickson for organizing the workshop again this year.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Document of available tools

    by Kay Johansen,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Kudos to Gerard for creating the spreadsheet of available tools. Should this information go on Wikipedia?

  • Re: Document of available tools

    by Mark Levison,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Thanks for the comment Kay - Gerard does deserve thanks but there were a lot more people who have worked on it since and deserve a thanks too. As to Wikipedia - but its not flexible enough for what we really need. We have a community license for Atlassian's Confluence and it will do the job. The next step is to get the rest of the major tools documented.

  • I updated the information in the spreadsheet on Selenium for you.

    by Jason Huggins,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Of course, it is my strong opinion that most of the rows/features in the spreadsheet have *nothing* to do an automation tool, and *everything* to do with the capabilities of programming languages, development IDEs, and unit test harnesses. For Selenium Remote Control, why ask if a tool has keyword completion if it's an API? Why ask if it has database support if it's an API? If it's an application, why ask if it supports source control? It's like asking if a tractor has moon landing support. Answer yes or no to that type of question ignores the silliness of the question. This testing tools spreadsheet should at least clearly make the distinction betwen APIs and Applications... Selenium has both an API (Remote Control), and an application (Selenium IDE for Firefox). Between the two of them, almost all the answers are "Yes"... But most of the answers are "Yes"... because if you write tests in a real programming language, you can do anything and everything you want.

  • Re: I updated the information in the spreadsheet on Selenium for you.

    by Mark Levison,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Jason - great points about the spreadsheet, why not use two or three columns for Selenium? Why don't we tackle this over skype with a browser in hand?

  • Re: I updated the information in the spreadsheet on Selenium for you.

    by Jason Huggins,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Yes, Selenium needs to be broken into 2 columns. And yes, let's tackle this over Skype in the next few days.

  • Re: Document of available tools

    by Richard Perfect,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I just saw your post and thought perhaps I could mention our brand new testing tool Trace Analyst that provides traceability and progress tracking information. It produces Burn-Down charts by comparing planned test cases versus passing test cases and integrates with Ant/Maven to produce reports and charts about project progress. You can find out more on our website www.traceanalyst.com

  • Left out some of the larger solutions

    by Eric Schumacher,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I was disappointed to see that tools like HP QuickTest Pro were left out of the comparison.

  • Re: Document of available tools

    by Mark Levison,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Richard your welcome to add your tool to the spreadsheet. If we need a new sheet because yours is a new category of tool let me know.

  • Re: Left out some of the larger solutions

    by Mark Levison,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Eric - the list of tools is by now means complete. If you know HP QuickTest Pro or any other tool well enough to document it please add it to the spreadsheet. No one at the gathering knew those tools and so we couldn't document them.

  • Re: Left out some of the larger solutions

    by Eric Schumacher,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Fair enough. Did you happen to invite anyone from HP the other larger vendors?

  • Re: Left out some of the larger solutions

    by Mark Levison,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Eric - to be clear I wasn't one of the organizers just an attendee. The meeting is open to anyone. Its advertised on the "aa-ftt" and "agile testing" mailing list (see my list of lists for details: www.notesfromatooluser.com/2009/06/agile-mailin...).

    I don't personally know anyone from HP or any other major vendor (i.e. Borland Silk test) etc to invite. Please if you know people at a vendor please invite them to join the mailing lists.

  • Wrong link

    by Daniel Anjos,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I know that it looks the same, but Fitnesse links to fitness.org (should be fitnesse.org).

    Anyway, now that Selenium is on the spreadsheet, it's easy to see that Selenium surpasses all other tools!

    Quoting Jason: "if you write tests in a real programming language, you can do anything and everything you want"

  • Re: Wrong link

    by Slobojan Ryan,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I know that it looks the same, but Fitnesse links to fitness.org (should be fitnesse.org).

    This has been fixed - thanks for the heads-up!

    Ryan Slobojan
    Chief Editor, InfoQ

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT