Three Phases of Testing Experience

This is a quick replay of a response I gave to a new employee about what it meant to be a tester. Posting here as it’s far easier than tweeting.

Phase 1: DO testing – Someone tells you what to do, you do that thing, observe the results and report them back. You are effectively a machine and could be replaced with a script.

Phase 2: THINK about how you do testing – Someone may tell you what to do, but you think about the request, the system you are to test, the possible inferred requirements, etc. THEN you test. Congratulations, you are a thinking, human tester. Despite claims of the potential ROI, it would be difficult, if not impossible to automate you out of a job.

Phase 3: Think about how you think about testing – You study and bring understanding of multiple disciplines to testing software. This could include things like programming theory, tools, interpersonal communication and group dynamics, economics, social sciences, psychology, sociology, UX design, an understanding of oracles derived from prior experiences (you know how other things work, so you can relate what you are testing to them and compare), vertical specific knowledge (this is how things are expected to work in the back office of a bank, etc).

Two Step Addendum

Does ‘Give a shit, Prove it‘ mean you personally have to take ownership of, and single handedly complete the thing for which you are giving a shit?

Great question, thanks for asking. My short answer is no. My long answer follows.

You can absolutely care enough about something that you DO something to make it happen, but that doesn’t mean you have to work in solitude.

It also doesn’t mean you necessarily have to stay with it until it’s done.

Here’s an example.

I was on a committee focused on managing a specific process. Over time, we found ourselves spending an ever-increasing amount of time discussing the limitations of the current system in which the process lived. Eventually I got fed up enough with the ‘going nowhereness’ of these discussions that I took ownership of the project to migrate to a new system (build a new system to be more correct). Did I have the skills to build this system on my own? Absolutely not. So we found a team of people to work on the project under my direction.

I ran this project team for months, relatively successfully in my eyes. After some time, it may have been close to a year I don’t remember exactly, I realized that the manager of the employees working on my project would be a better fit to run the project. He had better connections to the other teams involved in the eventual implementation, he had visibility to the non-project work assigned to the employees working on my project, and he had knowledge of the infrastructure involved in running the soon-to-be system.

So I handed it off.

Did I fail? Did I do something wrong? Should I have never touched the project if I wasn’t the right person to see it to the end? I say no, no and no, respectively. At the point in time where I realized I was not the best person to see the project to completion, I did feel a bit defeated. But with hindsight, I can see that I helped get the ball rolling. I can’t say for sure, but I don’t know that the project would have even started by the time I handed it off if I hadn’t gotten frustrated and started it. Because of that realization, I feel I did something good for the company.

Two Easy Steps to Success!

I’m tired of whiners.

I hear people complaining about the way “things” are. They come and vent about how they don’t like something, and then… silence. They just stop talking just when the story SHOULD get good. They don’t have a “and this is what I want to do about it” portion of the story, let alone a “this is what I AM GOING TO DO about it” part. Why is that? Can’t they see that if you don’t try to fix the problem you have, it’s not going to go away on it’s own?

I’m also tired of people half-assing things. If you don’t like where you are, then get yourself to where you want to be. Sounds simple, right? Why would you continue to go somewhere, either to a job you don’t love, or to a company you don’t like day after day?

For the first group, stop complaining. If you actually cared, you would do something about it. For the second group, if you’ve decided you actually want to make the place you’re in better, I came up with a simple two step system that will lead you to success in almost anything.

Step 1: Give a shit

Step 2: Prove it

Now, before anyone gets on my case about how simple these steps are in theory and how hard they are in practice, all I have to say is, I know. If it wasn’t difficult, it wouldn’t be worth it. I’m sorry if that isn’t what you wanted to hear.

These steps must be used together. If you give a shit about something without proving it, you accomplish nothing, change nothing, and only end up annoying yourself. If you don’t give a shit about what you are doing, you have nothing to prove and therefore will likely give up shortly after trying.

Wanting to be good at something, or wanting to change something along gets you nowhere. It affects no change. If you actually want to change something, you need to want it so bad that you DO something about it. In essence, you need to give a shit, and prove that you give a shit to yourself, or others.

But Erik, that still sounds ridiculously oversimplified, this can’t actually work, right? Do you have some examples? Why yes, Erik pretending to speak as a reader, I do.

Fed up with the way testing certifications are pushed on testers and organizations with wild claims of ROI and other garbage? Keith was, and he did something about it.

Think adults should fucking be allowed to talk like adults sometimes? Ilari sure did (and he proved it too).

Want to help disadvantaged people learn skills that can get them a decent job with a future, oh, and maybe turn a few of them into kick ass testers too? Done. (If you’re reading this Keith, Joe or Paul, keep me in the loop about Columbus)

Feel opportunities for testers in your area are lacking? Are you going to prove you care, or just sit there?  How about founding something like this, or coordinating something like this, or planting seeds for things like peer conferences in your area?

Looking for ways outside of the existing, accepted training systems to help raise the skill level of testers in a meaningful way? Matt did, and he proved it.

Are you working as a consultant somewhere and feel you need a desire to influence things outside the scope of your role? Do you sit there and ignore it, or do you do what Pete did and reach out to outsiders who can freely share their perspectives and ideas (because they aren’t on the clock) and possibly help sway things in the right direction?

Do you think kids, especially those with special needs could be represented better at the administrative level? What do you do, sit in your classroom (give a shit) and continue to get annoyed, or do go through administrative training (prove it) so you can get yourself into a role where you can affect change? Sorry no links for this one, but trust me, it happened.

Want me to keep going? OK

Did you just wake up as a tester or test manager with years of “experience” only to find you really don’t know jack crap about testing? OK, don’t hate on yourself too much, it happens. The real question is what are you going to do about it? Are you going to sit there and feel sorry for yourself, or are you going to prove that you give a shit? Here is what I did when I found myself in this place (all since August 2012):

  • Attended CAST 2012

  • Started following key people (now over 400) in the testing industry on Twitter

  • Got Matt Heusser and Pete Walen to come onsite to do training/consulting

  • Started running tester games at work

  • Started facilitated tester discussions at work

  • Gave a lightning talk* at the first ever MMTMD

*I didn’t actually speak per se, but my thoughts were eloquently conveyed thanks to the Android text-to-speech British chap.

  • Started a tester meetup

  • Put together a team to compete in the NRGGlobal tester competition run by Matt Heusser

  • Convinced Paul Holland to bring RST to Cleveland so I (and others in my area) could attend

  • Registered for BBST Foundations this fall

  • Accepted to speak at CAST 2013

  • Registered for CAST 2013

  • Signed up for TestRetreat

  • Promised participation in the AST Leadership SIG TLC event the day after CAST 2013

  • Bugged various members of the Miagi-Do school until one agreed to challenge me at TestRetreat

  • Oh, and I almost forgot, I started a blog

I don’t mean to brag with this list. I am not trying to sound like I am better than anyone but myself.  A year and a half ago, none of these things were even on my radar, let alone things I was thinking of doing “someday”. This is my attempt to show that over the past year, I started to give a shit about my career and education and the growth and opportunities for those around me.

So what is my point with all of this? I have a few. The idea of my two step process has been floating around in my head for a while. The more I thought about it, the more I needed to get it out for my own sanity. I also hope that somewhere in all of this rambling, one person finds something that makes them want to get up and DO something. Oh, and if you are that person, it doesn’t count unless you actually do the thing you want to do.