Followers

Thursday, April 23, 2009

Testers Rock!

Software testing adds more value than it is often given credit for. When I think about the tools that I use on a daily basis I can see that testing actually helps to drive the economy. Hardware and software vendors receive value from testers who are not even responsible for testing their products. Part economic stimulus….

Testers also help to drive education. How many books have been written and who receives value from this. Publishers, vendors, and people, perhaps mostly other testers, receive benefits from this. We also have a tendency to drive education in other ways that may not be so evident. What and how we teach our children seems to be a bit different than what is generally expected. Our kids generally ask questions and do not accept the status quo. This adds value to the classrooms they occupy if they go to a public school. Most of us self-educate and help train other testers. Part teacher….

Some testers have developed philosophical stances and ideas that have gone past the boundaries of applying only to testing. Most hold some philosophy that includes systems thinking and realize how one thing can affect another. Adding value to how one might think about life. Part philosopher….

Testers help to protect consumers from crimes that could be committed against them by checking the security of bank applications and credit applications, etc. Part security guard….

Testers do not accept things at face value. In work and out of work we investigate what people say, claims that are made. We research and look for evidence that proves or disproves the claims. Part private investigator….

Testers report issues to agencies when they find them. Whether it is through announcement or through emails, we communicate our findings to the people that matter outside of our sphere of everyday work whether this involves local shops, governments, or online sites. Part philanthropist….

Testers are quick to share information with other testers, managers, developers, etc. Whether in the office or outside, we have a tendency to not withhold information that could be of value to someone else. Part reporter….

When testers write a report to get an issue addressed, whether in the office or outside of it, we have a tendency to have already gathered the facts. We present arguments to show why these issues should be addressed. Part lawyer….

Look at all the value that has been added to the system that a software tester is a part of!

We may feel stuck sometimes; or wonder about what we are doing and why we are doing it, but for most of us it is as much a part of who we are as what we do.

So, whether you are a lump-of-coal, a beginning tester who is trying to find out what direction to head down or how to improve your skills, or if you even belong in the world of software testing; or a diamond that has helped cut out and illuminate the path for other testers, maybe feeling stuck at a juncture in the road - remember one thing – Testers Rock!

Wednesday, April 15, 2009

Balance

I set aside three hours for a solo “swashbooking” session. I picked out a few books from a local used bookstore a couple of days prior and left them untouched in a bag until today’s session.

The titles that I selected came from different sections in the bookstore; ranging from philosophy to biography. These are the books that I selected:


The recurring theme that I found throughout the books was the struggle of humanity to balance the logical/doing and emotional/feeling sides of their inner selves. I found this theme based on notes that I jotted down when something “popped out” to me in the pages that I was reading.

I found the session very interesting and the theme well worth contemplating. It is not that difficult to find oneself leaning towards one side or the other, throwing off the balance between the two sides of the inner self. I took a walk in the woods with Henry (my pup) and contemplated what I had learned.

I thought about how if the balance is thrown too far off in either direction, the person usually has to be made aware of it by someone else. Perhaps a child or a spouse has to pipe up and say, “You are not listening to me”. Or a coworker/friend/family member says, “Hey, you really should lighten up.”

Balance is important in all aspects of life or complications can arise. These complications may not appear immediately. Take the person who overeats due to an imbalance on the emotional/feeling side. How long before the scale screams at them? Or if the person is imbalanced on the logical/doing side; how long before they end up with physical issues and/or end up in the ER?

So, how does one strive to maintain equilibrium? The first step to doing this is to be aware of you. Be aware of your physical, mental, emotional, and spiritual self. Be aware of the systems you are part of, those you affect and those who affect you. Once a person is aware of these things, it becomes easier to see when the balance is off and to put something in place to even it out.

Spending too much time at the desk working on a problem or a deadline? Maybe you cannot take a week’s vacation in the Bahamas, but you can go for a walk, take a bike ride, or dance like crazy for a few minutes.

Feeling a bit emotionally drained from certain circumstances, got the blues? Maybe you cannot make yourself feel better, but one of the best cures for this is to do something for someone else and lighten their load. Putting a smile on someone else’s face winds up putting one on your own.

Striving for balance may seem alien or difficult at first, but the effort is well worth it to yourself and those around you. Be aware of yourself and take care of yourself, enjoy your life.

