innovation insight software testing software testing process

Take the ‘Crappy Work’ Litmus Test

We’ve placed a ban on crappy work within my test team. From now on, we declare that the testing team will refuse to do crappy work.
The challenge is in knowing how your doing good work or crappy work?  This is why I’ve created this simple 5 minute ‘Crappy Work’™ ² test to help any tester to figure out if you’re doing crappy work or not. ¹

1) Do I fully understand what I’ve been asked to do?

2) Why am I doing this task?

3) Who will benefit, and I have spoken to them ?

4) Am I doing this task simply because its part of the process?

5) If I think it’s crappy work, how can I make it valuable?

I’m sure there are plenty more ‘crappy work’  questions that would be useful to add, but my 5 minutes is up.

Why not share your ‘crappy work’ litmus tests? 

¹ Maverick Tester takes no responsibility if you take this quiz and continue to do crappy work

² It’s a 5 minute quiz because it took me 5 minutes to think it up. It’s trademarked so I can sell you a certificate in passing the ‘Crappy Work’ test, thereby making a whole lot of money out of it.

insight software testing

Are you serious?

Seriously, how serious are you about testing? Lets presume you study the craft of testing. Does that make you a serious tester?
If you answer yes to this question, congratulations. You are on your way to becoming a serious tester. Now ask yourself this question:

“Do you take yourself seriously?”

If you want to be taken seriously about testing, you need to take yourself seriously. Note the difference here. Taking yourself seriously is much larger than being a serious tester.

Taking yourself seriously means you avoid behaviour and thinking such as:

“I will put myself down in front of others to make them feel better about themselves”
“I resort to behaving childishly when placed in pressure situations”
“I hand over power in order to avoid conflict”
“I feel like a fake even though my actions demonstrate otherwise”

I know this, because its only recently I realised that I haven’t been taking myself so seriously.

When you stop speaking to yourself in such a way and start taking yourself seriously, a wonderful thing happens. You start to believe in yourself. In fact, you have to. You owe it to yourself to do so.

I’ve discovered a new strength in this self belief. It means I have courage and strength to stand up for what I want. In doing so, I give myself the respect and honour for all the hard work I have put in.

So, let me ask the question again: Do you take yourself seriously?

Expression epitomised in Rage comics following a David Silverman interview of Fox News by Bill O’Reilly 

insight quality

In search of perfection

I knew Flynn was in trouble the moment he created a program Clu 2 as his doppleganger. You see, the purpose of Clu 2 was to create the perfect system.

Flynn, a programmer failed to understand the struggle between perfection and quality. I’m guessing he didn’t spend a lot of time in the test team!

Of course, none of this makes any sense unless you have watched TRON the Legacy.

Warning!  I’m giving a bit of the plot away below…

In Tron Legacy, Flynn a programmer realises that he can’t spend all of his time in(yes in) his computer, so he creates Clu 2, a program that will create the perfect system for him. Unfortunately, the perfect system starts to wipe out everything that it sees as imperfect and pretty soon our world as we know it is being threatened. I know, its a pretty silly storyline, still the effects were great and it got the thumbs up from the 7 & 9 yr old critics.

What is perfection? Perfection, as I understand it, is  to be without fault or defect. A pretty tall ask for software. And Quality? Well, that is value to some person.¹

Both Quality and Perfection are subjective if you think about it. For example, art critics describe the Mona Lisa smile as the perfect smile. But in my mind, that small measly semi grin is far from perfect.

So, what is the difference between Quality and Perfection? Perhaps quality is more realistic, more humane?  They appear to be related in some way. When  some-one says something is perfect, are they perhaps saying that the quality is perfect?

Maybe perfection is a state in the quality model? A Utopian ideal that perhaps is something to aspire to as opposed to achieve?

At the end of the movie, Fynn realises that perfection(his son) was in front of him all the time (I told you the storyline was dodgy). I guess at that moment in time, blinded by emotion, his son was perfection to him. I suspect though, like any parent with inattentional blindness that moment quickly passes.

So perfection and quality  are dependent on time too. I think Markus Gärtner tweeted about that once.

How do we deal with these concepts in software testing? Here’s how I think about it:

Perfection is a great goal to aspire to, but my expectation is quality.²

I think this is a healthy way to look at it. For one thing, it stops me from asking for unrealistic demands from myself and others.

I do this by expecting good enough testing³.

