Pro-testing Against Bad Software Quality

14Oct/101

STPCon, Las Vegas, Oct 19th – Oct 21st

I just realized I hadn't added this little piece of information in the blog:

I will be participating in the Software Test Professionals conference held in Las Vegas, Nevada on Oct 19th - Oct 21st as a panelist in a panel discussion related to a book project about reducing the cost of testing that we've been working on with a number of people for several months now.

Here's a quote of the panel discussion summary from the STPCon website (see link below the quote):

The constant pressure to do more with less, shrink the timing cycles, increase efficiency and decrease cost in testing can be a total drag. After all, if we want to reduce cost, we could just not test at all, and see what happens. But if it weren't said as a vapid cliche - if there was some actual meat on the idea, maybe we could see some benefit. This panel discussion brings together experts in the field, the contributors to the "Reducing The Cost of Testing" book, to discuss how we can respond to the challenge of reduced cost with integrity and success. You'll go home with more than ideas to reduce cost; you'll have a balanced view of the real cost of those tradeoffs, and you'll have tools to discuss with senior management in a reasoned, articulate way.

Direct link to the full details of the session: Reducing the Cost of Testing (panel discussion). Yes, I know, I'm not listed due to late confirmation of being able to attend, but I'll be there!

Other panelists, besides myself, in the discussion will be: Matthew Heusser, Selena Delesie, Lanette Creamer, Catherine Powell and Justin Hunter so be sure not to miss out on this, it's going to be a blast!

If you're coming to the conference, I would love to meet with people live so, please, don't hesitate to come and say "hi", for example right after the panel discussion.

Filed under: conferences 1 Comment
2Aug/100

Because You’re Worth It…

This post should probably have been named as "Brothers in Arms, Part 3" as it was inspired by the blog post Two "Scoops" of "Bugs" by James Bach but I felt like doing things a little differently this time. Just to keep things fresh. If that's even a valid expression as most of this post is about something I wrote back in 2001 (I seem to have been rather productive back then).

As comments to what James Bach wrote, an obvious problem with the loose use of language is the communication gaps that it opens up between individuals. Simply put: more room for interpretation, higher chance of misunderstandings (pretty obvious, eh). Then again, as he mentioned in his post, it also makes communication smoother when you don't drill down to exact specifics of every little nuance and detail right away as going too deep too fast could lead to losing the big picture which would not be very likely to be a good thing. Balancing these two (high-level communication versus gory, but necessary, details) is an art form on its own, imo - a tester needs to speak manager in addition to tester, with maybe a little added marketing accent, to get things straight.

Anyway, a little something from the past:

There can be no single logical mappings between words and concepts - not even within a single language - simply because words are nothing more than words; generally-agreed symbols one after another - creating a generally-agreed "meaningful" combination. In actuality, words are just empty placeholders or pointers, if you want to put it that way - without any intrinsic or implicit content or value. It is us humans, as unique individuals, who fill those placeholders/pointers with subjective meanings that are unique to each and everyone and are entirely based on emotions.

Since there are and can never be two individuals exactly alike, there is no way a single word could have the exact same content for any two persons, unless explicitly agreed on, between those individuals. Thus, dictionary words aren't "true" or "right", they are just meanings intersubjectively agreed on by a group of people. Then again, the purpose of a dictionary is not to enforce meanings to words but, to explain - reflect, if you want - generally agreed meanings of those words at the time.

Media sells products with advertisements filled with images "giving meaning" to those empty words (words criticized by Richard Rorty) as if those words in themselves meant something and, you had to buy the product in order to become what the images are trying to associate you with. "Buy product X and you will become beautiful. Naturally, because you're worth it". See how it goes? Is it really me who is worth the product? Is it really owning the product that makes me worth something? At least, that is what many advertisements want to imply. What these advertisements also imply (but leave unsaid) is the image of what happens if you don't buy the product advertised; from that viewpoint the advertisement reads: Not buying this product makes you less worthy, less beautiful and less desirable.

No wonder people are confused and anxious.

Come to think of it, the Most Questionable Title for a Profession that I can think of would go somewhere along the lines of: Marketing Psychologist. O' fear ye mortal ones.

