TrainingConferencesAbout UsContact UsAdvertiseSQE.comRSS Feed

StickyMinds.com: brain food for building better software

Log In
 Clarify Your Search Criteria

Tips on Using Our Search Feature(s)
 
StickyMinds.com Home
ResourcesTopicsCommunityPowerPassBlogs
Home  >  Detail: Know Where Your Wheels Are



A StickyMinds.com Original

Know Where Your Wheels Are

By Michael Bolton

Send This Content to a FriendGet a Short Link to This ContentPrint This ContentSee User Comments About This Content

Summary: Drawing from his experiences while learning to drive, Michael applies lessons he learned from written rules, experiential learning, and the advice of mentors to teaching new testers some valuable skills.


Infosys
"Run over that Coke can up there with your right front tire." Thirty years on, I still hear my dad saying that. Bump--but only one--as my right front tire ran over the can. "Good," he said. "You always want to know where your wheels are."

Those words came back to me the other day in a discussion about how to train testers. An acquaintance said she wanted to teach new testers by telling them to use scripted approaches. That didn't seem to me like a way to build skill; following a script doesn't necessarily engage the cognitive processes of the learner. I thought of the skills associated with driving a car, what good teachers had taught me, and how I had learned.

There's way more to it than just knowing the written rules. When you drive a car, the rules of the road are important, but we're not always being watched and other people aren't always following the rules. The laws that nature enforces are more important from moment to moment than the rules of the road: A car travelling twice as fast as yours takes four times the distance to stop, and if there's another car coming straight at you, you'll have to deal with it right away, whether the other driver is right or wrong. Good training and practice equip us with skills to deal with unexpected, time-critical situations.

Books and classes can help. When it was time for me to learn to drive, I got a copy of the driver's handbook and my parents sent me to driver education classes. The classes taught me heuristics: Aim high while steering--don't just look at the hood of the car, instead look several lengths ahead; cooperate with other drivers and make sure they see you; don't follow too closely and leave enough room to get yourself out of trouble; get the big picture--don't just look straight ahead, check your mirrors frequently, and note what's going on around you; move smoothly--when you're off course, use light corrections in steering and speed so that you address the problem without going out of control. Hearing about those heuristics in advance, and recognizing new ones as I went on, accelerated my learning.

Preparatory procedures are valuable. Both the driving instructor and my dad emphasized several checklist items to get ready to drive. They told me to get into the habit of approaching the car from different directions and performing a quick inspection of the tires and the outside of the vehicle. Then they focused on getting me comfortable in my seat, checking that my seatbelt was fastened, adjusting the middle and side mirrors, and making sure the car was well ventilated. Just before turning the key, they had me check the gearshift lever and the parking brake, and immediately afterward, they had me survey the instrument panel--gas, oil pressure, warning lights. Dad taught me to back up close to a wall to check my headlights and taillights by looking at their reflections. No one gave me a sequence in which to check each detail, but they had me narrate what I was doing until they were sure I had absorbed the checklist. Some things are too important to be left to a script that someone else wrote.

Practice, coaching, and mentoring are essential. The classroom work had been valuable; it helped give background and structure to my learning. But the real lessons happened as I drove with a coach--the driving instructor, one of my parents, or another experienced driver--beside me. We started in safe places, such as shopping mall parking lots, dead-end streets, and quiet neighborhoods. My mentors gave me easy tasks to perform, instructing me explicitly, observing me carefully, and telling me what to look and listen for based on what I was actually doing in the moment. They directed my attention to what the car was trying to tell me and praised me for good work. The best and fastest learning happened with me literally in the driver's seat.

Good mentors raise the bar. As I developed my skills, my coaches put me into increasingly more challenging situations--busier roads, worse weather, freeways, and so forth. My dad peppered me with questions every few moments to develop my cognitive skills and to make sure I could juggle a bunch of tasks simultaneously. "What color is the car behind us? How many people were in that police car coming the other way? What's the name of the street on the right? You have to process a lot of information as you're driving." These exercises helped me shift my focus rapidly between the big picture and fine details. I was put in situations where it was safe to make harmless mistakes, and then my mentors suggested alternative approaches and had me practice them. When I did something potentially dangerous, they did their best not to overreact. My own reaction to a scary situation was usually more than enough to make the learning stick.

