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 )

Friday 24 February 2012

Whaddya Think ?


A recent blog post by Alan Page about Learning is Dead has been gnawing away at me the last few days.
Especially the phrase:

"I wonder if anyone knows how to think anymore. Knowledge is much more than learning or regurgitating facts"

Sure, I have a big stack of books I'm working my way through, everything from how the designers at IDEO work to a biography of Captain Cook. So I could tell you all about Cook's upbringing in Whitby or how IDEO won a soapbox derby but what have I really learned from these books ? Was I just taking in information and facts and amusing anecdotes rather than learning ?
( Disclaimer: books can just be read for pleasure and you don't have to be learning 24x7 )

I also read a lot of blogs. I often leave comments - I like to let the authors know that their work is being read and appreciated. Being a good member of the community.
But leaving an "Interesting post" message is now giving me that same gnawing feeling. It's not enough, I'd like to be providing better feedback on the post, what did I think was wrong with it, why did I think it was interesting ?

I can't let Alan's post take all the credit though.
Just before Christmas I got Daniel Kahnemans 'Thinking Fast and Slow' and I'm slowly making my way through it and it's really making me aware of how I think, biases that creep in and how even my mood on the day or what facial expression I have can affect my thinking.

I'd also read a few threads asking about learning Systems Thinking so I'd followed some of the suggestions posted in reply and ordered a few books. And there I am in that thread happily recommending books and links as I know the facts, I know the books that other people recommend, I have those books myself - but do I really understand them ?

One arrived this week, a Critical Thinking For Dummies book ( OK, it was really for College ) so this went to the top of the book pile as I figured I should learn how to think before reading any more of my book pile.

The book gets off to a good start by showing what a critical thinker does

  • raises vital questions and problems, formulating them clearly and precisely
  • gathers and assesses relevant information, and can effectively interpret it
  • comes to well-reasoned conclusions and solutions, testing them against relevant criteria and standards
  • thinks opemindedly within alternative systems of thought, recognizing and assessing as need be, their assumptions, implications and practical consequences
  • communicates effectively with others in figuring out solutions to complex problems

Hmmmm, pretty much covers what a good tester should be thinking like.

Next step in the book is the stages of development as thinkers
The Unreflective Thinker
The Challenged Thinker
The Beginning Thinker
The Practising Thinker
The Advanced Thinker
The Master Thinker

I'd put myself at Stage2/3 - I'm starting to become more aware of my thinking and am starting to take up the challenge of learning to grow and develop my thinking.
The rest of the book should take me through the stages so time for some serious reading.

As I was writing this blog, I read an article linked from Hacker News about leadership

This had a section on thinking:
Multitasking, in short, is not only not thinking, it impairs your ability to think. Thinking means concentrating on one thing long enough to develop an idea about it. Not learning other people’s ideas, or memorizing a body of information, however much those may sometimes be useful. Developing your own ideas. In short, thinking for yourself. You simply cannot do that in bursts of 20 seconds at a time, constantly interrupted by Facebook messages or Twitter tweets, or fiddling with your iPod, or watching something on YouTube

Jeesh, has he been spying on me ?
Instead of having one or two true friends that we can sit and talk to for three hours at a time, we have 968 “friends” that we never actually talk to; instead we just bounce one-line messages off them a hundred times a day. This is not friendship, this is distraction.

He has !!

So time to find myself some quiet for my reading

and then those of you with blogs, be prepared for some insightful comments :)


( picture at the top of the page ? Alien Brain Hemorrhage Cocktail )

Thursday 16 February 2012

The Adventure of the Recurring Analogy


The keyboard at 221B Baker Street fell quiet.

"What is the matter, Holmes ?" I asked "I told you to keep away from those Linked In forums with their endless discussions of best practices for sleuths. It's worse for your blood pressure than one of Mrs Hudsons fry-ups"

"I haven't visited that damned site for months" replied Holmes "but I've just made a very important discovery.

