Over A Cup Of Tea With James Marcus Bach
A guy who left his schooling at an early age and started as a video game programmer is now an esteemed software tester, author, trainer, and consultant.
He is a proponent of exploratory testing and the Context-Driven School of software testing and is credited with developing Session-based testing.
How did he achieve this? What made him break the laws? What does he think about Software Testing? What message does he have for young testers?
Find it out in his exclusive interview with Tea-time with Testers.
The Other Side Of Buccaneer Scholar
Before we start, we would like to let our readers know, ‘How did things start off for you?”. “How did you land up in Software Testing?”
I started as a video game programmer after I quit high school. I found I didn‘t like programming that much. After a little while, I began to be bored and restless. There wasn‘t enough stimulation. I need social interaction. I need lots of variety in the problems I get to solve. It got so bad I became unable to work: I would get physically sick if I sat down to write code. This was a disaster because the only thing I knew how to do was write software. Fortunately, I heard about a job as a test manager at Apple Computer. I was amazed that people could get paid to test things. I got that job and never looked back. I still write software. I create automation to support testing, occasionally. I like programming for short periods.
Can you please help our readers understand ‘focus-defocus’ technique & how can it help them to test better?
This is a very broad technique that is used as part of the Rapid Testing methodology. All testers, all the time, are testing against and within some kind of model. We call that focusing. Maybe you are doing requirements-based testing. If so, then you are focusing on requirements. You have a specific idea of what those requirements mean. Focusing is good. It helps you make sense of things. But to find a lot of bugs, you need to de-focus on a regular basis. That means changing your model, considering very different meanings of requirements, randomizing your tests, etc. To defocus is to change your focus in a big way. Basically, all of the testing can be seen as various kinds of focusing and de-focusing. When you are confused about the behaviour of a product, you should focus more. When you need to find more bugs, and you feel frustrated that you aren‘t finding enough, you should de-focus.
Why do you consider testing as a craft work? How differently do you see it compared to other fields?
The word ―craft‖ emphasizes the design aspect of testing and connotes a dash of discipline, too. I also call it an art, from time to time. Testing as a field is a lot like how the surgery was 300 years ago before smart people began flocking to it and turned it into something respectable. We still have people peddling ―best practices‖ in testing that is similar to the Galenic medicine quackery of the 18th century: unhelpful or else actively harmful folk practices promoted by authorities who lack scientific skills and ethics and discipline.
What is your view on major changes in the software testing field likely to come in next 5-10 years?
The only change I can speak to with authority is that the community of erudite, skilled Jedi testers is going to grow.
These are people who vigorously practice their art and challenge each other to get better. These are the people who eagerly read social science textbooks and compete (in a friendly way) to apply the lessons to testing.
I hope that we will displace the old wheezy consultants promoting those silly practices I mentioned above.
I believe we already have begun to do that. It‘s a slow process, but I think ISEB and ISTQB will be quietly consigned to the history of stupid ideas.
The people who promoted them will probably declare victory, but eventually, have to evolve or be made irrelevant.
Most of the managers ask for result in numbers e.g. more number of test cases, more defects etc. What’s your opinion on this number game? Does that really matter?
It matters a lot. So, don‘t do it. It‘s unethical to fake your work. Counting test cases is simply a way to mislead people about the status of your testing. I stopped doing that in 1992. My refusal to count test cases is now old enough to vote in the United States.
Management doesn‘t count ―management cases‖ to evaluate other managers. We shouldn‘t count test cases.
As a consultant, how do you pursue the quality of product? Is it similar to the way the product/quality manager sees it? E.g. some managers prefer on-time delivery over quality of product. At times in certain cases quality doesn’t matter to them but the delivery. Does that upset you?
I‘m not concerned about quality, really. I don‘t control the ship date, nor do I want that responsibility. As a tester, my concern is about knowing the status of the product. I care about quality because of my clients care. But if they don‘t care, part of my discipline is to also not care. However, I often have information that I think will *cause* them to care, and I eagerly share that with them. (Deep down, I want to be proud of the product, and I want them to feel that way, too, but officially, a tester is there to inform his clients about *their* concerns, not to promote his own vision of quality).
My clients want to know what kind of trouble the product may cause, or may have within it. I help them discover that.
I overheard two guys discussing pending tasks in their project work. One of them said, “Ohh Testing??? That can be done by anyone. Don’t worry about it.” A lot of people think this way. What’s your view? Can testing be done by anyone or it needs some skills to master?
My career is built on the idea that skilled testers, like skilled soldiers, do their job better than a disorganized and untrained rabble. But just as anyone can swing a sword, anyone can find a bug. Skilled testers will find more bugs, better bugs, and they will be able to explain and defend their work.
Anyone can find a bug. Only skilled testers can consistently find great bugs.
How tangible do you find testing standards in real-world scenarios?
Testing standards are never tangible. They are ideas. Paper documents are tangible, but it‘s the ideas that matter, not the paper and ink.
Perhaps you meant to ask how practical are testing standards. Well, if you are referring to the IEEE testing standards, I consider them harmful. I recommend that you ignore them. I was on the working group of IEEE 829-2008, and I repudiate it. Cem Kaner was on the same committee and he had his name removed. The revised standard was not developed in a collegial fashion, nor do I feel that the people who controlled that process were competent to talk about what anyone should do to document testing.
The upcoming ISO testing standard suffers from a similar problem. The political operatives who run that show don‘t care to face or resolve the actual problems and controversies. I have heard only terrible things about it, and I‘m quite confident that the final standard will be a monument to the stupidity that is still tolerated among the grey heads of our field.
Do you believe that processes help average people to do things better? E.g. formal education for average kids. Is genius an exception? What made you leave your schooling?
The process is a word that people use in mystical ways. Let‘s be more specific. The word process means ―how things happen. Are some processes better than others for helping people develop their minds in the way they wish to be developed? I am confident that is true. But no, I don‘t think that institutional education as currently practised by public schools is good for average kids.
I think it works for a very small minority of kids. For most kids, it‘s a sick waste of their time and energy. In fact, it‘s a system that is obsessed with stratification and competition. It is actually designed to assure those very few children ―get ahead by defining success in narrow terms and heaping scorn on anyone who doesn‘t fit that model.
I would prefer that *all* the money used for ―educating children were used instead for local daycare centres and open-to-anyone educational resource centres (we can call them ―public libraries)—both of which would be optional to visit, rather than mandatory.
I agree that public funds should be used to help educate the public, but I also believe that in free society education is a personal matter that is always be under the control of the learner himself, no matter what age he might be. The name for this policy, if you are interested in reading more, is ―unschooling.
I left school because I was wasting my time there. My father urged me to get on with my life, and so I did. I thank my father for inviting me to become an adult.
What is your take on becoming a certified tester (any certification)? Is it a must-have thing to prove one’s testing abilities?
Commercial certifications are a blight on our craft. Please avoid them. Please join me in ridiculing and denouncing them.
When our craft decides what testing is, then we can talk about having a craft-wide certification. At this point in history, the most passionate and recognized people in the testing field do NOT agree.
Rex Black just wrote a little piece about how lack of metrics was the biggest weakness he sees in testing organizations. I think it shows he doesn‘t understand what metrics are or how dangerous they can be.
That‘s a pretty big gap between two people who are both so well known as ―experts. So, forget the certification.
If you are ambitious as a tester, I suggest that you develop a positive reputation. For my kind of ambition, I need a public reputation. I run my business and charge what I charge based on the fact that I am well known all over the world of testing. I am not well-respected everywhere, due to the controversy surrounding the various schools of testing thought. But that‘s okay because there are enough admirers of the Context-Driven way of thinking that I have plenty of business.
My question to any young tester is what are you doing to study your craft, demonstrate your growing expertise, and publish your ideas?
If I am hiring a tester, and I Google a candidate for that job, and I find nothing that he‘s written online, he is at a great disadvantage compared to a testing blogger.
When you are not testing, what can one find you doing?
Reading! There are so many philosophy and science books that I need to get through. I‘m so glad I have a Kindle. When I‘m home I also watch a lot of videos with the family and pet my lovely dogs.
Unfortunately, I‘m not at home very much.
Do you teach your son? How different are James Bach in the testing conference and James Bach at home?
I am quite different at home. This is because my wife forbids me from thinking like a tester when I‘m at home.
Well, let me put it this way: I can do what I like because I‘m aggressive and I‘m a full-grown alpha male in my own house… but when I speak a certain way around my wife, she‘s sad. When she‘s sad, everybody in the house is also sad. In any marriage, a man can‘t be happy if his wife is not happy. So, I speak softly at home and I smile a lot and I drop my professional scepticism around Lenore.
She has trained me well after twenty years. When I‘m at a conference, I‘m on duty. I‘m sharp and I don‘t easily accept what I‘m told. This is how I think all testers should be at conferences.
I don‘t teach my son, Oliver. I behave normally around him, and he observes me. This is the way children learn. I find that overtly trying to teach my son makes him hate to learn. So he learns from me, but I don‘t teach him. Nobody does. Oliver has not been to school since he was 12 (he just turned 18).
Oliver and I recently visited BioWare, the people who create the Mass Effect video game. Oliver is extremely knowledgeable about video games, and it was great to see him test himself against the fine minds at BioWare.
(Incidentally, BioWare has one of the smartest and most motivated teams of testers I have come across. They reminded me of the team I taught at the Jet Propulsion Laboratory.)
They say that ‘school drop-outs’ often develop a legendary path. What do you feel about your journey so far? Satisfied or still miles to go…?
To develop a legendary path, you absolutely must depart the ordinary path. From a young age, I was fascinated by mysteries and quiet places and forbidden choices.
I was repelled by conventional thinking.
It‘s a good thing I am not also a complete fool, or else I would have gotten into drugs and been arrested. Fortunately for me, my distrust of authority didn‘t manifest as violence or petty crime.
It came out instead on the intellectual plane: I don‘t trust teachers or experts on anything important unless they first earn my respect. This is why I had to leave high school. This is why I had to reinvent testing.
This is why it takes a teacher like Jerry Weinberg to hold my attention, and also why Jerry is a role model for me as I develop myself into the best testing teacher I can be.
Your opinion about Tea-time with Testers? We would be glad to have your feedback.
I‘m generally impressed with the calibre of the people that you get to write for you. That‘s why I‘m writing for you, now. I want to be with the cool kids.
Disclaimer: This interview has been originally published in past editions of Tea-time with Testers. The author’s opinions on the topic(s) may or may not have changed.