Monday 31 October 2011

Negative Testing or Negative About Testing

Just a few quick thoughts regards something I have been noticing and thinking about recently.

It seems to me, more and more, we read or hear nothing but negativity about testing. That is to say, when testing comes up in many people's blogs, it is only to criticize the lack of ability in the testing craft, highlight the deficiencies of checking, complain about what Testers think, what Testers are, etc. As Testers, I think we do a very bad PR job on what testing is and brings.

I am a big admirer of some of James Bach's ideas and principles. However, I am not a fan of his abrupt approach to Testers, who don’t sign up to his ideas and principles. To be a Tester, you need to possess an open mind, you need to see all sides of everything and then make your own judgment call. Sometimes, your call won't tally with others, that’s fine, but it doesn’t give anyone the right to belittle you, because your way of seeing testing is different. There is still a way to be a person, sometimes; I think James fails the test here.

Testing is a specialized industry, you need to be a different type of thinker than a regular programmer to be a Tester, be more of a questioner. As opposed to damning Testers constantly and surrounding testing with an air of negativity, we should be trumpeting committed people involved, embracing the committed who are in the Testing domain (even if their thoughts on Testing differ from ours).
Even at interviews, negativity reigns: -
I want to be a Tester because I like breaking things
is an answer that is so stereotypical, it gives clichés a bad name. However, it is so limited. If I wanted to hire someone to break things, I would hire my 2 year old son! But that's the aura that has been created about testing, to break things, to prove things wrong, to dispel assumptions - Negativity!

The purpose of testing is surely to provide information on the product. That's it, pure and simple. Whether that be via the 'frowned upon' checking approach, manual testing, 'super cool' exploratory testing, automated regression suites or whatever individual approach; It is all testing and it is all to provide information - good and bad. However, the message that seems to filter to the top is testing is to provide bad news.

Think of it this way:-
The message about Testing needs to change. We need to promote testing as a valuable industry, a valuable asset to projects, a place where you can advance and hone your skills, create new trends, create new ways of testing, become the difference, gain respect, gain enjoyment, make a career.

Now, read the above paragraph again, but change the spin and think of it positively!

Monday 28 March 2011

The Principled Tester

What type of Tester are you?
Are you the ‘process driven’ tester? Are you the ‘checks pass so we are ok’ driven tester? Or are you the ‘fly by the seat of my pants, full on exploratory son of a gun’ tester?

All have their roles in the Test industry, there will always be companies who need each of the types (and more!) mentioned above.

The type of Tester you are really comes from within. It depends on a number of things; such as attitude, intelligence and experience. Overall though, every Tester worth their salt will have their principles. That is to say, they hold dear various things that are important to them when it comes to Testing. Some don’t, some are very much 9-5 type Testers with no real genuine interest or passion in what they do or the consequences of their actions. In my eyes, those people shouldn’t even be classified as Testers, they are hired hands doing (more than likely) a below average job. Eventually those people are, or will be, weeded out.

But back to the true Testers, yes, they have principles. I would hazard to guess if we pulled into a room, some of the world’s best Testers, their principles would differ…but probably only by a hairs breadth!
Their language explaining it may vary, their rating of their principles may differ, and some may even see them as not being principles but just part of their make-up. However, hair splitting aside, they will be similar. Core principles are common among good Testers.

Now, whilst I wouldn’t attempt to place myself in such exulted company as among the best Testers in the world (whomever they may be), I believe I have ‘some game’ and see myself very much so, as a Principled Tester.

I place my Testing principles at the very forefront of what I do for a living and indeed, influence me in my job every day. I wish not to impose these on anyone, but for the record they are below. I call it my T.E.S.T.S. approach.

Test the right things
Preparation
Knowledge of AUT with a Test Journey in Mind


End the day never satisfied
Must do better mantra
How can I improve that?


Strength of Purpose
Willing to admit you may be wrong – Humility
Stand by your theories and thoughts – don’t be swayed because others have
Stay true to your testing compass
Take ownership for testing the product/application


Thoroughness
Methodical mindset
Attention to detail
Going the extra mile, run the extra Test, answer the nagging ‘what if’


Speak the truth to power
Your job is to provide information not ‘the sugar coat message’
No Testing is better than poor Testing
Keep others honest



They are in no particular order, but to get the T.E.S.T.S. handle in there, I had to play with the order ever so slightly

Whether we like it or not, Testing is a results driven business. We have project delivery time constraints and managerial pressure and expectation for the right message.
One would think this type of environment wouldn’t lend itself to allowing for principles? It can!

You can still deliver on time, give the right message and be principled.
How?
Project delivery on time can be achieved as long as you provide the evidence which details what you have found as a result of your Testing, on time. Testers are not in the project delivery business, that is not their job. If someone else wants to deliver based on your evidence, with or without your recommendation, that decision is theirs.

Managerial pressure for the right message will always be there, but if the message you provide is that you have found issues/defects that are detrimental to what the project states it should do, then you have delivered the right message because it has provided information related to the health of the project.

Again, what Managers do with that message is not the Testers job.
So you have delivered on time, gave the right message AND stuck to your principles.

Tuesday 15 February 2011

First, Fast, Now Testing

Testing in today's world has to be done yesterday. Such are customer demands and in turn, project demands. Good Project Managers and Companies at least attempt to ensure that testing is not squeezed as a result and that the due time and attention is given to ensure at least adequate testing, is carried out. But a lot of the time, their hands are tied.

So how do we ensure adequate testing in a world that is deadline driven?
Any UK and Ireland Sports fans among us will be familiar with 'Sky Sports News'. Essentially this is an around the clock news channel dedicated to sport, almost sycophantically at times reveling in the 'exclusives'. Their philosophy is 'First, Fast, Now'.

I liken agile testing to this, or any testing in today's world. Many companies carry out 'sky sports testing'. The need to do everything immediately, quickly quickly, 'best we can'.

In some instances, that may be fine, as long as you can be confident that you have covered all you think you should and provided the stakeholders with as much information they need to make their decisions on whether to go live. You have done as much as you can. This is a skill that the better testers have. Usually not through design but neccessity.

However, sometimes as Testers, we need to push back, sometimes we need to incorporate a 'steady as she goes' mentality. Take the time to do the testing, investigate, explore, provide more information that merely the confirmatory type.

Hand on heart, how many times do we ever do this?

Admittedly, we are testers and under the direct management of others who are under the direct management of those higher, who want the project done without delay. 'Sure, we can get the customers to test it'. So we might not be able to take our time and perform the due diligence.

Again, that's fine. As Testers, our primary role is to provide information to the health and status of a project. The time we are given to do this is usually someone else's call. As long as that someone is aware that there is the chance that 'Sky Sports Testing' might not lead to a 'Sky Sports Product'.

Wouldn't it be great though, just a little more often, to be asked by PM, 'how long would you like to test' as opposed to 'here is what is left to test, what can you do?'