Tuesday, May 7, 2013

The Road Not Travelled


I think everyone will have had a similar tale of someone who they admired or had a crush on in their youth, but never quite had the courage to break the ice with from sheer awkwardness.  As age creeps in, it’s easy to play the “what if” game about “the one you let get away”, wondering who they were and what would life be like.  This is the disturbing tale of one such crush of mine, and the revelation of the last week.

Let me take you back in time to 1995.  I was studying for a Masters degree in “the physics of laser communications”, it was a course ran partly at the University of Essex, and ran in partnership with a number of foreign Universities as an exchange program.  I was feeling somewhat bored with life in the UK, and the idea of study abroad seemed an exciting adventure not to be missed.

I also had substantial chip on my shoulder from school –I’d bombed out of my German language exam with a “U” grade for “Ungradable” (really, really bad).  So when the opportunity came up for study in Jena, Germany at the Friedrich-Schiller-University, this was my chance to revisit this failure – after all some German would be better than none, and how could I fail to be fluent if I immersed myself in the language?  “Besides”, people kept telling me, “everyone in Germany speaks great English, you’ll get on fine”.

The other thing people kept telling me was a recurring prophecy that “you’ll probably meet some German girl, and never want to come home”.  Part of this was due to me going through a particularly bad break-up recently, which to be honest was part of the allure of getting as far away from the UK as possible.

Arriving in Jena it turned out that the “everyone speaks English” myth about Germany was spot on … for West Germany.  Unfortunately I was going to the part which until 1990 was part of “The Old East” under the thumb of a brutal Communist regime that had the gall to describe itself as the “German Democratic Republic”.

Jena in 1995 was only a few of years into reunification.  It was part of a country struggling to find a new identity, whilst reconciling it’s past.  Even in our time we were told at the Institute of Applied Optics how a few members of staff were being “asked to leave” after accusations that they had been “too friendly” with the old Communist regime, especially the dreaded Stasi, the East German Secret Police.

The people had lived under a regime which had taught them to distrust each other, but especially to distrust foreigners.  Whilst many we met relished the freedom the fall of the Communism had brought, and rejected these old values, amongst a few, that attitude had prevailed.  I remember being shocked at an altercation on a late night bus where someone had taken great offence that a black guy had boarded a bus holding hands with a white girl.  I remember me and fellow student Donnacha being one of the many on that bus forming a wall between the racist thug who wanted to get violent with this interracial couple.  And I remember the man who stood up to this thug and told him to his face how out of line his behaviour was.

It was a rude awakening.  And this was the country people told me I’d be falling in love with?

As students we lived in Lobeda – a small district 5 km outside of Jena where we studied.  Getting to and from town, we all travelled the commuter bus.  Buses being probably one of the few things East Germany got right.




Although Lobeda had a few historic and “quaint” buildings, most of it consisted of massive, ugly, run down accommodation blocks.  The Communist government had designated it a suburb, and hastily thrown up a wall of concrete apartments – each with a now boarded up office in the foyer, where (it was explained to me) a representative of the Stasi would clock people in and out of the building, as well as regularly turn over people’s apartments looking for anything suspicious.  The Communists may have left, but the still suburb had all the charm of a high security prison.

Every day was a shuffle back and forth between Lobeda and Jena on the bus network – as a young student you got to notice familiar faces.  Especially female ones.  I never knew her as anything else than “the Lobeda bus girl”, but I’d see her most days.  I thought as she got off at the same stop, she was another student.  She was pretty, but I never got the nerve up to ever speak to her properly – with my poor German, it’d be a struggle to communicate, and she seemed surly a lot of the time.  But then at the time I was a recovering Smiths fan, and I didn't really do “happy” much myself.  My lab partner Donnacha was totally different - with his Irish charm and non-existent German, he was still able through sheer Irish bravado get results in breaking the language barrier by just speaking very loud in English and laughing a lot – whilst I never really had the knack of breaking the awkwardness of introducing myself to someone who didn't understand me.

I met “the Lobeda bus girl” a couple of times around Jena.  I’d learned to stay close to Donnacha, as it seems an Irishman in East Germany was a novelty, and a lot of German girls would come over just to hear him speak.  Staying friends with Donnacha, you’d always be invited to the best parties.  Beate was friends with one of the girls who was entranced with the Irish rogue, and Beate would always tag along.  We would exchange half-smiles – Beate was the quiet friend to her excitable German friend as I was the quiet friend to Donnacha.  Half smiles and looks was all I think was all the language we managed to communicate in.

She was hard to forget – it was a long, hot summer in Germany.  The boys wore shorts and T-shirts all the time, and the women too wore minimal attire – and I was young, hormonal and disastrously single.  Yes, she burned herself into my memory.  So that’s my tale – the tale of “the Lobeda bus girl”, one of many “what if” scenarios which play through my head.  One of the many “what ifs” we all have running and meshing through our lives.

That was until this week, when I read the story of Beate Zschaepe in the news.


The news described her as "the lone survivor" of a criminal neo-Nazi gang called the NSU (National Socialist Movement).  The other two male members, Uwe Mundlos and Uwe Böhnhardt, had committed suicide after a botched bank raid, and Beate handed herself into the Police in Jena after destroying her apartment in Zwichen..  As a gang, the NSU are suspected of being involved in the murder of at least 10 people (mainly Turkish immigrants) in Germany, as well as responsible for a series of bombings in migrant areas and a string of violent bank robberies.

This was horrific stuff, but the face of Beate Zschaepe was just too familiar, and looking up details of Beate’s life, there is was clearly – the old photos, the details of her past living in a studio flat in Lobeda in the 1990s.  The chance of it being someone who just looked like “the Lobeda bus girl” dwindled to almost nil.

