Do you know what testing is?

So you are working on a project, large or small and you are working with a variety of stakeholders, some may know what testing is, some may think they know what testing is, and some have never even thought about it.
So what do you do?
For me this one is an easy thing to address, I tell them all what testing is to me, in small bit size pieces. Using plain English, and alway checking back with them about what they mean when they use technical language, always phrased as ” just so I can understand..” not so I can correct them, so I can make sure I really know what they mean, This goes for technical people more than any, I sat in a meeting with a system architect lead, interface lead and developer lead, and they all had a different definition to unit testing (or developer testing). If I hadn’t asked it would have gone unsaid, assuming they all meant the same things.
People who don’t know what testing is, you have to show them the value you bring, demonstrate why what you do, makes their lives easier. Telling them isn’t enough, they have to see what you bring to the table otherwise you are just some strange IT role.
Be open and inclusive invite people to see what you do, help them see why you ask the questions you do, and never fear being challenged, just make sure when you respond to that challenge its positive, clear, easy to understand and relevant, they aren’t saying your wrong, or not needed, they are really saying I don’t understand why often with little realisation that this drives what they are saying.
If you want to do well in the professional world being able to demonstrate your worth is a skill that is worth developing, as the way you demonstrate it has to change according to the audience, you have to be able to explain in terms anyone can understand and defend why you have done or are doing what you are, especially if they come with preconceptions about what it is you do.
James Bach and Micheal Bolton tester story is an invaluable tool here (These are the people who I first saw this from not sure who’s idea it was first) It gives a framework within which to think about the differing side of what you are doing, and how to address questions about it to support why you have chosen to do what you have, when you have.
It’s all about understanding, what the concerns are, and how you can provide assurance to the stakeholder who raised it, that you will be able to provide them with proof/information/demonstration of that area so they can make a judgement on how happy they are with it, for example, in my current project the speed of order entry for the trade sales team is very important, they need to be able to work through an order flow, including placing individual lines on an order at the speed of speach. We are addressing this through demonstartaions and timings of screen loading, so the Trade sales manager can see how fast it is and make a judgement of if they are happy with that.

Assessment of progress

So I want to be a great tester.
I’m building up a syllabus of material to learn, and a way of tracking my progress against that.
How though do I know how good I am at actual testing?
It’s not like there are formal assessments that can tell me how I’m doing, I have no colleagues that are more experienced than me, so their insights are going to be limited. So I can critically review work that I have done, with a view to what else I could have tried. What does that look like though, what are the actual steps I’d take?
I could apply the Socratic method and see in which piece of work I can see better ways to think about it, and approach it. I think this has a limited use to me currently as without broader and deeper experiences in testing, I may be unable to have an effective socratic conversation.
I think I have to build myself a self assessment model, definitely not a strong suit of mine.
I’d be reviewing heuristics used, where they the best, could better ones have been used, and what of the oracles, were they good enough, could alternative ones been found that would have given a better insight into the rightness of what I was testing.
Ideas from others who have tried a similar thing would be most welcome.

Assumptions

Over the weekend I happened to read an article on assumptions and if we should be making them. The article talks about the writers progression from the assumptions are bad, to assumptions are okay if they are reasonable. It was interesting to read the progression of the writers thoughts over the use of assumptions. They went from, as a younger person following the adage about asses, to coming to realise that some assumptions are part and parcel of life. 
However, it struck me that  we could do with a better education when it comes to this type of reasoning within software testing. Too little time is spent talking about how you investigate something and the process that you go through to come up with theories to test, most sciences, both the more classical and social sciences spend time teaching how to investigate, and the use of assumptions.
It reads to me like the author is talking about beliefs, those things that drive our assumptions. If they had dug a little deeper and thought about these assumptions maybe they wouldn’t have held them in such low esteem.
We could rephrase the article, rather they are talking about justified beliefs, in the epistemological sense, or we are using them to form part of an ampliative argument. In either case, the negative connotations of the “assumptions” should be removed as you are no longer talking about the vague process of making a guess at something, but it is a considered idea that you believe is supported by the available evidence.
Both of these play a large part in the process of assessing a situation and forming a hypothesis that you are going to investigate further and are held in much higher regard than the simple assumption.
I think that if we could move to accepting that this is the normal process that is gone through, and start using the techniques that are available in other disciplines that rely on investigations we would be able to share in the developments in ways that you can investigate.

New Year, New Challanges

So i hope everyones new year is going well, so far mine has kicked of to a great start, got my certificate for successfully completing the foundation BBST testing course, very happy about that. I highly recommend the course, it’s packed full of great material.
I also gave a well received presentation on the test strategy for the ERP project at work to the 30 or so core individuals of both work and the reseller of AX that are helping with the config and installation, lots of questions, hopefully answered to everyone’s satisfaction. Its been a long time since i’ve done any presentations so I was rather rusty, so I watched a few good presentations and did plenty of prep to ensure I knew what I wanted to say and at a good speed.
Now I have the challenge of moving it forwards, so I have a couple of exercises to detail, one to help them understand the initial activity of working out what we could test, I’m planning on taking a simple object and running a session or working out what all the testable elements of that are. Secondly I’m going to try running a version of the dice game, so they can practice thinking about how they understand something.
Then I just have to plan out how I’m going to train some people who’ve never tested before, so they can help out testing on the project.
Busy times ahead.

BBST foundation in software testing

So I finally finished the course this weekend, and it was a fantastic one. Really engaging and thought provoking.
I’d really recommend it to anyone new to software testing, or new to the context driven school. There is even plenty of content for those of you who are familiar with the techniques but haven’t yet formalised what they know.