While, again, this is not directly testing-related, it's very strongly people-related, which does make it relevant. The single biggest reason for failed software projects in my experience is the lack of proper communication. One way or another. Which makes things interesting as one of my goals in testing is to try and help close down those communication gaps by pointing them out to people. Is that quality assistance?

9Jul/102

Brothers in Arms, Part 2

Of knowing something... and understanding it

Shorter post this time, but I just felt compelled to share a little something that I came across earlier today. The second part in this series was inspired by Zeger van Hese's post Feynman on Naming. I really like this post. Not only because I agree with Feynman's father's methods, the points both van Hese and Feynman make but also because it strongly reminded me of a write-up named "From books people learn to remember, from mistakes to understand" I wrote back in 2001. To quote the write-up:

Humans have a vivid imagination, with the capability of visualizing practically anything within the limits of human experience. Yet, imagination and visualization are not the same as true understanding; one can not imagine experience.

What this means is simple: you may know exactly (neurologically and physiologically) what happens when a person sticks his/her hand on a hot oven plate but you do not understand what it really is, until you have done it yourself. If you have, it is possible to recall what it actually felt like and how you perceived the sensation, in addition to knowing everything there is to know about the event. Your understanding has grown deeper than anybody's who hasn't made the same mistake themself.

While it may be intelligent not to stick your own hand on a hot oven plate, after seeing someone else doing it, in a way it is unwise: you will be depriving yourself of an experience. The same applies to just about everything; sex, drugs, skydiving, you name it. This is where "common sense" steps in the ring - some experiences are best left unexperienced. Personally, I wish I will never have to go through - for example - any of the following: death of a child or wife, sexual abuse, long-term imprisonment, drug overdose, psychosis of any kind, becoming paralyzed etc. Some I can prevent with my own actions and decisions, some I have no power over.

To quote "Good Will Hunting" - one of my all time top-10 movies:

"So if I asked you about art, you'd probably give me the skinny on every art book ever written. Michelangelo, you know a lot about him. Life's work, political aspirations, him and the pope, sexual orientations, the whole works, right? But I'll bet you can't tell me what it smells like in the Sistine Chapel. You've never actually stood there and looked up at that beautiful ceiling; seen that."

This is exactly what I mean with the difference between knowing and understanding.

This, in turn, reminded me of another text I wrote, also in 2001:

Furthermore, so what if some scientist, poet or philosopher had already come up with an idea 100, 1000 or, 3000 years ago, that you came up with right now? Ideas aren't inherited, they don't transfer to children in genes and make their lives better. No, those children will have to gain an understanding of their own and, in that, some long-dead philosopher's profound ideas or incredibly deep understanding of the world, humans or life will have no effect. I'm not saying people couldn't learn from other people's ideas, no. What I'm saying is that reading those ideas does not equal understanding them - that has to come from inside yourself - the book or the long-dead philosopher can't do it for you. Thus, it's critically important to come up with ideas, in order to grow, develop and mature.

While I know this isn't directly testing-related, it's trivially easy to apply there as well. Just like van Hese wrote in his blog. I wish more people would do that - strive to understand, instead of just memorizing!

6Jul/109

Brothers in Arms, Part 1

The art of making enemies?

I'm pretty sure it's not exactly the best approach around to start your life in the blogosphere (or anywhere, for that matter) by criticizing people, but hey, this blog is about protesting against poor software quality and quality always starts with the people involved (feel free to contradict me on that, I'd love to see someone explain to me why I'm wrong) - their attitudes included - so if a big part of the problem is in the attitudes and mental approaches of the people instead of the methods or techniques used, then that's what I will be protesting against today.

Starting the series...

As stated before, I will be posting a lot about my thoughts and views on what my colleagues in the testing world write in their own blogs and webpages or what I've been discussing with them through one medium or another.

The "honor" for the first post in this series goes to Rob Lambert for his excellent post Don't be a follower, be a tester, which woke a multitude of emotions and thoughts in me. Actually, the post irritated me. Not because I would disagree, but because he's so damn right in what he says. Briefly put: the irritating essence of the post is that the testing world is full of sheep bleating trendy catchphrases that make things sound really nice while actually meaning absolutely nothing (a favorite subject of criticism by Richard Rorty).

What really caught my attention were these three conclusions Rob made, based on the comments to one of his earlier posts:

