Before I was ever a tester or even in software or even cared about software, I was in Puzzles class. This was a class I took as part of the hippie-powered liberal arts program where I spent my first 2 years in college at Appalachian State University. Doesn’t it sound like a fun class?
Well…despite my best efforts, it bored the hell out of me. There are many testers for whom this class would have been a dream because it was all about logic puzzles, but I find philosophy and talking about logic absolutely, stultifyingly BOR-I.N.G. Even if I try to listen and do the whole “fake it ’til you make it” bit, my eyes glass over and it’s obvious fairly quickly that I just don’t care. At this point in my life, I know that philosophy will never turn me on and I own it. Don’t get me wrong, there’s gold to be had in philosphy for the field of testing. I won’t be discovering it. I have lots of respect for people such as Rick Scott and Zeger von Hese who can throw down with this and make something important and gorgeous out of it. (Go dudes!)
This means that I obviously didn’t learn that much in my puzzles class. In fact, there’s not much I even remember. I only have one memory from puzzles, but it’s come back into my life lately in a very bizarre way. It’s helping me format the paper I’m writing for PNSQC. Here goes:
The only thing I’ve remembered is the day that I showed up for class and our puzzles teacher told the class,”We’re going to destroy the world today.”
Apparently it’s possible to use philosophy to reason oneself into a logical position where the world cannot possibly exist. Of course, I have no memory of how this is done or what it involves. Philosophy leaves me too cold for that.
Anyway, the memory of my teacher’s words and his intentions, “let’s destroy the world,” have come back to me. I’ve found myself rolling down a dusty and, at times, lonely road in my personal journey of software testing. I have a ton of friends in this industry and I’m sure some of them will identify with what I’m talking about. It’s entirely possible to find yourself in a crowded room full of people you love and still feel totally alone. There are those of us in testing who live in this type of “walled garden” because we’ve burned through the ceiling of what a tester is allowed to be within our own ecosystem.
There are other types of fail showing up on the testing doorstep as well: Devs often fear or hate us, our value is questioned on lots of projects and nobody ever starts their software career wanting to be a tester. In fact, there are plenty of people who are in testing simply because it’s the only job they could get in software. (I’m not saying it’s right, but we all know it happens.)
As testers, we’ve become adept at assigning blame for this. Schools don’t teach enough testing, managers don’t understand how we bring value and devs just don’t give a shit. What I’ve noticed is that we never ever point the finger at ourselves. In my own testing journey I’ve come to a place where I’ve started ripping apart who I am as a tester and asking myself, the classic Dr. Phil question, “how’s that working for you?”
I’m now at the end of the road.
I am not a tester.
You heard me.
I AM NOT A TESTER.
and, in my world, neither are you… even if you’ve got 20 years under your belt, a fat paycheck and a bad attitude which you think makes you the greatest thing to smack the devs on the ass since the black turtleneck.
I am not a philosopher, but I’ve managed to destroy the world where I work<.
If we really want to evolve testing, if we really want to find something new it’s time to throw out the hubris and rip what we do down the studs, the bare earth, the beating heart if we’re ever to find answers to some of the hard questions that have dogged testing for years:
- Why are we in testing?
- Do we really care about the software? or do we only care about making ourselves look good on the software team?
- Why is there such a love/hate relationship between devs and testers or even testers who write code and testers who don’t?
- Why is it so easy for testers to feel ostracized on software projects?
- Why do most testers not see themselves in testing in 5 years?
If you take away the tester, the dev and the software, what’s left? In “The Neverending Story” this is when there is only one small, solitary grain of sand left. I do think we’ve got a bit more than that. At the end of the day, all of we’ve really got is being human.
Let’s get to the bottom where the beating heart lies and start rebuilding on something more solid than a job nobody ever wanted until they “fell into it.” Let’s destroy the world.
Thanks for this – I’ve never seen it put quite this way before.
I’m a tester who got that way sideways and found I enjoyed it – but there remains that question of what precisely *is* it?
For me, it’s the challenge and puzzle (Yes, I am a puzzle nut and I love logic puzzles – although I do think if you’re going to destroy the world you need to do it properly, not just futz around with logic) of tracking down something that shouldn’t be happening and finding a way to fix it.
I’ve managed to avoid ostracization by taking care to always phrase what I find in terms of what people using the software are likely to want and treat the other people I work with as partners in getting that high-quality software out the door. I can’t say it always works that way, but I try.
Ultimately – are we testing because we like to break things, or because we want to see something that we can’t break? I hope I lean more to the latter.
It sounds like you’ve had a positive experience and that’s really cool. What I’m expressing above is, to be sure, extreme. I’m following this path to get to the bottom of a very specific and unhealthy attitude that can and does happen in testing. I’m doing this so that I can examine what has to happen to rebuild around something better than the dysfunction I wrote about.
If you are having a great experience on your team I encourage you to dig more deeply into why and write about it. Having people share their positive experiences is so important for helping those who are having negative experiences.
Thanks for your thoughtful comment. :)
It’s definitely easy to get trapped in the negatives of testing – no-one likes to be told they’ve done it wrong, so reporting bugs becomes an exercise in tact, management people often have this strange notion that if you apply testing at the end you’ll magically acquire quality, and it’s very easy to silo with the other testers and bitch about the whole situation – but where does that get you?
I try to keep a sense of humor about what I’m doing, and work as closely with the developers as I can – as well as recognize that they’re under a similar set of pressures as the testing team, just with a different focus. Sometimes it feels like I’m leading the charge all by myself, then something good happens and everything seems worthwhile.
Now, how can we take over the world and turn testing into something people *want* to do, rather than relying on serendipity to find the best testers ?
Re-framing testing as something people aim to do is what I see as the high-level goal. Surprisingly, there are a few places where this happens although I can count on one hand people I have met who intentionally went into testing.
I believe I’m starting to uncover why, as well. You are hitting on this in your comment above when you talk about reporting bugs being an exercise in tact. You are so right. This can be such a delicate operation and if a tester doesn’t understand tact and manners it can go so wrong
Unfortunately most training for testers doesn’t help people with any of this. It’s all about how to test boundaries, how to observe an application or how to argue that your favorite bug should be fixed.
So, right now, when someone is sold the job of being a tester, they are told that they will get to “break stuff.” Although that might be partly right, it’s also neglecting a significant skill set that’s need for success. A tester must be able to communicate effectively in extremely challenging conditions. This is a foundational skill for testing that, up to now, has been neglected.
How will this help to make testing more of something people intentionally choose for their job? If we can shed more light on skills that are required for testing to be effective, it means that, as a group, we’ll be more successful at finding and engaging people who will make great testers.
To be sure, this is only one facet of improving how people get into testing. I’ve been thinking a lot lately about tester education, especially since I’m working at Mozilla, but my comment is already too long winded. That will be it’s own blog post.
I like your comments. If you don’t have a blog, you should consider trying it out. Feel free to comment more if you have more to say ;)
For someone who says she leaves the philosophy to others, this sounds like some great philosophy! I am going to try out this idea, “I am not a tester”. I love it! Though it will be tough for me – identity as a tester is ingrained for 18 years – I think this will be a cool experiment.
p.s. I hate puzzles too.
I know that for myself I have gone away and come back to testing a couple times. I am know in a place where I am fairly confident in my own skills but with a profound understanding of how much there is to learn about the craft.
I think your questions are ones that everyone who maybe considers themselves a “professional tester” should give some thought to.
Nice post.
@Lisa: It’s great to see you own it like that. You and you alone get to define who you are to the rest of the world. No matter what that is, I will always support you.
Thank you for the great perspective on this. I think you’ve put into words the feelings I’ve had of the software industry quite a long time.
The adversarial relationships testers are commonly put into a short-timer attitude are what turned me off of testing for several years. So many places/people view testing as a foot in the door or path to something that is “better”. Never stopping to even think if they enjoy what they do right now. The testing as a stepping stone point of view acts like a blinder.
It wasn’t until I arrived at my current position that I’ve come to see beyond the blinders and came to appreciate and really care about software and testing again. There are no adversaries (ok sometimes clients), just the team working toward a goal of a kick-ass product.
Really nice post. Forwarded on to a ton of people :)
Hi, Marlena,
Coincidentally, after 6 and a smidge years testing software for a living I’ve just recently started a testing blog – http://thetestinglife.blogspot.com/.
In my other life, the one that happens in what I laughingly call my free time, I’m an author (http://www.katepaulk.com) with my first novel recently released. The two do fit together, just not in the most obvious ways – but I never do anything the obvious way!
One of my “gifts” as a tester is the ability to hit on the one obscure configuration that breaks the whole piece – and do so first time around. I usually have to work backwards to figure out why no-one else can reproduce when I can do it every time.
As a writer, well… I start at “weird” and go downhill from there. :)
There seems to be a million ways to build software, and judging by the amount of crappy software out there, it doesn’t look like anyone’s worked out the one failproof secret to building GOOD software fast and consistently (or if they have, they’re not sharing it).
So it seems like it’s generally accepted that dedicated testers can make a difference to software quality, yet if we’re so useful then why do we seem to have such a hard time of it? It doesn’t really seem like testers fit properly into many software development teams. First we’re needed, then we’re a bottleneck, then we’re the troublemakers, then we’re not necessary, then suddenly we’re necessary again.
And sometimes it makes me wonder if dedicated testing in its current incarnation is the right approach. Software itself is still such a young concept that it might take 50 more years to work it out.
All I know is right now, there are a lot of sad tester stories out there. Are we the team misfits?
Thanks for the shout-out! I’m humbled. ^_^; Yeah, destroying the world via (spurious) philosophical reasoning is actually pretty easy. It’s one step small after proving that you are God, which itself is really trivial.
I’m a huge fan of what you’re driving at here when it comes to redefining what a tester is — discovering it, really, because I don’t think we really know what a tester is supposed to look like yet. Building software is still a very young discipline, and testing software is a very young sub-discipline inside it.
More mature fields like medicine or cooking have a vocational body of knowledge upon which there’s some manner of consensus. Even though practitioners may have their own unique approaches, there’s substantial agreement on what a good patient workup looks like and what a bad one looks like; what distinguishes good duck à l’orange from bad duck à l’orange. Testing, on the other hand…nobody really agrees on the fundamentals of testing yet; on which approaches constitute good testing or bad testing.
So when it comes to going beyond the confines of what people think of as a tester, I don’t know that I’d characterize that as “destroying the world” (though some people might react that way). I’d be more inclined to go with the famous philosopher Bruce Lee: “Learn the principle, abide by the principle, and dissolve the principle.” I think to find out what testers and testing are really supposed to be, we need to learn the rules, master the rules, and transcend the rules.