I guess we all fall into this trap of perfection sometimes. its easy to demand perfection in other or systems yet excuse the imperfect in ourselves. In software testing, we expect perfection from developers yet don’t accept or recognise our own  failures.

“What do you mean its not a bug? Of course it is!”.

Expecting perfection in yourself is another trap and can set you up for some major life disappointments. A more realistic approach I think is to aspire for perfection but try to expect something a bit more realistic?Well, I try anyhow!

We need to combine this reality with a good dose of humility about our own failures and failures in others.

Then we will begin  treating  people with respect, a little more understanding, and perhaps then, our software will be more about the people, less about ourselves.



¹ Weinberg: “Quality is value to some person(s)”

² Read Secrets of a Buccaneer Scholar” for more on this.

³“Good Enough testing is the process of developing a sufficient assessment of quality, at a reasonable cost, to enable wise and timely decisions to be made concerning the product..

User Group

Testing a SaaS Platform

I thoroughly enjoyed the webinar yesterday by Joel Montvelisky on  Testing on the Cloud. Its of keen interest to many Irish Tech companies, so I was happy to organise on the behalf of SoftTest a webinar for its members. Softtest is the Irish Software Tester’s Special Interest Group.
I learned quite a bit from this webinar. In particular that the amount of testing is actually reduced by hosting your application in the cloud. Things such as installing on different machines, upgrades and patches to multiple versions etc are not required as really there is only one release that everyone accesses. Obvious when you think about it.

He also noted that one of the side benefits of hosting your application on the cloud is that you are able to monitor how your clients are using the application. This becomes an excellent source of  data that testers should make benefit of. It can help testers focus their testing on areas that customers really use, instead of relying on second guesses or vague feedback from customer support and sales staff.

I’d encourage anyone looking into this area, to take a look at his webinar and slides below.

Thanks once again to Joel for speaking, Sogeti for their technology and their excellent marketing guru Michael O’ Connor for assisting and facilitating the webinar.

software testing process

A scrum in Croke Park

I’m attending the SQS conference on Software Testing in Croke Park, Dublin.  I thought it was appropriate to go to an Agile Testing session involving Scrum amongst other techniques in the same hallowed ground where not to recently a game of Rugby was played out between England and Ireland.
As our trainer Mike Scott was English, we tried not to gloat too much.

I won’t bore you with lots of analogies on how Agile is similar to rugby, besides after a day of Agile, I can’t think up too many, I’m sure someone out there can….

But here is what I enjoyed about Agile and its techniques

I liked the concept of the balloon pattern and testing so early that no code has yet been written, only your installation packages. I think thats really smart. You can iron out all your installation and configuration issues up front.

I like the concept that we as testers need to ask lots of questions and not make assumptions, though I think this is not unique to Agile.  A course on  Rapid Software Testing by James Bach also stresses this point.  However,  Agile demands intelligence in testing, where perhaps more traditional methods are less exacting?

There seemed to be a heavy dependency on Test Driven Development (TDD) which I am a big supporter of, though I do question the use of 100% Acceptance Test Automation.  I think in every software testing exercise there is room for both manual and automated testing. Its a question of intelligently planning out what percentage ratio works best for that particular project or environment.

Is Agile faster and cheaper as its sometimes portrayed?  I suspect not, but it does offer a customer greater flexibility and visibility and I like the sound of that!

BlogRoll offshore

Observations on Offshoring your Software Testing

Have you noticed that there is something about having people nearby that instills a sense of confidence in the work being performed?  There is something about having a tester in the same country as you that generates security.

So it was with a bit of reluctance that I took on a job that had an offshore element to it.

I was surprised to discover the quality of the work that came back from the offshore team. They found many bugs outside their scope of work. Their testing was thoughtful and thorough.

However, one of the hardest things I found I had to deal with is the lack of visibility on the testing.  I am utterly dependent on the only tangible evidence provided to me through  test scripts and defects in the shared test management system. I don’t get to see the testers in action…

So, despite the knowledge that good testing is being performed, I am still very uneasy when badly written test scripts are created, or if the process is not followed.

I don’t know, perhaps this says more about myself than the testing being performed. After all, I personally have never been a fan of extremely detailed test scripts.  Perhaps the lack of contact and visibility brings out the micro-manager in me, turning me into a process Nazi.

So am I being unfair? Perhaps. It’s made me realise how important it is to be accurate and succinct in your reporting, especially when a client has little visibility on your work.