A thoughtworker to be

August 27, 2010

I’ve recently accepted an opportunity with Thoughtworks, who are setting up a presence here in Brisbane, Australia.

I am thrilled to be offered this opportunity to work for a company who is passionate about revolutionizing IT and is so well aligned with my values and ideas. I found the Thoughtworks recruitment process to be very thorough, whilst not over the top, and actually enjoyable. This is because it gave me a great insight into the company as I got to meet a lot of thoughtworkers, and I felt very confident to  accept the job offer without any reservations. Thoughtworks thoroughness in assessing candidate’s technical ability and aptitude also made me confident that I will be working with other very capable individuals.

I look forward to beginning at Thoughtworks in mid-September as a Senior QA Consultant, and in the meantime I will be having a short break with my family.

Picture by CreativePete


Three software testing links

August 17, 2010

Soap Opera Testing

A couple of years back I read about soap opera testing, a derivative of scenario testing that involves complicating a test scenario to the point of it resembling a soap opera plot. Most of the material on soap opera testing is now unavailable, but Eric Petersen wrote about a real life example of a Department Store accidently giving away $800 to $4000, and the unintended consequences including physical violence in the carpark.

Usability Testing

When conducting usablity testing, it is super critical to have non leading goals and tasks, otherwise the participant will simply do what you ask and won’t reveal any usability issues. I found this example about usability testing of the IKEA site the most useful to explain why.

Years ago, we helped with a study of Ikea.com, looking at how people found products on the site. When we got there, they’d already started the testing process and were using tasks like “Find a bookcase.” Interestingly, every participant did exactly the same thing: they went to the search box and typed “bookcase”.

Upon our suggestion, the team made a subtle change to the instructions they were giving their participants: “You have 200+ books in your fiction collection, currently in boxes strewn around your living room. Find a way to organize them.”

We instantly saw a change in how the participants behaved with the design. Most clicked through the various categories, looking for some sort of storage solution. Few used Search, typing in phrases like “Shelves” and “Storage Systems”. And, nobody searched on “bookcase”.

The way you design tasks could have a dramatic outcome on the results, without you even realizing it.

Acceptance Test Driven Development

I’ve seen acceptance test driven development (ATDD) frequently implemented incorrectly, especially with developers writing acceptance tests in FitNesse. I think it’s because the developers I have seen have a natural tendency to make things technical. This article, about the misuse of Cucumber, represents my thoughts correctly, it’s a design vs implementation problem, and it’s the fault of the ATDD tools as they encourage it.

You’re Cuking It Wrong

Opinions on cucumber seem to be divided in the Ruby community. Here at Elabs we’ve been using cucumber to fantastic success on all of our projects for more than a year. At the same time Steak and projects like it seem to be gaining traction; some people are seemingly frustrated and fed up with cucumber.

So where does this gulf of experiences come from, why is cucumber loved by some and hated by others. At the risk of over-generalisation and mischaracterisation I recently came up with a theory: the cucumber detractors are not using cuke the way it was intended.


A HUGEly funny spelling mistake

August 17, 2010

I couldn’t help but laugh out loud at the misspelling on this page for HUGE: how ironic.


Captchas on LinkedIn

August 17, 2010

I’ve noticed last week that LinkedIn started displaying a CAPTCHA every time I signed in. I thought it may have just been my account, so I asked around and realized they were appearing for everyone I work with. It’s the first time I have seen CAPTCHAs in use for each sign in, as opposed to each sign up. In my opinion a CAPTCHA on sign in is over the top, and the particular CAPTCHA implementation LinkedIn used was too cryptic, and in discussing this with colleagues I found it was not uncommon to try three or more attempts before being able to log in. Making it very difficult for users to log into your product or service means they’ll use it less. To quote Steve Krug who quotes his wife in Don’t Make Me Think:  “if something is hard to use, I just don’t use it as much”.