"You know when I do that vanity search on Google, I always find those software testers reference me ? I refer you to
Testing Lessons Learned from Sherlock Holmes!, More on software testing detectives... and Skilled Bug Investigation and Sherlock Holmes --- SeniorQA analyst "


"That's quite some list, Holmes. If only you'd been able to copyright the analogy we'd be able to retire"


"What I have found, Watson, is that it's not just testers that are taking me as a role model. Designers are doing so as well. Come look at this"

I walked over and peered at the monitor. And indeed it was there:

What user researchers can learn from Sherlock Holmes
The parallels between good research and good detective work are striking. In this article we take a close look at what user experience researchers can learn from the investigative methods used by detectives. And, in the spirit of all the best detective stories, we draw an important conclusion: if you want to become a better researcher you should learn to think like a detective


"Read further, Watson - look, they like to ask questions
'Which do you find most interesting, questions or answers? It’s no contest — the question always wins'
They collect the facts. And they use one of my favourite quotes as their conclusion
'Never, ever, ever, act on assumptions. Search out the facts and act on those.'
"

"Funnily enough, Holmes" I replied "but I also did some vanity Googling and found that UX designers think that Holmes needs a Watson"

"Remarkable, Watson. I think there's more to these designer chaps than meets the eye. Time to start a new chapter in that book of yours"

To Be Continued...

Wednesday 15 February 2012

Mr Pot meets Mr Kettle


In my mails today I got a newsletter from Electronics Weekly and it had a section that pointed me towards a blog that seemed interesting.

Made by Monkeys - Great Ideas, Bad Execution

Highly evolved engineers know it's always better to learn from somebody else's mistakes. Electronics Weekly's new Made by Monkeys Blog aims at helping you avoid bungling your own designs. But we won't just focus on what went wrong. We'll talk about what the monkeys that made this stuff could have done -- should have done-- to make their products better


Sounds promising although QA Hates You and Joe Strazzere with his Perhaps They Should Have Tested More have more than enough material.

Not wanting to miss out on this source of information I clicked on the 'Register for newsletter' link.
Oh dear, it took me to the Site Map page and a
'We are sorry but the page you are seeking was not found.'
message

Seems Electronics Weekly employs monkeys...and can I suggest they run a link checker to make sure their links are valid ?

Monday 13 February 2012

The new zombie wave


When I'm off-duty from being The Terminator on the STC and want to switch off then something like Plants v Zombies is good. Just when you think you've finished a level though a message comes up
"A Huge Wave Of Zombies Is Approaching"

I was reminded of this when browsing the discussions on Linked In.
( I should stay away, a recent Tweet called them "Dante's Infernal LinkedIn Testing Group" )
Seems the 'test is dead' meme of last year might be activating a fresh new wave of test zombies.

A question was posed:

Is it possible to fully automate all QA and testing?
I have heard differing opinions on this topic of late. So I'm wondering if there's any general consensus on this - Is it realistically possible to lead a departmental Company wide transition from Manual testing to 100% Automation Testing? And if not, why not?


A little more probing about this revealed this gem:

recently during a discussion with a client of mine (a Test Manager), he stated that the goal within his organisation was to achieve 100% automation across all software projects, and furthermore, that they had already achieved this on some of their web projects by firstly scrapping HP QTP and moving to a mixture of Selenium and Cucumber, and secondly, by employing dedicated Software Developers specifically to maintain and develop the automation frameworks and scripts