Friday, April 10, 2009

Competitive 'Swashbooking'?

Over at the Software Testing Club, which is now at a membership of nearly 2800 software testers, I started a discussion on How do you keep your brain sharp?. Lots of great answers were shared, but one in particular caught my attention. James Bach, developer of the Rapid Software Testing course, said he practiced "swashbooking".

Everyone who knows me, both in software testing and outside of it, knows that I am a huge fan of books.... and James Bach's teaching/ideas/philosophies. But what exactly is "swashbooking"?

Have a look at the Brothers Bach participating in a round of Competitive Swashbooking.

While watching the video, which is both entertaining and informational, I had a couple of thoughts. When I have needed to research for a particular subject - I stuck to the subject at hand. The problem with this "philosophy" is that not all subjects are equally represented informationally. Many times I have encountered dead-ends in research due to a lack of information that was subject-specific.

"Swashbooking" appears to have the ability to help create a reference book in the brain. This could help me to "remember" something that I can use to help formulate an idea, give substance to a thought, or back up an arguement/opinion.

I am definitely going to try this out. There are at least three used book stores in the area. This weekend I am going to visit at least one of them, purchase some books, and set myself up with a timed session on "swashbooking".

***Thanks to Jon Bach for posting the link!

Sunday, April 5, 2009

Exploratory Training

Last weekend my girls and I travelled “Downstate” to pick up a German Shepherd puppy.


Henry (German: Home Ruler) is 3 months old.

Needless to say, puppy training is top priority at this time.

The number one thing that I have discovered is that training a puppy is a process that needs to take several stakeholders into account. Henry, myself, my daughters, my family, friends and neighbors are all affected by the training that the puppy receives. Each of the stakeholders expects something different from the end result – which is “Henry the dog”.

Henry, I imagine, expects to feel safe and loved, and be fed, walked, and played with. I expect Henry to treat me with respect and to not be destructive. My daughters expect to have a buddy. My family and friends expect to be able to come over my home and not be jumped on or frightened by Henry. My neighbors expect Henry to leave their property alone and not frighten them or their children and pets.

Before the process of training a puppy begins, it is important to know what the expected result of the training is and who (which stakeholder) will be inevitably affected by it. The expected result of the training is determined by what the desired behavior of the puppy will be when each phase of the training is completed. How do I determine the who, what, where, why, when, and how of the training?

First I need to consider finding some oracles. I have set up a network that allows me to consult with three human oracles (these oracles are breeders and/or owners of dogs, two of which are German Shepherd specific), and there are several oracles that I have found online (these are sites that cover basic puppy problems and training techniques).

These oracles have, and undoubtedly will continue, to provide me models of training that have worked for them. They will provide me with heuristics as well. (Heuristics are fallible ideas or methods that may help me simplify and solve a problem. [Kaner and Bach] For further information on oracles and heuristics please see the Introduction: The strategy problem and the oracle problem page at the Center for Software Testing Education & Research Web Site.) Because these heuristics are fallible the odds are high that part of the solution will be to address a common problem associated with training/raising a puppy; and part of the solution will need to be specific to the stakeholders involved. There are project differences between the human oracles I have access to and my personal project. These differences define the ultimate success or failure of the mission. Some examples of the differences include, but are not limited to: children in the home, rural vs. suburban living, schedules, and the “purpose” of having the puppy to begin with.

In order to reach success for this mission/project it is imperative that the differences are addressed along the way. This will require *Exploratory Training: simultaneous learning (what is the potential cause of this problem, whose problem it might be, which part of this is not working), training design (how could I address this problem, what could be the missing piece here, what if I…), and execution (apply training method).

Training manuals, programs, and processes will get me only so far in any project. The scope of any project may be defined for me, but how I approach the project within my own mind is not. Oracles that I use may have value to me, but they are not the rules of application to me. Heuristics are themselves defined as fallible, but how I choose them determines some value to my project. It is impossible to perform rote activities to train a puppy successfully. When training is applied in this manner there is a lack of bonding and loyalty. This will inevitably be an issue with all that are involved in the project. Exploratory Training is what encourages and enables that bond to be created and the relationship to grow in a positive direction. It is when using this approach that one begins to feel invested in the project, the project becomes personal, and it’s success begins to matter.

*Based on the definition of Exploratory Testing by James Bach.