Once upon a time, I was in a meeting in a conference room with a projector on the table, chained to the desk with a combination lock — the kind that has four dials with numbers from 0 to 9. The bulb on the projector was burned out, so it was a big interfering brick. Word was, the admin had forgotten the combination, so there it stood.
It occurred to me that I had nothing to lose by trying to crack it. I did some math in my head and determined that it would take just four uninterrupted hours to try every combination from 0000 to 9999.
This meeting was a two-hour requirements meeting, so there was half of it right there…
Now I wouldn’t be worth my reputation if I just started at 0000 and tried every combination until I hit 9999. No, no, no. I am a rapid tester, schooled in the use of risk-based methods and heuristics – especially when stakeholders want to ship as soon as possible.
So before the meeting started, I asked a few questions of the people around me.
“Does anyone know the combination to this thing?” I asked. (Always good to check some major assumptions that can haunt you later)
The conference room was 1215.
Our address started with 2445.
No love there either.
“What’s Tracy’s birthday?” I asked, referring to our admin.
No one knew.
I had already taken stock of the spinners — four spinners, 0 – 9. I spun them to see if any were sticky, maybe that would give me a clue as to how the tumblers were seated. A sticky number may be a clue.
I quickly tried 0000, 1111, 2222, and up.
Nope. Just like a good password, this one wasn’t immediately obvious.
Some people offered ideas (welcome to paired testing).
“Try the phone extension — #16787.”
I tried 1678 and 6787. Nope.
“2468,” someone else offered.
Didn’t sound too random to me, but it was easy and quick to try anyway.
I blindly spun the spinners to get something more random.
Other ideas from people around me:
0101 — binary — it was the room closest to the developers. I tried that and 1010, 1011, 1101, 1001, 0001, etc.
Then 2525 (that was how old someone thought Tracy was).
Then I remembered to write my ideas. This was a testing problem after all — just like a bug repro.
I wrote one combination and tried to change the last number 0 – 9 as I pulled on the lock each time to see if I could feel it getting looser. Then I tried the next spinner over, and spun it 0 – 9 (the heuristic “one factor at a time”, OFAT as opposed to MFAT for “many factors”).
Then it opened.
Just like a good math exam, it doesn’t matter that I got the answer right, it matters how I GOT the answer. Show your work. And thank goodness I had a little diagram to show my last few tests.
For a few happy seconds, I was a hero, a magician, a svengali, as a few people laughed at their astonishment of what they had just seen. It kind of sucked that it opened right there in the meeting. It was a bit distracting, and hard not to celebrate my accomplishment even a little bit.
Since then, I have always carried with me a combination lock to present to testers and take notes on what I observe as they try to discern the combination. The exercise is very much like reproducing a bug. You try things on your own and you try to elicit data from sources.
A day came when I was in Walgreens and found a combination lock with letters instead of numbers. You could also set the lock to a custom word to make it easier to remember. I thought that was a great idea.
I have tried this on professional colleagues like James, Rob Sabourin, Shmuel Gershon, and Justin Hunter from Hexawise – a company that makes a combinatorial testing tool! I wrote their questions, recorded their tries, watched their techniques, and asked them questions as they tested. I also invited them to turn the tables on me by setting their own combination and giving it to me to discern.
Then, about two weeks ago, I met a 12-year-old at a peer conference about testing. It was the son of one of the attendees. His name was Steven and he seemed bored, of course. It wasn’t even a testing conference, after all, it was a *writing* about testing conference. Snoozefest for him, for sure.
Never one to shy away from new perspectives on testing no matter what age, I asked if he would be interested in helping me with a problem.
I handed him the letter lock.
“I forgot the combination to this lock,” I said. “What if I said ‘If you find it, there’s a half million dollar prize…? What would you do to open it?”
I said he could ask me anything he wanted. I took out my notebook ready to observe what he tried.
The following is a report from Steven about what happened next.
I present it free and without commercial interruption…
“I went to a conference in Colorado with my mom. It was a group of software testers. This guy, Jon, gave me a lock and told me to try to open it. He said I would get a half million dollar prize. So, I tried to lift the metal part of the lock because when it got stuck, that’s probably where the combination was. That’s what I have done on some other combination locks.
I tried doing that but it didn’t work.
Then I started asking him questions, like “Was it something you forgot in the office?”
I tried the combination “DOOR “, but that didn’t work.
Then I asked him “Were you trying to remember something?” and he said “Yes.” So then I tried “BUGS ” and that didn’t work either.
Finally, he gave me a hint and he said the first letter was T and the last letter was S. When I heard that I tried TESTS because it was the first thing that came to my mind when he said that and it popped open!
Then I asked him “Where is my half million bucks?”
After that, we went back inside, and I asked him to give me another problem. I kept trying and trying and trying and this time he gave me a few hints and then I finally got it — the combination was “WRITE”.
Then he said I could set the lock, so I wanted to try to give him one. I gave him one where I put the letters into the default code of WORDS and then I picked another set of letters from another side of the lock. They didn’t make a real word. But eventually he got that.
Then I tried giving him a combination of “DALLAS”, which was too long, so I used “DALAS”. But as I was setting it to that combination, after I turned the key to set it, I tried to open it with that combination and it wouldn’t open. I mixed it up and tried “DALAS” again. But that didn’t work. I realized that as I was setting it to that combination, I think I mixed up some letters.
I tried doing the letters just before and after the ones in DALAS, but that still didn’t work. Then I didn’t know what to do, and then I told Jon and he tried to open it but he couldn’t either. I tried working on this for many hours, but I couldn’t get it open. L
I remembered that you can open a lock with a soda can. I’ve seen on the internet where you cut it in like little hill shapes, and then it’s like a rectangle on the bottom and you fold it in half and then slide the hill part where the button is inside the combination lock and then when you slide the hill part over you can push on the lock and then it should open. But I cut a whole can apart and I did it wrong and I messed it up.
I was really upset because I really wanted to get this lock opened. I got so frustrated that I went downstairs to play video games on the computer.
Jon came down and said that I actually had given him a new challenge. He told me that this was like when testers couldn’t reproduce a new bug. So he told me that this would be a really great challenge for him and next time he brings this to some students, they could try to get it open.
Steven working on the lock as I record his ideas (photo by Lisa Crispin)
Here’s what I noticed in his report:
1) Authenticity: he was upset and frustrated at his mistake of forgetting the combination once he set it.
2) Obsession and drive: he said he worked on the lock for many hours. He never asked for a hint, but I felt bad and gave him one, which he accepted and improvised ideas around.
3) Cognition and recall: he remembered seeing a video about hacking a lock (be careful, Mom).
4) Integrity: he admits he messed up the soda can hack.
5) Curiosity: he tried things.
6) Inquiry: he asked questions.
7) Humor: “where is my half million?”
He also gave me a web reference to where he had seen the soda can lock hack, but for security and ethical reasons, I’m choosing not to disclose it.
This is a wonderful combination of skills and traits that make me think this kid has a bright future.
Yes, I had rolled my eyes when Steven mentioned something about needing a coke can to open the lock. He explained, but I could not visualize what he was talking about. It was no different than working with someone with a thick accent trying overseas. I needed him to show me.
The next day, he did. He found a can, cut it up into little pieces and used one of those little pieces to insert around the hasp in an attempt to make a shunt for where the tumbler met the lock. I thought that was pretty cool. I obsessed about it with him for several minutes.
I think he came up with this idea because of his guilt for forgetting the combination he had set. Call it peer respect, but it seemed important for Steven to make sure I could get this thing open before I left.
That blew me away. Unlike my teenage nephews who could not care less what I do for a living, this young man was engaged and engaging. They call these kinds of kids “problem children” in school, but give them a real problem to solve that interests them and the “problem” goes away.
His hack didn’t work, but that wasn’t the point. When his mother said he felt awful about forgetting the combination, I knew it would take a mere 3 seconds to think of what I would say to him. I told him I saw more heart and energy in his idea than I see in professional testers sometimes, and even though it didn’t open, I would have a challenge for the plane ride home *and* a story to tell about it at the next conference. At the very least, I said, I’d have a blog entry about it. And here it is.
I’ll have to take his Mom’s word for it that I made a difference to him somehow, but even then that’s not my aim. Steven confirmed for me that the spirit behind the lock exercise is a good one, no matter the age. Maybe we’re all just grown-up 12-year-olds looking to apply ourselves to something that needs our skill and insight.
Well done, Steven. Given more time, you would have gotten that lock open, but that’s beside the point. There’s a future in this business if you want one, and all you have to do is show up and try different combinations. I can’t think of a better life metaphor than that, so thanks for the life lesson.
NOTE: Steven tried some four-letter words above despite it being a 5-letter lock, but he forgot to mention (and so did I) that there was a blank space on the 5th spinner, so the ideas were legitimate tests.