and more probing
( a bit like the 5 Why's - or descending further into Dantes Inferno )

The reason this topic came up initially was that the client in question had attended a talk with James Whittaker (Test Director at Google) who asserted that apparently Google have done away with the idea of a Test Analyst or QA Analyst. Instead they have started to use this idea of having Software Engineers in Test, as opposed to dedicated 'Testers' in the traditional sense. Apparently, taking this approach has led to the idea that it is possible to automate 100%


Lanette Creamer (a.k.a. Testy Redhead) seems to have had a similar experience

So we move on from having zombie testers writing manual test cases with managers making sure the count per day is the Industry Best Practice norm to a new wave of testers writing their Selenium scripts making sure they make their count of page objects written per day.
(if you watch the video linked to in Lanette's post the presenter says they have 3000 tests and asks if that is a lot, what sort of numbers do other people have )

Test forums used to populated with requests for test case templates, now it's requests for help because their Selenium test to go to Google and check that searching for "tutorial" is failing at the first step and throwing an exception.

Plus ca change
Plus c'est la meme chose
The more that things change,
The more they stay the same.


Circumstances, Rush

( as I was writing this post I noticed another blog post about unthinking Zombie testers - this one from Brent Jensen. At least the Zombies are being noticed - and I finished my game so the Zombies can be defeated )

Wednesday 8 February 2012

Putting the hours in

In January last year I started a thread on the STC about 100 hours of testing practice ( I had read Gladwells Outliers book and was going for a less ambitious 100 hours of practice and not 10,000 ).

The discussion proved to be popular and it's been amazing to see at least two people this year not only pick up on it but put it to practice.

First was Mark Crowther who blogged about it here and has been posting regular updates to the STC site. His practice is also giving me some practice and I was able to help him out with his problem of getting Ruby to print a £ character.

Then I found that a blogger named Arborosa had also read my post and was committing to doing 250 hours this year. He seems to have got off to a great start in January

It's going to be interesting following these two to see if they can keep it going for the year - and what they feel they have got out of it at the end.

And all from a post of mine - that's pretty awesome.
Anyone else doing it ?

Monday 6 February 2012

The Good, The Bad, The Ugly - and The Pretty


Two recent blog articles on the Atomic Object Spin site got me thinking and are leading me into new areas to explore and understand.

First post was Are Designers More Valuable Than Programmers ?
Gulp.
Eeek
This can't be good - testers are already Second Class Citizens and now we're going down the pecking order to be third-class.

Second post was Understand Design or Fail.
Another Gulp.
Another Eeek.
I didn't know anything about Design, never mind understand it. Was I going to fail ?

What these posts did do was make me realise that I didn't understand what a designer did - or how they did it. It wasn't just about making things look pretty and adding rounded corners to buttons.

It also made me realise that after working for eons in the IT industry I had never really worked with a designer. Most interfaces were built by us programmers dragging buttons and widgets out of the tool palette in Visual Basic.
We'd then pass it onto sales/support saying 'please can I have feedback on how this looks', sales would see that they now had a 'finished' program and send it straight to the customers so the crappy looking prototype ended up as the final product.

Even when I worked on projects that supposedly had a 'uasbility testing phase' built in or used the UAT phase to 'get feedback from users' it was all done too late in the process to actually make any significant changes and the project was usually late by at least a year anyway so further delays were not going to happen. Any usability changes could be done in V2...

Time to start learning so I asked the designers for book and web recommendations and got some great recommendations.

Currently working my way through two books:
The Art Of Innovation: Success Through Innovation the IDEO Way
The Ten Faces of Innovation: Strategies for Heightening Creativity

They're proving to be great reads and generating lots of thoughts and ideas - and future blog posts.

The design websites I've visited are also good resources and I'm learning that there is a lot of common ground with testers and designers.
For example, one site I've found with a ton of great material is User Focus and their February newsletter has this as their User Experience quotation of the month

“I cannot imagine any condition which would cause this ship to founder. Modern shipbuilding has gone beyond that.”
— Edward John Smith (Captain of Titanic).

Just the sort of quote a tester loves :)

- and just as I was writing this blog post, Rob Lambert posted a blog post about observing and testing and looking to see how people are using technology.

UX and usability do seem to be becoming more prominent, maybe because a certain company seems to be very succesful based on it's attention to design...