Wednesday 29 February 2012

Testing Turtles



"I was born not knowing and have only had a little time to change that here and there."
Richard Feynman

My mornings browse of Hacker News led me to a blog post on how A Complete Understanding is No Longer Possible.

The post gave the example of someone wanting to master a Mac Air - and as a result would have to read the 7 volume set of hardware documentation from Intel, the 5069 pages Application Kit Framework Reference etc etc

but that's only scratching the surface....

A recent post to the STC was from someone wanting to know what programming language to learn.
So you can suggest something like Ruby and a book like Everyday Scripting with Ruby.
A decent start

If all you're doing is throwaway scripts that might be enough
Probably not though.
Keep things organised and safe ?
Time to learn yourself some Git

Want your scripts to be efficient ?
Time to learn some programming concepts, maybe some Design Patterns

and you're working with the devs on ATDD/BDD/XDD so maybe an understanding of RSpec and/or Cucumber would be useful. There again, some people like Fitnesse, do you know enough about the options to be able to choose the most suitable one ?

and now you know some programming, maybe help out the devs and do some code reviews ?
Not so fast, sonny - the devs have moved onto functional programming
So time to Learn You a Haskell for Great Good or some Clojure
( warning, this stuff scrambles your brain on first/second/third reading )

Judging by the volume of questions posted to SQA StackExchange a lot of people are trying to use Selenium and it's likely you're doing browser testing in which case you'd better add that to your toolkit
So if you don't want to spend your time asking questions and waiting for answers there then you'd better learn yourself some CSS, HTML ( oops, better add some HTML5 into the mix as well ), how to use Firebug

Hmmm, you're most probably using a database, how's your SQL knowledge ?
Pretty good ? You can cope with Oracle or SQL Server or MYSQL ?
and you'd be OK if the data solution is in memory like redis ?

Worried about the bad guys - can you explain to me how you've tested against XSS and MITM attacks ?
Are you OK with using Fiddler to mess around with the network packets ?

There, that's the techy stuff covered...
Except I've just read Adam Knights post about Testers Developing Their Technical Skills and realised I need to chat with the system admins and do some playing around with the operating system tools

Happy with your testing ?
You're fully aware of all your biases and know the part that emotions can play ?
And you're also aware that at times you are Thinking Fast, other times Slow and you've become pretty good at Critical Thinking

What about reporting your test results ? Perhaps worth learning how newspapers deliver their news and see if you can learn any lessons from them


Ready to ship ?
Of course you've run the usability tests and understand the difference between usability and user experience

and if you're not a lone gun tester then it's likely you have some junior testers working with you - do you know how to coach them ?

That's the day job sorted.
( which was done efficiently as you've learned to use a Personal Kanban system )

But in these times, no job is secure so you'd better put some work into having an online presence because professionals should be blogging

I did suggest doing 100 hours of testing practice.
I did state that was 100 hours in a year.
I think I meant week


If you want to play along ( and want to try and get something past The Captchas From Hell which apparently Blogger now uses ), what's missing from this list ?
( VMs and mobile are obvious ones )

2 comments:

Lisa said...

That's all good advice, but the most important thing to learn IMO is how to get your whole dev team together to solve those problems - eg., experiment to find the best approach for your biz-facing tests that drive coding, the language to script them in, etc etc. It's good for us to know all that stuff (my team is about to read Design Patterns & discuss at a weekly brown bag), but most importantly, we have to have the skills to collaborate with all the other roles on our team and outside our team. We need the synergy and diverse skills to get the best solutions for each situation/team.

Darren McMillan said...

Phil, what a fantastic article. I think you sum up perfectly the dilemmas facing most testers who want to specialise in skills, only to find that there is another 10 skills they needed yesterday, but still don't have.

That's the joys of interacting will all aspects of a business, not that I would ever have it any other way.

This ones a keeper, I be referencing it for sure. Thanks for sharing.