I was slightly relieved today to see that LinkedIn changed their CAPTCHA images to the popular reCAPTCHA. But after the first CAPTCHA quickly expired?!? (maybe to quickly timeout human solvers), I then realized what they were asking me to type in included a degree sign. Seriously? How do I type that in? There’s no key for that on my keyboard. Do you seriously want me to open up my character map and copy and paste it in? Will an average user even know how to do that?

I was beginning to think it was just me, that I am started to get too fussy and frustrated with technology, but a two second search on twitter confirms that’s not the case. Imagine having your customers saying these things about you:

  • @leightonhubbell: The @linkedin Captcha also doesn’t work too well on a mobile phone for logging in either. Clunky.
  • @NabilHarfoush: The Captcha of #LinkedIn log-in is driving me nuts. Now with Greek and accented letters!! WTF? #FAIL
  • @cabteix: @LinkedIn I’m considering leaving you because of that stupid captcha
  • @jgimer: RT @realex_tracy: Completing the CAPTCHA every time I log into LinkedIn is beginning to annoy me <- More motivation for evasion research. :)
  • @stevendiz: Hey #linkedin, I have no desire to fill in a damn captcha form EVERY time I use your site.
  • @highrockmedia: On @LinkedIn, why is there now a captcha after I authenticate with valid credentials? #uifail
  • @abishek: +1 RT @yaron_think_ver Recently I’ve been getting a captcha test each time I log in to #LinkedIn. What’s up with that? #Annoying
  • @MacBeer: @linkedin For what reason are you harassing clients with CAPTCHA “security” screens at each log in?
  • @guyindfw: Hey @LinkedIn – Captcha after signin is really, really, really, annoying. *sigh*
  • @DebbieHazelton: me too! RT @darrell: RT @TimNoonan: LinkedIn’s new useless verification CAPTCHA is discouraging me from using it so much :(

So, the big question is, are LinkedIn creating passionate users? I’ll let you decide.


Australian Software Testers (who blog)

July 13, 2010

I was thinking it’d be a good idea to share my list of software testers I know in Australia. Of no coincidence, most of the great people in software testing in Australia write a blog about the craft. I wish everyone who worked in software testing wrote a blog because, as a manager, it sure would make my hiring decisions easier! In case you were wondering, yes, hiring managers do Google.

It’s pretty obvious to me if you’re a tester why you should write a blog. Not only does it showcase your skills, and code, but it allows you to connect to a whole bunch of others who have similar, or different, mindsets, who agree with you, or want to challenge you. Add in the fact that it needn’t cost a cent to set up your blog, only your time, and there’s really no reason not to.

Well here’s my list. Please don’t feel offended if I’ve left you off, it’s probably an oversight on my behalf. Also, this list is presented in no particular order.

Tim Koopmans: Tim lives in Melbourne and works as an open source performance test consultant as Altentee. His blog, once known as 90kts, is now written on Altentee’s blog site.

Jared Quinert: Jared is a software testing consultant who also lives in Melbourne, and is a self described: “Agile-literate contrarian uber-tester“. He has a huge amount of experience which he shares through his blog: Illiteration – Testing times in Software Testing.

Marlena Compton: Marlena lived in the USA until recently when she was hired by Atlassian in Sydney as part of their 32 engineers recruitment drive. I imagine one of the reasons they hired her is how much expert knowledge she shares on her frequently updated blog: Marlena’s Blog: Testing and coding concurrently.

Trish Khoo: Trish works as a test lead in Sydney for Campaign Monitor, a very cool organization who were recently featured on 37Signal’s SVN blog. Her blog, Purple Box Testing, is thought provoking and updated regularly.

Eric Petersen: Eric is a well known agile testing consultant who lives and works in Melbourne. He writes a blog  at Testing Reflections.

Kristan Vingrys: Kristan is one of the most clued on people I have met in Australia when it comes to testing, so it’s no surprise he is Global Test Practice Lead for Thoughtworks. He hasn’t blogged in a while, , but there is some older content on VinkTank.

Dean Cornish: Dean is an agile consultant with Thoughtworks in Melbourne and has a blog, although, like other Thoughtworkers, it hasn’t been updated in over a year. See Testing, Though and Observations.

Nathaniel Ritmeyer: Nat no longer works in Australia, he’s in London, but he has worked in Australia, and writes an excellent blog with lots of great Watir content: Nat on Testing.

Let me know if you feel I have missed anyone out!

Update: 19 July 2010

I knew, I’d miss a couple. Here they are:

Joel Deutscher: Joel is a Performance Test Consultant based in Sydney, Australia. He writes a blog called Headwired: An eye on application performance.

Craig Smith: Craig is a agilist & software developer based here in sunny Brisbane, but writes quite a few posts on his blog about testing and testing meetups. See CDS 43.


Reflecting on this blog

July 12, 2010

I fired up my netbook tonight to read and reflect on some of my old blog posts. Here’s a collection of my favourite blog posts and a comment about each from my current perspective.

Five organisations I would love to work for (geography aside): Amazingly this two+ year old list is still very accurate. In 2010 I’d possibly drop 37signals from number 5 and replace them with either Thoughtworks or Mozilla or Google. Proving how great Atlassian is, Jeffrey Walker commented on this post, but very sadly, he’s no longer with us.

Software Piracy: I still stand by my views on pirated software being unnecessary, and still love my ‘biting the hand that feeds you’ analogy.

Why I do automated testing: This question still comes up (a lot) when attending job interviews. My answer is, unsurprisingly, still the same.

Version control your tests, quickly, easily, today for free: There’s still no excuse not to have version control of your automated tests. Please do it.

Create fancy wiki home pages with Confluence, Lozenge and Nuvola Icons: A dead simple way to create an attractive Confluence home page with free icons.

Weird ways of working, car indicators, and shoshin: The thing that amazes me today about my eight month year old son is his shoshin, and how he contributes to my own.

Running Watir tests from a Confluence wiki page: Some cool stuff I wish I could use more in my day job. One day.

Five reasons starting with F on why I use Watir: Again, two+ years later and all the reasons are still relevant.

Let me know if you have any favourites or would like me to write about something in particular in the future.

Update 20 July 2010:

Somehow I forgot this post I am really proud of: Software Testing Career Development


Ubuntu tweaks I can’t live without

July 11, 2010

I recently did a fresh install of Ubuntu 10.04 on my Dell netbook (because the upgrade process didn’t work smoothly) and in doing so I re did some of my Ubuntu tweaks I am used to. For my own sake (meaning so I don’t have to remember these again) and yours (in case you’re not familiar with these) here they are.

Enabling Window Scaling (like OSX Exposé)

1. Install ‘Advanced Desktop Effects Settings’ in the Ubuntu Software Centre

2. Enable Window Scaling under Preferences->CompizConfig Settings Manager (I set mine to top left)

3. Move the mouse to the top left of the screen (or wherever you have set) to activate it

Enabling useful ‘non-open’ stuff in one go

If you’re like me, sometimes you can’t live without some of the stuff that doesn’t adhere to Ubuntu’s strictly open policy. So, luckily, Ubuntu makes it easy to install this stuff, like mp3 support, flash, java runtime, microsoft fonts etc. in one click using the Ubuntu Software Centre. It’s called “Ubuntu Restricted Extras” and is one click away from being yours.

Enabling Bluetooth Internet Tethering to your Phone

If you’re like me and occasionally want to access the Internet from your netbook and like to use your phone’s 3G connection, it’s easy to get Ubuntu to do this. A Bluetooth Manager (BlueMan) is already installed, and the only slightly tricky part is to ensure it shares it’s Bluetooth connection with Ubuntu’s Network Manager.

This is done by enabling the property “NMPANSupport” under the Bluetooth Manager Plugins.

Getting your Firefox bookmarks/passwords/settings with Firefox Sync

I am a big fan of Firefox Sync (previously known as Weave), because it means setting up a new computer is a breeze. All that’s needed is to enable the Firefox Sync Addon and login, and tada, all your bookmarks/passwords/settings are synced with your other machines. Very neat stuff.

There We Go

That’s it for now. Let me know if you have any Ubuntu tweaks you can’t live without.


Please sponsor me to read and help over 18,000 Australians living with MS

May 17, 2010

About Me

I am taking part in The Novel Challenge to raise funds for people affected by Multiple Sclerosis (MS).

My goal is to read 12 Jonathan Kellerman novels in 30 days. I bought these novels recently at the Lifeline Bookfest in Brisbane, another very worthy cause. I am hoping to raise $1000 for MS.

All donations over $2 are tax deductible, and since we’re coming up to tax time, there’s no excuse not to Donate.

About MS

MS is the most common disease of the central nervous system and affects more than 18,000 Australians.

Did you know?

  • The average age of diagnosis of MS is just 30 years
  • MS affects three times as many women as men
  • Since identification, MS has been the subject of intense, world-wide research but still its cause and cure remain elusive

MS Australia aims to minimise the impact of multiple sclerosis on all individuals affected by the disease, as well as their families, carers and the community, by offering a wide range of services, equipment and support. MS Australia’s goal is to assist everyone affected by MS to live life to their fullest potential and secure the care and support they need, until we ultimately find a cure.

Please Donate by visiting my page on The Novel Challenge: http://register.thenovelchallenge.org.au/The-Novel-Challenge/alisterscott and help MS Australia support all people affected by multiple sclerosis.

Update: for those interested in the 30 day timeframe:

First day of challenge: Sunday 16 May 2010
Last day of challenge: Monday 14 June 2010

Update: I have raised $650 so far. Thanks to those who have sponsored me. This puts me in 5th place currently. Let’s hope I can keep my position!

Update 30 June 2010:

I recently completed my Novel Challenge.

Whilst it took a bit longer than I expected, I am happy I did manage to finish, especially with the busyness I have seen lately in working in a financial services company at the end of a financial year.

I managed to raise $825 for MS which is fantastic! A big thank you to everyone for your support.

It was challenging to read so many books by the one author, but it was an interesting exercise nonetheless. The big question is what was my favourite Jonathan Kellerman book? It would have to be ‘The Web’ (1996), mainly due to its very interesting setting on the fictitious Pacific Island of Aruk.

I enjoyed them all but his latest book ‘Deception’ was probably my least favourite as it was very similar to most of his earlier novels set in Los Angeles.

I recently bought a Kobo eBook reader so I am hoping to keep up my velocity in reading in a slightly more modern way.

Thanks again,

Alister


Upcoming agile testing meetup in Brisbane, Australia

May 5, 2010

I just got this email from Thoughtworks, and have registered to attend. See you there if you’re in Brisbane.

You are invited to the launch meeting of the Brisbane chapter of the Agile Alliance Australia (AAA). Last year’s inaugural Agile Australia conference established the AAA and it is envisaged that local chapters will provide ongoing education and knowledge-sharing.

ThoughtWorks Global Testing Practice Lead Kristan Vingrys will be our guest speaker discussing the Changing Role of a Tester. Kristan has over 10 years experience in software testing encompassing a wide range of testing practices for both products and applications within a diverse range of industries. He has presented on agile testing and articles – including a chapter in the ThoughtWorks Anthology Book. He has been involved in solution delivery, coaching and mentoring teams with a focus on testing, agile processes and how the two compliment each other.

The Changing Role of a Tester

IT development is getting faster business now expects applications in months not years. Testing has to keep up and can not afford to be seen as a bottleneck. Traditional ways of testing no longer work with the rapid software development methodologies being used; there is no time to do big up-front test case design or multiple cycle test executions. Testers have to become more agile and embrace change while still providing quality information about the application being developed.

Testing on an agile project is different to a waterfall project; it is not just about doing waterfall in smaller iterations. Nor is it focused on finding as many defects as possible, instead the goal is to work as a team delivering quality working software that satisfies customer need. There are some new skills that testers will need to learn, but they do not need to throw away everything they already know. Changing the mindset about how, when and why of testing will help a tester adapt their existing skills to become an invaluable resource on any agile team.

When: 5:30pm, Thursday 13th May
Where: See the meetup site

After the discussion, we will go locally for drinks, food and networking for those interested, location TBA

Please register at the Brisbane Chapter meetup.com site: Brisbane Chapter – First Meeting

Look forward to seeing you there!

Update 19 July 2010:

Link to a great write up by Craig Smith is here, plus slides are here (pdf).


Watir, Selenium & WebDriver

April 10, 2010

Background

Of all the open source automated web testing tools available, Watir and Selenium have been the two most popular ones. Traditionally there has been advantages and disadvantages of each. Selenium’s most useful features have been its support for multiple programming languages, and is support for testing a wide variety of browsers. This is because Selenium uses JavaScript to interact with the browser, and all modern browsers support JavaScript.

Watir

Watir was originally designed to support Internet Explorer only, and was originally designed as a ruby library, meaning you had to use ruby. Watir’s most useful feature was, and is, its neat API, most likely that way because it was designed by testers. Also Watir has been traditionally had more functionality than Selenium, because it was designed to interact directly with IE instead of using JavaScript, as there are limits to what you can do with JavaScript, ie. you can’t script uploading a file.

The limitations of Watir have been addressed over time, for example, by creating new versions that support other browsers (FireWatir, SafariWatir and ChromeWatir for example), but the task of porting Watir to a new browser isn’t an easy one, and the task of keeping every port of Watir in sync, with the same API, is difficult. Because of Watir’s power, there has been lots of interest in it as a tool, particularly from developers who use other languages. Understandably, they have wanted to use the language they are accustomed to, and use for production code, and hence numerous language ports of Watir have also been created: Watij and WatiN to name two.

Selenium & WebDriver

Selenium has had its challenges also. Whilst it has traditionally been flexible in language choice, it has technical limitations because of its JavaScript architecture. It also hasn’t offered a way to control a headless browser. Late last year WebDriver was announced. WebDriver is a common browser automation tool that uses what ever is the most appropriate mechanism to control a browser, but with a common API. WebDriver supports not only real browsers (IE, Chrome & Firefox) but also headless ones (using HtmlUnit). Watir uses have had access to a headless browser by using Celerity. WebDriver was quickly merged with Selenium, to become Selenium 2.0.

Watir & WebDriver

So, what does WebDriver mean to Watir? Some people in the Watir project see an opportunity to leverage the effort put into WebDriver, but to continue to offer the clean neat API that Watir does. Jari Bakken has released an early version of Watir-WebDriver, essentially Watir’s ruby API utilising the WebDriver engine. By using WebDriver, Watir can support any browser that WebDriver does, including a headless HtmlUnit browser, without using Celerity.

Watir WebDriver Diagram

What does this mean for the future of Watir?

If you’re a Watir user, it doesn’t really make that much difference. If you think of automated web testing as a car, Watir is the steering wheel and dashboard, which interact with the engine. Allowing Watir users to use WebDriver is like providing an additional engine choice, but keeping the steering wheel and dash the same.

Ultimately, I think that Watir will remain a very popular automated web testing tool, one that has been designed by testers for testers. I can see the usage of WatiN and Watij reducing as more developers move to Selenium 2.0/WebDriver which will offer the same functionality as Watir using a different API and multiple programming languages. If WebDriver can focus on the detail of controlling browsers, ultimately Watir will be a better tool as more effort can be spent on improving the Watir API, upgrading the steering wheel and dash, so to speak.