It was unsettling – a rose coloured piece of my past, tainted. That attractive girl, who seemed one of the few highlights of the drab and oppressing urban landscape of Lobeda had been exposed as something disturbing and horrifying.

It was chilling.  We’re too used to watching films and seeing the villain signposted.  Some actors are typecast now as playing villains – Sean Bean just has to walk into a scene and I’m sure he’s the one behind it all (bit of a shock when Game Of Thrones played out the way it did, I can assure you).  Yet every day there’s another tale of a serial killer unmasked, a teen who goes on a shooting spree or person found to be behind a terrorist attack.  And almost all the time the story is the same “they seemed like a nice person … just normal”.  Seeing her on the bus, Beate was an “object of affection” who looked like she might be a student protester who wanted to hug trees and save whales.  But she wasn’t, she was engaged - even at the time – in something truly evil, and was on the run soon afterwards being implicated in bomb making and bomb threats.  But when I saw her on the bus or with her friend, there was no warning placard above her, she didn’t sneer or laugh like a witch – to be honest she seemed more normal than me.

So on the one hand there’s the memory of that pretty (if surly and quiet) twenty year old girl, who seemed to traipse around Jena during a hot summer braless (I noticed) in baggy T-shirts and the shortest of shorts.  It’s hard not to have very strong and sensual youthful memories of her.  But on the other hand there’s the tale of the 38 year old handing herself into the Police for her involvement with a terrorist movement motivated by hatred to perform a series of sick crimes.  It’s difficult to reconcile that these two Beates are one and the same.


A friend of mine noted “she’s still a bit of a looker” after seeing her court appearance, though failing to grasp the fact that though she was the girl I once thought cute and desirable, there’s nothing attractive about hatred.  And through her involvement with the NSU she has committed her life to that hatred.  I’ve spent years judging that particular book by it’s cover – and where I saw a hopefully erotic romance, someone else opened the pages to find only Mein Kampf inside.

Maybe the game of “what if” in our past makes us forget to be thankful for the gifts we truly have in the here and now.

The pictures of a a girl who I guess I'll always have trouble "seeing that way" (the evil way she really was) from how I knew her ...



--------------

There is an eerie after word, which perhaps serves as this saga’s only uplifting piece.  In looking through the old photographs of the NSU, I came across this picture below, a series of pictures circa 1996


The man in the middle is named Uwe Boehnhardt, one of the double suicides of the NSU after that failed bank raid.  And he, like Beate, has a face that is disturbingly familiar.  After almost 18 years, it’s impossible to be certain, but he looks distinctly like the “bus racist” who I spoke about earlier.

It was the last bus from Jena to Lobeda on a Friday night – a bunch of us had been drinking in town, and Uwe was at the back, when an interracial couple came on the bus, hand in hand.  Uwe was immediately agitated, shouting abuse in a language that both myself and Donnacha had trouble understanding.  But when he got up aggressively and started walking down the bus at the couple, his violent meaning was plain.

I wasn’t the first person to act, and I don’t know who did.  But someone got out of their seat to block the bus walkway from Uwe so he could not pass.  Once one person did it, it’s as if we all did it in unison – including me and Donnacha – it was a true “I’m Sparticus” move of solidarity and defiance.

At this point, his violent intentions were frustrated, and there was no way for him to go through us, when a middle aged man got out of his seat, slapping Uwe around the head.  The man looked like a Germanic version of Ray Winstone – a tough, hard man who’d be able to have most people in a fight.  Yet when he spoke he spoke, he did so emotionally, almost in tears talking about “schade” or “shame”.

Uwe reluctantly got back to his seat.  When the interracial couple got off the bus, Uwe tried to as well, with the intention of following them – however the other passengers wouldn't let him get off for another two stops.

Germany gets a raw deal - because of World War Two, they are often portrayed in popular culture as Nazis or people “only obeying orders”.  But Germany is so much more than that.  Germans, especially East Germans have experience the harshness of first Fascism and then Communism, regimes that promised much, but turned out to be more brutal than the problems they vowed to solve.

Over the next few months there will be a lot of talk about the NSU, of Beate Zschape or Uwe Boehnhardt and of their victims.  But no-one will hear the tale of the last bus from Jena.  The people on that bus could have ignored what was going on – they could have looked the other way in case Uwe turned on them.  But they didn’t.  Because one person found the courage to make a stand, countless others, including myself also found that same courage, and found that we were not alone.  And one remarkable man, who I’ll never know his name, stood up to a bully and a murderer and said “this is not right, this is wrong, and what you do brings shame to us all”.

Prejudice is ugly, and it comes in all shapes and sizes – against colour, against gender, against sexuality.  If there is a lesson from the last bus from Jena against all the murder and hatred of the NSU, it’s this, make a stand.  Make a stand, you won’t be alone.

Friday, May 3, 2013

The Test Plan Dashboard


This week I needed help develop a test plan for use in another area in the business, and found myself digging out my tried-and trusted Test Plan Dashboard (TPD) template.

The TPD is something I developed back at Kiwibank (through the suggestion of my line manager, Matt Winter), to have a simple, A3 sheet way of displaying what was planned for testing, in order to share with stakeholders and project managers.

I previously talked a little bit about it back in 2011 under Communication – Better Ways Of Doing It, however never showed the final version of what I used.