Freedom and responsibility are closely linked. After I got my license, my parents let me use the car on my own--short trips at first and then longer excursions. They gave me freedom but they also required responsibility. I had to be able to tell them where I was going, how I planned to get there, and when I expected to be back. If they saw anything risky in my plans, they would make suggestions like taking another route or avoiding rush hour. When I did get back, they asked me specific but reasonable questions about things that I had done and seen. My parents guided me but they didn't try to control me. They realized skill doesn't really develop when someone else takes control over your process. As I demonstrated responsibility, they granted me more freedom, but as long as I was using one of their cars, I had to remain accountable.

Our task teaches us. One of the biggest sources of feedback about my driving was the car itself. It engaged my senses. The visual information from the speedometer and the tachometer reinforced the audible information that I got from the sound of the engine. If I pushed on the brakes too suddenly, the car would pitch forward. If I turned too hard, it would rock to one side. Very occasionally, a more serious mistake would trigger the sound of a horn or a dirty look from other drivers. When my Dad was driving one day and noticed that a wheel had gone out of balance, he pulled over to let me drive so I could feel the vibration of the steering wheel. He also reminded me to keep my eyes moving around the car, to listen for new sounds, and to be aware of new smells. His goal was to remind me that there were often clues available when there was a problem with my car or with my driving.

Learning for drivers, just as for testers, is ongoing, and I still make mistakes every now and then. A few years ago in Santa Barbara, I tried to drive through a flooded underpass where the water was a good deal deeper than I had expected. Suffice it to say that I didn't die, and I won't make that mistake again.

When we test, we need to know the written rules for our product--the documented requirements--but we also need to recognize, deal with, and report important things that the written stuff doesn't cover. Books and classroom learning can prepare us, but the learning is richer, deeper, and more adaptable when it's heuristically based and experiential. The software that we're testing and the people around us often provide us with valuable feedback about what to test or what might be wrong with our testing process, and even experienced people make mistakes every once in a while. Coaching, mentoring, and, above all, practice are vital to developing expertise, and as we gain skill, we can take on and account for increasingly challenging work.

There are still some bad drivers out there. Sometimes the problem is that they're completely unsupervised; more often, they simply haven't developed sufficient skill. Wouldn't things be even worse if the unskilled people were driving under the control of someone else's script? {end}

How do you learn the complex cognitive skills of testing? Of other disciplines?

Join the conversation below or start a new one in the Member Comments section.


About the Author
Michael Bolton lives in Toronto and teaches heuristics and exploratory testing in Canada, the United States, and other countries. He is co-author, with James Bach, of Rapid Software Testing and a regular contributor to Better Software magazine. Contact Michael at mb@developsense.com.

Back to Top
 
 

Member Comments
Add Your CommentExpand Comments
 
Comment:    
by jaideep khanduja 6/3/2008

Hi Michael, that was a good correlation between learning driving and becoming a software tester. Basically few things emerged out strongly – Documents, Mentor/ Coach/ Manager, your own learning abilities and the speed at which you learn and apply – all these matter a lot.

Few of your lines were really excellent, like:
“Skill doesn’t really develop when someone else takes control over your process” – that show how important it is to write your own test script and more than that testing perfectly by a script written by someone else. Experiencing on your own is very important rather then sitting on the side seat and learning...Read On

 
Back to Top



 
Ads By Google
What's This?
 
 



Home   |   Resources   |   Topics   |   Community   |   PowerPass



© 2010 StickyMinds.com. All rights reserved.
StickyMinds.com is a division of Software Quality Engineering.
Privacy Policy    Terms & Conditions    Link to StickyMinds.com    Feedback


Rally Software

Infosys




STARWEST 

Agile Development Practices