Posted on November 28, 2009 in Uncategorized by adamNo Comments »

So the publication schedule appears to be Friday-ish.

  • Automating web flow with Selenium and Eclipse IDE – a quick how-to on installing Se into Eclipse.
  • Pirate Rob on Grails Selenium RC: video and slides
  • The next SFSE meetup is Wednesday, December 16 and will be have a minimum of 10 Lightning Talks
  • User Extensions with the Selenium Toolkit for .NET
  • Maven + StoryTestIQ + Selenium RC – A howto
  • Questions from the Selenium Webinars – G2iX has had a couple webinars now; here are the FAQs from them
  • Running Selenium TestRunner slowly – Good be the most ironic post of the week
  • Getting the most out of your Selenium scripts – OK, this one is mine, but it went out in a major email newsletter so I think its cool
  • Selenium is now integrated in MarkUs – Another biased post, but MarkUs has integrated Se into their main tree
  • Improving Selenium Grid – A public suggestion / plea (complete with mockups) for a change in Se-Grid
  • Tasks for Se 2 Alpha – so far…
  • Posted on November 26, 2009 in Uncategorized by adamNo Comments »

    I had the fortune of having the feature article in this week’s Test & QA Report email newsletter. I was a refresh of the Selenium Value Chain I’ve been talking about for a few months now but certainly would have reached a larger audience that this blog does.

    You can read the article in the Software Test & Performance Collaborative Archives.

    Posted on November 21, 2009 in Uncategorized by adam5 Comments »

    By now, most people in the Selenium world have heard about Selenium 2.0 which is the merger of Webdriver and Selenium (Core and RC). What seems to have been missing from those conversations is what Se-IDE 2.0 would look like. This post is a blatant attempt to get those discussions going.

    To do a major version bump there should major changes introduced. With Core and RC it is pretty obvious that the bar has been reached, but what would cause a version bump in IDE? In a word:


    Using the success of the model Firebug has used, I want to see Se-IDE restructure itself to just do recording and basic playback and have everything else provided by plugins. Take a look at the list of Firebug Extensions. I would love to have a list this long for Selenium.

    The reasons in more details:

    • Cleaner Core – Right now, the code checked in for Se-IDE has a lot of different needs, maintainers, and bugs. Let the Core be actually ‘core’. This is doesn’t mean that Se-IDE doesn’t ship with a ‘default formatters’ plugin, as I think it probably should to maintain the current level of functionality, but inside the code there would be separation.
    • Give Control to the Ecosystem – Lets say I was the maintainer of something like an ABAP formatter and someone found a bug. I need to keep track of the OpenQA Jira tracker in case someone misfiled it, fix it, submit a patch and then hassle someone with commit access to the project to not only accept the patch, but spin out a new build. There are too many points where I am not in control of my own destiny there.
    • A rising tide raises all boats – This is absolutely essential I feel for us to grow a commercial environment around Selenium. Right now, companies would have to fork the IDE project and graft on their own modifications. This means you could have a BrowserMob IDE, a Sauce Labs IDE, a TestMaker IDE, an X, Y and Z IDE. It would be so much better if they could just write a plugin to the main Se-IDE. This way everyone can leverage advancements in the Core.
    • Chinese Wall – The Selenium projects are licensed as Apache 2.0 which means there is some requirement to giving the code back to the community. This is a hard pill to swallow to some people, usually management who covet the firm’s IP. (And that is kinda their job.) By writing a plugin, you can say ‘This is our IP and we specifically license it thusly’. Code written outside of a plugin is ‘core’ and needs to be wrapped up as a patch and submitted, code in the plugin does not. (Now I am in no way an expert on the ASL2 license so I could be completely opposite of both its intent and spirit — but I don’t think I am.)
    • We can’t predict the future – Who knows what cool new things the future brings? Not I. If I did, I would play the lottery a lot more than I already do. If Silverlight takes off, then someone could create a Silverlight recording plugin. Or maybe Flash/Flex continues its dominance and the Selenium-Flex-API project gets plugin-ized. The point is, by having, essentially a closed black box says ‘we know what is best for you, trust us’. But we can’t possibly know. It is far better for the long term health of the project to create the tools that allow further tool construction.

    What else could Se-IDE 2.0 provide in the core? I think the next big win (after plugins of course) is elevating JS to official first class citizenship. Perhaps even making it the default instead of Selenese (the HTML syntax) — but that might be a bit radical. At the very least, have it as a persistent option. That would I think solve a lot of what I mused about in What to do with the Selenium-IDE?.

    What something is not is often just as, if not more, important than what it is. So what would Se-IDE 2.0 not be? It would not be anything other than a Firefox plugin. Yes, people seem to think they need a Se recording solution in IE, but that is a trap! No, you do not need a Se recording solution for IE, what you need is a Se playback solution. And we have that in RC. Who cares that you recorded it in Firefox? The idea that it needed to be recorded in IE leads to things like ‘we need a native Safari recorder, and a Chrome recorder, and a Konquerer recorder. And. And. And.’ and you don’t hear that. This is an education and marketing problem, not a real problem that needs a technical solution.

    So there is my ‘If I ran the world’ plan for Selenium-IDE 2.0 (and a bit of a rant at the end). I’d just do it myself if I wasn’t working two different jobs and wasn’t lacking the necessary XUL/JS skills. Let the campaigning begin!

    Posted on November 20, 2009 in Uncategorized by adamNo Comments »
    • Capybara – Capybara aims to simplify the process of integration testing Rack applications, such as Rails, Sinatra or Merb. It is inspired by and aims to replace Webrat as a DSL for interacting with a webapplication. It is agnostic about the driver running your tests and currently comes bundled with rack-test, Culerity and Selenium support built in.
    • Testing Chrome OS – Julian Harty gives us a glimmer of a peek at how Google tests the Chrome OS — which includes Selenium
    • How we do automated regression testing with Selenium and Hudson – Little post by the Sculptor team about how they use Selenium within Hudson (via the Maven plugin)
    • ui test tool search – Chris goes searching for UI-level testing and lands on Fitnesse driven by Selenium RC (via WebTest) and in the process ends up a project maintainer.
    • Selenium 2.0 and Beyond! – Jason and Simon reprise their GTAC talk — this time with both mics turned on.
    Posted on November 20, 2009 in Uncategorized by adam4 Comments »

    Carmine Gallo is a Silicon Valley presentation coach who is making the rounds promoting his book The Presentation Secrets of Steve Jobs. As part of that he was interviewed on IT Conversations. As I start to pay more attention to speaking and presenting these sorts of podcasts become of increasing interest. (And if they wanted to send me a copy of the book I would be happy to read it and write a review here.)

    • Practice and Rehearse. Out loud and over the period of weeks, not hours before hand.
    • A good presentation has drama. Introduce an enemy at the beginning and slay it by the end.
    • Buyology – brands and religions rally around shared enemies
    • Bullets are (other than ironic since this is all bullets…)
      • Too many words on a slide are ineffective. And usually the path to too many words are paved with bullets
      • If Steve Jobs doesn’t use them, why should you be?
      • Create a presentation, not a ‘slideument
      • It is just laziness to put everything onto one slide
    • Make the first 90s gripping
    • Every presentation need to have one main theme. And make it twitter friendly
    • Introduce the problem before the solution. (Part of the drama aspect)
    • Words + Pictures winds over just words or pictures
    • Take baby-steps towards a Jobs-esque presentation. Start by breaking it up with interesting visuals
    • 10 minute rule – the brain searches for other information after 10 minutes
    • The presentation is not about the slides. It is about the presentation. The slides just complement the presentation.
    • Don’t start the presentation creation process by picking up the software tool. Movie directors don’t start a movie by picking up a camera. They plan, storyboard, etc.
    • It is not about the software, it is about the story
    • Get out of your slides during the presentation
    • When finishing up the presentation delivery
      • Review
      • Go back to your theme
      • The last 90s needs to be just as polished as the first 90s
    • You have to believe in your product
    • Have a sense of passion and excitement
    • Successful entrepreneurs are not our to make money; they are out to make meaning – Guy Kawasaki
    • 3 tips
      1. Inform
      2. Educate
      3. Entertain

    edit: It should be noted that these are not my tips, but are taken from the interview. In reality, I’m guilty of breaking more than a few of them.

    Posted on November 18, 2009 in Uncategorized by adam1 Comment »

    Dale Emery gave a talk at Agile Development Practices 2009 and has released an accompanying paper to it.

    Read it.

    Now, it is Acceptance Test focused, but you its lessons are applicable to ‘regular’ tests as well.

    • The difference between success and failure is not the maintenance costs per se, but whether the organization expects them.
    • incidental details, details required only because of the way we’ve chosen to implement the system and the test. Incidental details destroy maintainability.
    • So let’s create a keyword to hide some of the incidental details. Adam – DSL!
    • At the expense of a little bit of syntax awkwardness in the keyword definition, we’ve gained a lot of clarity in the test. It’s a tradeoff well worth making.
    • Duplication often signals that some important concept lurks unexpressed in the tests. That’s especially true when we duplicate not just single steps, but sequences of steps.
    • By analyzing duplication in the test, we identified two essential system concepts — the system accepts valid passwords and rejects invalid ones. By defining keywords, we named those concepts
    • By putting names to those concepts, and using the names throughout the test, we made the test more understandable and thus more maintainable.
    • Any time spent puzzling out the meaning and significance of a test is maintenance cost.
    • … these “trivial” maintenance costs add up, and they kill test automation efforts.
    • I can create a variable, give it an expressive name, and assign it a value that embodies that name.
    • I can understand at a glance the meaning and significance of each test and each step.
    Posted on November 18, 2009 in Uncategorized by adamNo Comments »

    Got a bit sidetracked, but I want to come back to the Agile Tour Toronto 2009 with a bit of a wrapup of it.

    • I really like ‘small’ conferences. ‘Small’ with ‘big’ names is a pattern to success I think.
    • Apparently I know a whole bunch of people in the local Agile community.
    • The wireless, ummm, not-so-good. C’mon.
    • The facility in general, really nice. Including the lunch.
    • Sessions were filled by people with ‘Kanban’ cards. Don’t have a card, don’t get in the room and when the cards are gone, they’re gone. The use of cards was nice, but calling them ‘Kanban’ cards was hokey.
    • Putting the feedback form on the back of the card is brilliant. I got my feedback lighting quick.
    • At the beginning all speakers had a minute to promote their talk. CAST does this as well and it makes a lot of sense.
    • But along the same vein, at the end of the day there was an open ‘share what you experienced in the session’. I suspect it was supposed to be retrospective-ish, but retrospectives need to be ‘safe’ and it didn’t feel like it was. And everything that was said was pretty positive. So it wasn’t a very useful, in my opinion.
  • Here are my individual session write-ups
  • Overall, I’m glad I went. And I would have even if I hadn’t been accepted to speak as the company made a field trip on it. I hope the tour comes to town again next year.

    Posted on November 15, 2009 in Uncategorized by adam1 Comment »

    In (very) broad terms, there are two types of requirements: implicit and explicit.

    Explicit requirements are those that come from upon high. For example, the application must handle authentication over SSL. There isn’t much discussion about those necessary. We’re used to those.

    Implicit requirements are a much trickier thing to navigate. It is implied that the application “shouldn’t suck”, or not be “dog slow”. These require human judgement to decide whether there is a bug in this implicit requirement or not.

    One other implicit requirement is often the look-and-feel in terms of the operating system. (And to a lesser degree corporate look-and-feel, but that is often explicit.). For Windows based applications, the official Microsoft look-and-feel guidelines are posted on MSDN. To be specific, they here: Windows User Experience Interaction Guidelines (or are a giant pdf).

    If you have an application that lives in Windows, you really should have that page bookmarked.

    Posted on November 14, 2009 in Uncategorized by adamNo Comments »

    It’s a day late, but hopefully not a dollar short.

    Posted on November 11, 2009 in Uncategorized by adam1 Comment »

    Last night on the LITG year in review, Ron said something along the lines of ‘Dear Santa, I would like the Redmen to win the Mann Cup this year’. While I don’t think that is quite in the cards (as much as I would like it to be; the Mann Cup finals are at the Ontario team this year), here is my wishlist for Selenium. All of which I think could happen.

    • Selenium 2.0 – There is an impressive amount of commits happening on the Selenium 2 subversion branch. I truly hope that 2.0 gets finished in calender year 2010 and doesn’t drag on perpetually in some weird 1.97.123 state.
    • Steering Committee – In this post I suggested that there needs to be a central body who steers Selenium. I still believe that. Perhaps more than ever now that people who have / are leading the project now have commercial interests now. Not to mention the number of secondary projects that consume Selenium that need / should have a voice as well. I think the model for this might be Apache, but I haven’t looked too hard recently at its governance model
    • Clear up Component Owners – There are a lot of moving Parts in Selenium. Not only do you have the core components (Core, IDE, RC, Grid), these each have subcomponents like the RC client bindings that could have different owners. It’s not really clear who the people in charge of things are and if they still have the time, passion and drive to be that role. For example, the maintainer of the Perl driver doesn’t have time really due to a new addition to the family. (Congrats Luke!)
    • Conference – I think Selenium is large enough that we could easily have a small conference focused specifically on it. I’m envisioning something like GLSEC where there is one day of tutorials and one day of track talks (Starting out, Advaced-ish, Ecosystem, Hack-a-thon). It could also be used for the Steering Committee Annual Meeting.
    • Dead Trees – There is, so far, no books on Selenium that I know of. A couple have a chapter in them (like the RSpec book) but there isn’t one specifically on it. I know of I think 3 that are in the middle of being written, but none have been picked up by a publisher. Again, that I know of.

    I have a hook for a book and have sent one proposal out, we’ll see where that leads. The steering committee is largely out of my hands, but if it was created and they wanted me on it, I wouldn’t say no. And the component issues I think will sort itself out eventually once the leadership situation is resolved. I suppose I could organize the conference, but I’m not going to kid myself in thinking I could do it in my ‘spare’ time.

    So Santa, you see, it is not too great a list. I’ll even leave carrots out for the reindeer.

    Next Page »