Anyway, here it is, filled out for a totally fictional project, the “Paint Mixer 2000” (by the way, if you're wondering, Mitre 10 is a New Zealand hardware chain),


I’ve found it to be an invaluable resource to help me fill out the big questions around the testing project.  Questions which of course all testers will be familiar with,

  • Introduction – what is the project all about?
  • In-Scope – what will we be testing?
  • Out-Of-Scope – what won’t we be testing?
  • Entry Conditions – when can we start?
  • Exit Conditions – when can say we’re done?
  • Timescales – how long do we think it’ll take?
  • People – who’ll be working on the project?
  • Test Environment – where will we best testing on?
  • Risks – what could go wrong?


Put it to the test now.  Enlarge the image of the Paint Mixer 2000 TPD picture, and see if in just a few minutes you feel comfortable about what the product is, and what will be tested.

I’ve had phenomenal feedback from the TPD.  Originally designed as a tool to summarise a test plan, I’ve actually used it to revise the way I approach test planning over the years.  Instead of being derived from the test plan, I now use it as a consulting tool to help me build a test plan/strategy on medium to large projects, or as a substitute for a large plan on much smaller projects.

When I was on huge integration projects with a lot of testing elements (many of which you can't hope to be an expert in), I would take a blank copy around all the testing sections (including those external areas) and talk with the experienced testers there in that field or on that technology, and together we’d fill in and scope out what their testing phase would look like.

If you sit together with the experts, you can fill it in on your laptop within about 15-30 minutes, but rather than asking for a test plan at a later date and reviewing, the session is interactive and you can make enquiries of them, adding elements to either the In-Scope or Out-Of-Scope as you go.

Go around each section, and put a whole group of these together, which can be posted on the wall.  It’s like putting together pieces of a testing jigsaw.  Now when you’re looking at creating your master test plan, you can try to draw up who will be focusing on what – you may find there are some elements which simply don’t have a home, and maybe you need to negotiate to get them tested in a certain phase by yourself or an outside party.  It’s a great tool for building a big picture.

And as I learned from the BAs who I worked alongside with at Kiwibank, and used similar tools - it's about harnessing together a collaborated plan, which everyone feels listened to and ownership of, and harnesses everyone's expertise

Last year when I was working on the Building A Test Culture article that was published in the Testing Circus magazine, I was struck by something Janet Gregory said about “make testing visible”.  It’s a comment that gripped me from the moment I read it, and still does.

There is a lot of mystery around testing – much of this leads to misunderstanding.  That makes many testers understandably annoyed.  However for us as testers, the ball is squarely in our court to try and remove that.  I think the TPD is one way to do just that, because it’s a very visual way to look at what our testing charter and constraints are, and unlike a plan that’s kept in a draw, this can be kept on a wall, on display for all to see.  But not just for project managers and business owners – it should be visible for all testers as well, so they are comfortable about what they are testing to, and what the project goals are.

So have a go at making your own, play with it, get feedback and see if it helps to make testing more visible for you.

Wednesday, May 1, 2013

Who's testing? Or everything I learned as a child about testing from Doctor Who ...


This year celebrates a remarkable 50 years of one of my favourite TV programs, Doctor Who.  For many testers, fiction in the form of Doctor Who, Star Trek and I, Robot were our staple diet as children, and in many cases form a good education for testers-in-training.

Many stories deal with technology-gone-wrong, that's exploited through the application of logic.  Perhaps no more that the Doctor who has faced many computerised and mechanised foes. The Doctor defeates his enemies not by use of brute force, but by studying and then exploiting their weaknesses.  Truly a model warrior-tester for us all.

Here are captured some of my favourite quotes from the series (not every one is attributed to the Doctor) that every tester should be aware of ....

The First Doctor - William Hartnell


"I know these Earth people better than you, their minds reject things they don't understand."
Pretty much the same way many people are caught out by testing bugs they can't imagine/believe being a problem or worth investigating.

"I don't believe that man was made to be controlled by machines. Machines can make laws, but they can not preserve justice. Only human beings can do that."
Remember, at the heart of any automation or computer system, there will always be a human being.

Ian: Doctor, why do you always show the greatest interest in the least important things?
The Doctor: The least important things, sometimes, my dear boy, lead to the greatest discoveries.
How many Exploratory Testers will testify to this?

The Second Doctor - Patrick Troughton



"I am not a student of human nature. I am a professor of a far wider academy of which human nature is merely a part."
As testers, understanding how people behave when using (or perhaps more accurately, misusing) a system and respond to issues is an important part of our understanding.

Eric Klieg: Doctor, you seem to be very familiar with this place.
The Doctor: Oh no, not really, um, it's all based on symbolic logic, the same as you use in computers. The opening mechanism to this door, an or-gate you call it.
Eric Klieg: Yes yes, I can see that, but how did you know in the first place?
The Doctor: Oh, I used my own special technique.
Eric Klieg: Oh really Doctor, and may we know what that is?
The Doctor: Keeping my eyes open and my mouth shut.
You can give it fancy names, but in a nutshell, this is the core of testing.

"The best thing about a machine that makes sense is you can very easily make it turn out nonsense."
Whoops ... says every testers who've ever found ways to do this.  Hint - if you've never found a way to do this, try Elisabeth Hendrickson's Cheat Sheet!

The Doctor: In 2 minutes 38 seconds, you're going to have an almighty explosion! The readings say so!
Clent: Well how can you possibly know that? I haven't even -- I haven't even processed them through the computer yet!
The Doctor: I don't need a computer.
[After handing out instructions and averting the disaster]
The Doctor: Yes, that should hold it steady. It's not a perfect job, mind you. You ought to get an expert in, you know.
Clent: How did you -- it was all a bluff, wasn't it, that 2 minutes 38 seconds to danger.
The Doctor: Oh no, it was near enough correct. Give or take a second.
Clent: Rubbish.
The Doctor: Check it on your precious computer then.
Clent: Miss Garrett, do so.
Garret [reads to computer]: Ioniser fall rate, 7 2.4. Ion compensator, minus 1 7 degrees. Ion flow rate, 1 3 7 9. Assessment please.
Computer: Immediate emergency. In two minutes thirty seven seconds, the reactor will explode.
The Doctor: Well, a second out. We can't all be perfect.
Don't trust so much in computer prediction over human experience.

"People spend all their time making nice things and then other people come along and break them!"
As you make a developer cry ...

"I hate computers and refuse to be bullied by them!"
Words every tester should live by.  Do not be intimidated by the very machines you're there to test ...

"Logic, my dear Zoe, merely enables one to be wrong with authority."
Although logic is a good start point for testing, it only allows you to test models you expect. Sometimes problems happen outside those models, because of things you don't understand or expect.  It's not that you're stupid, it's just that something else is happening, more than you'd expect ...

The Third Doctor - Jon Pertwee


"A straight line may be the shortest distance between two points, but it is by no means the most interesting."
Sounds like an exploratory tester ...

The Fourth Doctor - Tom Baker


"Well, of course I'm being childish! There's no point being grown-up if you can't be childish sometimes."
If you're not enjoying testing, perhaps you're doing it wrong.

Brigadier: Believe me, Doctor, the place is impregnable!
The Doctor: Never cared much for the word 'impregnable.' Sounds a bit too much like 'unsinkable.'
Harry Sullivan: What's wrong with unsinkable?
The Doctor: 'Nothing,' as the iceberg said to the Titanic!
Don't believe the hype.  Everything has a weakness...

"The trouble with computers, of course, is that they're very sophisticated idiots. They do exactly what you tell them at amazing speed. Even if you order them to kill you. So if you do happen to change your mind, it's very difficult to stop them from obeying the original order. [stops computer from destroying Earth] But not impossible."
This covers something that a lot of people forget about computers.  People see them being smarter and more foolproof than humans.  They do some tasks incredibly well, but so far although computers can remember and calculate things so much faster than us, so far in many fields they don't even come close.  As such with automation in testing, there are some things they do amazingly well, but many other things they function much poorer than we're led to believe.

"The very powerful and the very stupid have one thing in common. They don't alter their views to fit the facts. They alter the facts to fit their views. Which can be uncomfortable if you happen to be one of the facts that needs altering."
Testing is a very misunderstood discipline, many find that people seem to "bend the facts to fit their view".  As a tester you have to champion the art constantly from people who think "testers put those bugs in there".

 "Answers are easy. It's asking the right questions which is hard."
And of course what elevates people to being "great testers".

The Doctor: Have a go at this Davros: All elephants are pink, Nellie is an elephant, therefore Nellie is pink. Logical?
Davros: Perfectly.
The Doctor: You know what a human would say to that?
Tyssan: Elephants aren't pink.
Davros: Humans don't understand logic.
Romana II: They are not slaves to it, like the Daleks and the Movelans.
The Doctor implies a form of Black Swan problem ...

The Fifth Doctor - Peter Davison


"You know how it is; you put things off for a day and next thing you know, it's a hundred years later."
Like that process improvement you were planning to do ...

The Sixth Doctor - Colin Baker


"Malfunctioning? MALFUNCTIONING!? After all the work I've done on it!?"
Many developers will sympathise.

The Seventh Doctor - Sylvester McCoy


John: Sugar?
Doctor: Ah. A decision... Would it make any difference?
John: Would make your tea sweet.
Doctor: Yes, but beyond the confines of my taste buds, would it make any difference?
John: Not really.
Doctor: But what if I could control people's taste buds? What if I decided that no one would take sugar? That'd make a difference to those who sell the sugar and those who cut the cane.
John: My father, he was a cane cutter!
Doctor: Exactly. Now if no one had used sugar, your father wouldn't have been a cane cutter.
John: If this sugar thing had never started, my great grandfather wouldn't have been kidnapped, chained up and sold in Kingston in the first place. I'd be a African.
Doctor: Every great decision creates ripples. Like a huge boulder dropping in a lake. The ripples merge and rebound off the banks in unforseeable ways. The heavier the decision, the larger the waves, the more uncertain the consequences.
John: Life's like that. Best thing is just to get on with it.
Testing like life is full of uncertainties.  The best thing to do is to "get on with it" and deal with problems as and if they arise.

Sunday, April 21, 2013

Elvis, Project Frankenstein and the Linux experience ...

Warning - this entry contains naked computers ...

There is no feeling quite like bringing home a brand new computer, and getting it plugged in and working for the first time.  Over the years I've noticed that "settting up a new machine" has gone from being about a day's work of driver installation and fiddling around to under an hour's effort to "set up the essentials".

And that old machine of yours?  Well that's dated and of no use to anyone now ...

Actually, hold that thought.  Unlike the 80s where we started out with home computers with 1KB memory running on tape, and finished with 1MB memory machines running on diskette, in recent years although computers are getting smaller and more powerful, it's not been anywhere near the dramatic shift in performance.  There is still life in your old dog yet.

Windows it has to be said is an amazing piece of software, and later versions have got better and better.  The reason it's so amazing is that the range of hardware it can cope (pretty well) with is vast - just about any form of PC, with different memory units, hard disks, processors, games cards etc.  I know Apple at the moment has a far superior reputation - but remember that with Apple iOS, Apple owns the hardware and the software - meaning the software has to run on much less variety of hardware.  So kudos to Windows, it does a pretty good job on an ocean of hardware, a Herculean feat in itself.

But because of this, Windows can sometimes become quite bloated, and after a couple of years of updates, your system is starting to feel like Elvis playing at Las Vegas, some of it's sparkle seems to have gone ...


This is usually the point you start shopping for something new, in the years since you bought your computer Elvis, the hardware has got faster and a little leaner, so though you're "All Shook Up", you buy yourself a new machine.

With that new computer smell firmly installed as your "Latest Flame", with your email, Facebook and internet needs addressed, is it time for Elvis to leave the building?  It may feel like it "Ain't Nothing But A Hound Dog", but "Don't Be Cruel", there is indeed still life in this canine yet ...

If you have no technical skill what-so-ever, and plan on doing nothing more to this machine, consider just this ... normally when you have a computer, you use it under the watchwords of "Love Me Tender".  Your computer contains your contact details, social networking, photos - you need to take care of it.  But a spare computer ... if that goes down, does it really matter?  No, because you have a backup.

All of a sudden you have a machine which is much more about trying things out, going "I Wonder" what happens if.  Trying things out, because if you send it to a permanent blue screen of death "I was only going to throw it out eventually anyway".  Our computers at home we need to take care of, but the best experimental testing comes from trying things out.  But at home, few of us have the technical skill to keep it restored.


Feeling more adventurous?  I hoped you were ...

Beyond just using your machine as simply an experimental computer, you can look into reviving it as a Linux machine.  Linux overall is a lot more lightweight than Windows, being based on a Unix operating system (much like iOS).

Back in 2005 I bought a replacement computer in a scenario similar to the above, and found myself left with an old PC.  A developer friend of mine, Michael McConnell (author of the dubiously titled MailStripper application), suggested I use my old machine to play around with Linux.  Michael was a passionate evangelist for Linux, and provided me with the RedHat disks I needed to get started.

Post-installation, I was seriously impressed with the speed the machine worked at, although even as a Unix engineer I found the command line fiddly at times.  Since then, I haven't been without a Linux machine in the house.

Todays modern Linux is fully GUI driven, and my son uses a version of it without needing the command line (he doesn't know Unix commands ... yet).  It's developed by programmers in their spare time as a world project, and many variants are free to download.

And when it works, it works beautifully.  On Vista, when I tried to open some videos from my camera a few years ago, I got an error message that the video file was not supported.  So many hours on Google later trying to download Codecs, I finally got it working (I'd also in the meantime downloaded a lot of crap).  The same situation on Ubuntu of the time, I double clicked the video file, and it said "you do not have the codec file to run this".  But then connected to the internet, and analysed the file, suggesting the codec I would need, and asking my permission to download it - a whole other user experience yes?

My friend Violet was a passionate advocate for Ubuntu.  Until recently this was the Rolls Royce of Linux, however I've found the latest version has felt a bit slow (on my circa 2003 machine).  This variant runs on my son's netbook machine after I accidentally compressed the main drive on his XP computer and couldn't restore it (Ubuntu to the rescue), and he loves using the Unity command system - the icon bar to the left of screen,


Fedora I've had on an old machine for a while.  It's a good, solid product, but nothing to get too excited about.  It's a bit like owning a reliable, low-maintenance Shire Horse over a highly-strung racing stallion,


I've recently built a Mint machine after hearing the raves about it.  Raves which are truly justified.  It's a beautiful operating system, that feels very sleek and quick, and easy-to-use.  The "leader" in the Linux race is constantly shifting, but at the moment it looks to be Mint,


Samba!

Linux machines can be used to run Samba, which is a file sharing program - meaning you can use your central machine in your home network

Get involved?

Remember, Linux is a free product, and as well as programmers, it also needs testers.  The various variants of Linux depend on people cataloging the defects they encounter, and there are wide communities out there around the product looking for contribution.

I suggest to people new to testing, download a Linux system, and get trying.  Plug into the communities, build networks, and get used to finding bugs, but also reporting them.  I suggest exactly the same to more experienced testers who want to try their hand to expand their skills.

On Ubuntu, I helped my son write his first ever bug report - yes it was a proud moment!

Goodbye Project Frankenstein


I mentioned my "Frankenstein machine" back in Welcome To The Testing Mancave.  Originally I had an old computers power supply burn out, so bought a cheap old machine from TradeMe (New Zealand's eBay) as a replacement.  What ended up happening is I "combined parts" to machine a new machine from the two - mainly by trial and error in seeing what would work, and what wouldn't.

Good hint here, but it takes aaaages.  Start from a machine that works, then change one piece of hardware at a time, booting it up each time.  That way if for instance you have two memory cards which can't stand being in the same machine, you'll work it out.

Anyway, the machine was originally designed to be for my son for his secondary school work - just enough to internet search and do word processing.  In the end I so enjoyed fiddling with it, it became my main computer, and he eventually inherited my old netbook instead.  Amongst it's many uses, I run the file sharing system called Samba on it, which means we have a central depository of films, photos, documents in the house.  Useful as even my wife's iPad can browse through the photos in here (handy as she has only the 16GB model, and she loves photos).

But mainly it's been used for writing - most of this blog and indeed the Software Minefield was written on this machine.

Unfortunately lately it's not been performing so well on Ubuntu, and lacks the fancy graphics card that would make it work optimally.  So I took the somewhat heart-wrenching decision to merge 3 of my Linux boxes down to just 2 (with better all around spec), and Frankie (as I call her) is being decommissioned.


However true to the tale of "Frankenstein", this is not the end, as parts of her are going into another machine (nicknamed Zen from Blake's 7), which is now running my version of Mint, and benefiting from Frankie's hard disk, memory and interface card, whilst giving an extra experience through the graphics card, the slightly faster processor (2.4 GHz) and increased memory from the original Zen (3GB memory all up from 1.5 GB - not bad for an 8 year old PC).

Zen - my new main computer.

But yes, Frankie has been a good friend ... but I can't wait to see what I'll learn through Zen.


Farewell Mike Powell - a gentleman and a scholar ...

This weekend I sadly learned of the death of a friend of mine from University.

Back in 1994, both me and Mike Powell were technically "mature students" at the University Of Essex.  I was 24 and studying for a Masters degree in laser physics, he was in his 40s and studying a philosophy degree.


Our paths crossed through a campus drama group we both became involved in - "A Flash Of Inspiration Productions".  The group, far more than any I've been involved with before or since, really aimed to bring out acting ability within people - yes even physicists!  We would rehearse for a play under producer Abigail Cheverst, but she would lead us in workshops to do so much more.

Being in "A Flash Of Inspiration" was not about sticking to the script and learning your lines.  Workshops would have you acting out "like your character" in different improvised scenes to really get under the skin of who your character was.  One of the activities I remember the best was where we'd have to act through a scene, and a couple of fellow actors were given deliberate instructions to attempt to ruin it.  With a couple of people forgetting lines or giving the wrong lines, it was up to you to improvise your way back towards the story "without making it look like anything was wrong".  It's probably this training which means as a tester I'm quite comfortable to use the scripts we might have as guidelines and "explore off script when needed", but more importantly look for the pieces of the script which matter and have to be there and the stuff that's just "fluff".

At 6' 2", I'm a pretty big guy, but I was dwarfed by Mike Powell, who we all called "Big Mike".  He was a clever person, and quite a character - part revolutionary, part hippie - who seemed to know rather too much about political history, and was an influential figure in the campus Fifth Monarchist "Anarchist Society".

But most of all I remember through "A Flash Of Inspiration" his amazing ability at improvisational comedy.  Two such sketches really stand out,

  • "Smile For The Judges" was a sketch where a ballroom dancing couple's relationship is crumbling during a dance competition, as each reveals what they know about the other's infidelities.  Their exchanges become ever more bitter about how their marriage has fallen apart, punctuated ever so often with Mike reminding his partner to "smile for the judges" to pretend everything on the outside is a garden of Eden.
  • In "We're Down To Our Last Geologist" an expedition into an unnamed wilderness has gone badly wrong.  The last two survivors challenge each other over the deaths of the rest of the party, as it becomes increasingly obvious the two have been turning to cannibalism to survive.


In recent years, I'd reconnected with Mike via Facebook - he still lived in Colchester around some of our friends from University, whilst I'd spread my wings.  It was good to connect up with him - still as passionate and influential as ever (voles had been a big interest of late).  Although I knew he was battling a tumour, you always hope for the best.  However I learned this weekend that he died a couple of months ago.

Like Violet, Mike is worthy of mention on this blog despite being nothing to do with testing, because he is someone who Mark Steel would identify as "a person with a passion".  Mike through political activism and storytelling was an incredibly passionate person who talked about ideas and ideals, unafraid to compromise.  And yet someone you could disagree with, and still be friends.

We need to grow up around that sort of environment so that we can learn to find our voice as well to speak when we need to over the things that matter.  And as Mike showed us young things to speak intelligently, draw people into your ideas without ranting, and sell it to them.

RIP Mike Powell ...


Wednesday, April 17, 2013

Testing with personas ...

Last year whilst i was still at Kiwibank, I was lucky to attend a morning lecture by local company Optimal Usability on "Putting personas to work".

Many people who've worked with me will know I am not a morning person.  However I was glad to make this early morning event, mainly as within Kiwibank I got to network with a whole load of people I'd normally not have a huge amount to do with - Market Managers, Customer Experience etc.

A persona is mainly used for marketing - they are supposed to be a core of about 4-6 characters (who often have a bit of stereotype about them) who represent a cross section.  We had several at Kiwibank, and when we'd look at changing or offering a new service we'd look to see which of those personas would want in, and which might want to go elsewhere.

For both marketing and testing it's a powerful tool - it's where testing steps into the realm of method acting, and you try to see an application through another persons eyes.  This touches an important feature - your software might well functionally do everything that it's supposed to - but is it going to be something that people are going to feel comfortable using?

Personas should be a one-pager, of something people can instantly connect to, because everyone has met a "Pam" or "Tony" or "Chris" in their life (hence why here a bit of stereotype is handy is it's shortcut language).

Personas can be made from detailed market research to tie into a targeted customer base.  Whilst reading Elisabeth Hendrickson Explore It! she mentions personas as a tool for exploratory testing.

Whilst talking to Lisa Crispin about "software culture" recently she mentioned about how many of her team enjoy roleplaying.  In fact "exploratory testing with personas" is very much like role-play testing.  I couldn't resist trying to draw up some character sheets (I'm an ex-roleplayer, so don't act so surprised).

I wanted to imagine I had some form of "software management tool" (which we've all encountered at some point).  Maybe it was HP's Quality Centre.  Perhaps something like Pivotal Tracker.  Or New Zealands home grown Enterprise Tester.

I was going to work from scratch (although I have zero market research budget), then remembered it might be fun to revisit the people I call "the world's worst Agile Team" from An Agile Murder Mystery.   Maybe this group wasn't an idealised group for "understanding your market", but from a testing perspective they would allow you to thrash your software in ways you'd never before imagined ...


Mrs Peacock – Business Owner 

“I just want to know what the current status is” 


Personal Computer 
Mrs Peacock uses a Windows 7 laptop.  She’s out of the office a lot, and uses a variety of wi-fi points (some slow) to login.

Browser 
Internet Explorer 8

Usage rights 
View ability only

Tool habits
Mrs Peacock is mainly interested in seeing the big picture of the project, and wants to be able to see clearly how things are going, and it be able to take her into any issues.  She wants to see how things have changed.
She uses her laptop a lot on slow connection.  She also depends on the trackpad (she doesn’t carry a mouse with her), so she relies a lot of shortcut keys and wants any icons to be easily clickable.

Colonel Mustard – Project Manager 

“I need to be able to assign work items”


Personal Computer 
Mustard has been upgraded to a new Windows 8 laptop, and has been known to take an iPad into meetings to check updates.

Browser 
Internet Explorer 10

Usage rights 
Create work items and assign tasks

Tool habits 
Mustard is keen on being able to set work tasks to his team, see what they’re working on/progressing.  He sets pieces for all the team, but never himself works on end-to-end individual pieces.

He likes to be able to perform the same actions on multiple elements over having to keep repeating the same action.

Reverand Green - Architect 

“I wonder what happens if …” 


Personal Computer 
Green has made a big noise about being allowed to have a Macbook Pro, even though most of the company is on variants of Windows.

Browser 
Safari

Usage rights 
Full Administration Rights

Tool habits 
Green often plays around with any new features, and will often try and come up with new ways to do things.
Forever optimising the work-flow.  Often this means changing the flow for which there is currently data in “the old system”, and hits migration issues.

Miss Scarlett – Business Analyst 

“What’s next?”


Personal Computer 
On a desktop running Vista.  Don’t ask her how she feels about that, as she feels she’s due an upgrade.

Browser 
Opera

Usage rights 
Basic user – rights only over tasks assigned to her

Tool habits 
Scarlett doesn’t look at the big picture tool, just goes straight into and views the tasks assigned to her.  If work items aren’t assigned to her, she won’t go looking for work.

Prof Plum – Programmer 

“I don’t have time for this …”


Personal Computer 
Difficult to say – he has a cluster of a lot beneath his desk, running different flavours of Linux, and connect to a bigger Samba server that no-one is quite sure of the location of.  Certainly there are so many monitors on his screen, the company made major savings getting him to turn them off over Christmas … 

Browser 
Firefox … with so many plugins you don’t want to know.

Usage rights 
Basic user – rights only over tasks assigned to him

Tool habits 
Prof Plum finds spending time updating his tasks an annoying diversion.  He dislikes intently being asked after changing something “do you really want to do this? OK / Cancel”.  He’d much rather it just does it, and there’s an undo button if he changes his mind.

When it comes to filling out any form, he’ll always do it with the minimum mandatory fields possible.

Mrs White - Tester 

“I don’t see what was wrong with the old way of doing things?”


Personal Computer 
Two years ago Mrs White was upgraded to a Windows Vista desktop, which had issues during updates.  She didn’t like it, and rescued her old XP machine, which IT is now struggling to find parts to keep going.
Because her eyesight isn’t the best, she runs the machine on low resolution so it’s easier for her to see the icons (people have tried to tell her there are better ways to do this, but she’s sticking to it).

Browser 
Internet Explorer 7

Usage rights
Basic user – rights only over tasks assigned to her

Tool habits 
Mrs White spends a lot of time getting things right before submitting (unlike Prof Plum, she tends to fill in EVERYTHING).  Sometimes this means things get timed out.  It’s important to her that she doesn’t lose her work.

She’s also a creature of habit.  She knows a lot about the business area, but she really struggles with anything new.  She will make a lot of noise if changes mean she can no longer do something she used to be able to do.  She doesn’t like naming conventions or icons to change.


A source of testing inspiration?

Reading through that you probably have an idea of a few basic tests you'd like to run - cross browsers and computers for start.

But for Mrs Peacock you want to be able to login and quickly see "the big picture" and drill down.  Whilst Miss Scarlett wants to just be able to quickly see what's been assigned to her.  Can the system do both well without compromise?  Can this release cover Rev Greens desire to experiment vs Mrs Whites need for familiarity?

I found in writing these people out, I obviously went back to my source article on the Agile Murder Mystery.  But the key thing for "filling them out" was to find a picture of someone I felt "had the qualities".  Once I could see "who this person was like", a lot of the other details fell into place.  You will also notice in my choice of photos, I'm also a sci-fi geek (like you didn't know already).

If you want to find out more about personas - how to make them etc, the original presentation slides are still up here,

http://www.slideshare.net/slideshow/embed_code/14323974?hostedIn=slideshare&page=upload

And Optimal Usability do all kinds of blogs, articles and even a newsletter about areas of usability, including personas.

You may not have a market research budget - in which case, just do what I've done, guess, then put in front of a business owner or marketeer and see what feedback they give ... go broad in your guesswork, and put some things which are deliberately provocative in there ...

  • "do we care about XP users?"
  • "what about all these browsers?  Are we just going to go with IE?  Why shouldn't we just go with IE?"
  • "why would someone want to access from an iPad browser?"
  • "should this be accessed outside an organisations server from public wi-fi?  Should it be in the cloud?  Do we have strong enough security?"
  • "companies don't work much on Linux do they?"
Have fun!


Friday, March 29, 2013

Returning To Test Estimation ...

A couple of years ago I touched on the subject of test estimation in my article Those Darn Test Estimates.  Following a recent conversation with Jari Laakso I found myself wanting to return to the subject.  Why?  Because although at the time I was happy with that article, today I find the article isn't good enough, the reason being that in the time that's passed, I've learned a few things ...

We are told that as testers the most important relationship we have is with developers, and whilst that's true for junior testers, as we take on more leadership of our team, things change.  Increasingly as we get senior it's our relationship with the project manager that becomes more and more key.  Oh, the rest of the team need to keep networking with those developers, but you become the key relationship point between the project manager and the test team.

For that relationship to work, it's important to know what matters to project managers.  Many people when they start in software testing think project managers are only interested in two things "hours booked" and "percentage done".  Do not be fooled!


Over the last two years at Kiwibank I have been very lucky to work in a business unit of project managers, business analysts, market managers and business owners.  As Dian Fossey did with gorillas, I have managed (through the miracle of co-location) to observe business people in their natural habitat, and in the process learn more about them.

But even that hasn't been quite enough.  To understand more of what I heard and what I saw, I used Johanna Rothman's Manage IT guide for practical project managers.  Not because I wanted to become a project manager, but because I wanted to understand them and their processes.

And so this, in a basic nutshell, is what I learned.  Project managers have two main focuses, which although they link in with "hours booked" and "percentage done" they are not "hours booked" and "percentage done".  They are,

  • To manage the budget and timeline of the project.
  • To manage the risks linked with the project.


The risks are important - in fact, project managers keep a register of risks much like we keep registers of defects.  There they list potential pitfalls, how likely they are, and how significantly they could impact the project if they were to occur.  Multiplying the likelihoods with the impact gives a list of the top risks, which the project managers focus on.

With that in mind, lets return to the subject of test estimates, and see how we can work more on the same page with project managers in the domain they understand.  Of late I've worked with a project manager named Annabelle, and we've thrashed around our recent test plans until they've worked as below.  It's been a positive relationship, and has really allowed me to see much better how elements of my plan are used,


Estimates - the good, the bad, the ugly

The starting point it to look at the project, the general scope, and just trying to size it up.  There is probably some absolutely fabulous formula out there to do this.  But I think there's just no substitute for past experience.

What past project does this most likely feel like?  Don't be afraid to ask around people to get their experiences as well.  Listen to their stories of how their past projects took more or less time that you experienced in any parallel projects of yours.  Where is the complexity?  What will slow us down?  Are processes we're testing instantaneous, overnight, monthly?  How will that affect how we test?

By now you should feel split three ways on three possible scenarios; "well if everything went perfect", "I guess we might have a few bugs and tests to redo, we normally do" and "OMG, we're screwed".  From Those Darn Test Estimates, that's what we'd normally call Best Case, Probable Case, Worst Case.


But wait, we're not finished ...

Now here's where we can have a meaningful dialogue with our project manager.  I'd always put into any plan a list of my assumptions, but the genius suggestion from Annabelle was that I add a column which said "Impact if wrong".  If my assumption was wrong, what would it mean for my plan and my timescales?  What would have to be redone?

To me this was a game changer, and suddenly I realised I was helping to communicate more to my project manager in a much more direct manner than asking Annabelle to "read between the lines".  Suddenly from a dry list of assumptions, a few of them would stand clearly out, because anyone reading can clearly see "well if they're wrong, this is going to hurt".  This inevitably leads to a conversation around "well how can we get more information to check this assumption or monitor it?".  Suddenly people are being proactive, over waiting for issues to happen.

This of course leads to the issue of risks.  Actually the word is such an important one in software development, it needs a capital, exclamation marks and all kinds of funky formatting ... Risks!!!

It was only recently I had the revelation that when I'm giving a list of risks (with likelihoods and impact of course), what I'm telling to my project manager is this 'these are the factors which will push testing onto the "Worst Case" time estimates over the "Probable Case" ones'.  If you think your project manager doesn't understand this, make it clear by writing that very statement near your table of risks.  It's something we sometimes take the danger of implying, but it needs to come out on the table and be made clear to all involved.

Now, us those conversations you had with other people to help you fill in these risks.  On a first draft, you should really throw to a larger group all the risks people have thought of (if your project if big enough, maybe workshop it), sometimes something that sounds innocent gets someone else thinking "wait a minute ...".  It's important to capture as many as possible, and then truncate and collect into themes.

Like with assumptions, once collected, a few will really just stand out with an "ouch factor", and no doubt make it into the project manager's risk register.  But they're not just there to be something you fall back on when things go bad "look, said it might be a risk, turned out it was".  They, particular the "ouch" ones, are something to be proactive about.  How can you tell early if this is happening?  What can we do about it?

Lets look back at some of the risks I identified first time around, and see if we can be more proactive ...

Software Delivered Late / Software Delivered Is Of Poor Quality

What testing is development planning to do?  Can testing get early copies of software to get a feel for what's being built?  Can testing talk to development about the testing planned to help development in their unit testing?  Can testing get visibility of the testing developers plan to perform for unit testing?

Notice all of these are about dropping the silo mentality between testing and development and working closer together over a passing of baton between development and testing phases.

The Delivery Chain

How can you get developers and testers working closer together, especially if you're not co-located.  How about a daily catchup even in phone conference?  Throw in video if you can (it's the 21st Century after all, and we work in IT).

If the software development is done out of country and you only get weekly builds, can you get the development to try out scenarios on your behalf?

If you are getting weekly builds and the software prevents basic testing because it's so buggy, can development prioritise on those key bugs and get a fix over asap?

Time Erosion

Keep a log of all the meetings needed.  Does everyone need to be at these meetings?  Are you getting value when everyone attends?  Some form of daily meeting can be invaluable, but most people will only need that one.  Leaders can attend other meetings on the teams behalf, and feedback anything key to the rest of the group, likewise providing information up the chain from testers on the ground floor.

It goes without saying - don't try and to major testing sprints over major holiday seasons, and try and work on personal appraisals before/after scheduled busy times.

Requirements

James Bach in his Rapid Software Testing course calls requirements a form of Oracle, or "model of how software's supposed to work".  An Oracle sets up an expectation of behaviour, so when we do something with software and it goes against our Oracle we know "well that's not right".

Requirements are the most obvious "model of how software's supposed to work" that we usually encounter but there are other kinds of Oracle as well.  Can your team,

  • Talk to the business owners who put forward this project?
  • Talk to end users about what they'll be doing with the system?
  • Talk to a subject matter expert?
  • Try out similar products which are already out there on the market?


All these things help testers build up a sense of "what the product should do, and what behaviour matters".