We should not challenge the best practices of testing
We should not challenge the experts in testing
We should not talk about testing publicly
unless we are an expert or we know the experts.

My immediate first thought, after reading this was: What, exactly, constitutes an expert in testing? How does one become an expert in testing? Added bonus question: How, exactly, would knowing an expert in testing lend more credibility to what I am saying? I'm not the expert in question, am I?

So, how does this becoming-an-expert-in-testing happen? by not challenging the current authority figures? By not trying to come up with something new and/or improved? By not tackling the problems you see and just serenely accepting them (*baah*, said the sheep and continued munching on grass) as a necessary - and unchangeable - part of the world you're living in?

Let me answer that for you: It happens by stirring the hornet's nest, by challenging the consensus. It happens by telling people that they're doing things in an ineffective way, when they are, and then proposing an alternate way. It happens by not just accepting everything that's being force-fed to you without questioning. It happens by making mistakes, learning from them and then coming back stronger and better equipped than before. It happens by acknowledging the fact your thoughts and ideas could be shot down and torn to shreds in public, and still having the courage to present them despite the risk.

In brief: One does not become an expert (in testing) by being an idle spectator. You do it by taking a stand and making it your very own, personal, responsibility to change the way things are done. And that sure as hell won't happen if you don't throw your ideas out there for people to see and have a taste of. Of course, this is just my personal view - your mileage may vary.

Dramatic, I know, but sometimes being an opinionated tester is like the IT-world equivalent of being John Rambo...

As a sidenote: seems I just discovered a defect in WordPress while writing this post. 😛
Sidenote #2: seems I just discovered another defect in WordPress when trying to add more tags to this post (sorry Rob, WordPress refuses to store your name as a tag with Capital First Letters, I'm not trying to be disrespectful here...)

6Jul/105

Endings and Beginnings

Like I said on the About:Petteri page, this blog is going to be a professional one (as opposed to a personal one) and will concentrate on software testing (plus agile and lean, which I didn't mention there), but this very first post is going to be more personal. It will soon be followed by more technical posts, though.

Referring to the title, endings often mean new beginnings. In this case the ending was on the personal side of life, while the new beginning is on the professional side of life. And a good change it was, too, since for the last few weeks my head has been so full of (technical) thoughts and ideas that I feel like it's going to burst if I don't get them out. This blog is a result of that change and will be just the place for getting it all out. Hopefully, to someone's benefit.

How did I end up in testing?

I've always seemed to possess the ability of doing the unexpected which has resulted, among other things, in my grandmother's clock radio going completely haywire when I was like 7 and simply decided to see what happens if I press certain two buttons at the same time. It has also slowly, but steadily prepared me for a career in (software) testing and, now that after few years of trying it out I've realized my potential in the field, it's also a strong driving factor for me and one of the root causes of my passion for testing. I want to help make things right in the IT world. I will not succumb to poor quality software for as long as there's something I can do about it. The name (and slogan) of this blog are no coincidence.

Sure, my chances of having an effect may be miniscule, all in all, but I'm a big fan of chaos theory (ever heard of the butterfly effect?) and that alone is reason enough to keep me going. Maybe I'm building castles in the air here, but my response (well, actually, I think it's an old Spanish proverb, but quick googling didn't reveal anything so I'm not sure) to that is: "If you don't build castles in the air, you don't build any castles". You need something to strive for - a destination or a goal. It doesn't have to be achievable, as long as it gives you direction, and that's exactly what's happening here.

Based on all of the above, I have finally truly awakened in this business of testing, and I can not get enough of it. I'm reading books about it like crazy. I'm following just about every tester blog I've come across so far (James Bach, Michael Bolton, Matthew Heusser, Markus Gärtner, "Michael the Explorer", just to name a couple), and I'm more than eager to take up any challenges you people out there might have in store. Even if I can't guarantee good results (as I might simply not be good enough if the challenge is a difficult one) I can guarantee a result. Bring it on!

And that just about covers everything I wanted to say in this post. Stay tuned as more technical writings will be added soon enough!

P.S. I would like to thank Markus Gärtner for encouraging me to start writing the blog - his comments were the deciding factor (after years of deliberation of doing it) that eventually led to this.

Filed under: introduction 5 Comments