Shego: The first thing that every villain needs is...

"The basic tools of the trade."

There's a kids show that I watch with my sons every now and then called Kim Possible. It's a smart, unoffending show that empowers youth to face their fears and foes in a creative and humourous way.

There was one episode where a villain (Sr. Senior, Jr.) was getting trained by another more-experienced villain (Shego, pronounced "She Go"). Shego started her lesson by asking Junior what's the first thing that every villain needs. The response got me to thinking about how I might answer that question if I were in a similar situation.

What are the "basic tools of the trade" for a Software Tester?

I think that in our case, we need to:
  1. Arm/prepare ourselves with Testing Techniques that uncover bugs
  2. Be able to effectively communicate our findings and testing information
  3. Be able to identify Risks.

What else? I think those 3 are the most basic, and they don't cover things like attitude, motivation, or the ability to deal with stressful situations. You'd think that a Villain wouldn't ask for training in those, and I don't think a Tester would either.

I'd be curious to know if there are any additional "basic tools of the trade" that I've left out from my short list above. I tend to lean towards the "softer skills" during interviews and when assessing potential testers, but I'm not sure which one(s) are worth identifying as "Basic Tools". Many of the ones that I've been exploring are not "basic" -- they are more "intermediate" or "advanced."


Shego: "The second thing that every villain needs is a Plan."

Good advice. =)

Welcome to the Knowledge Age

Okay, maybe I'm splitting some hairs between "Information" and "Knowledge", but I'm choosing to define "information" as simply the summary or statement of the raw data itself (i.e. observed facts without opinion), and "knowledge" as providing you with the ability to make good use of the available data.

You can see some of this beginning to take shape right now. Blogs, like the one you are reading right now, are a key factor in helping us to interpret fact through opinion and personal experiences.

How do you know which car to purchase? Pick up the Lemonade Guide. Make an informed decision before you buy!

How do you know which company to work for? Research them first. There are many places to look.

How do you know which TV or Stereo to buy? DON'T start by asking the sales staff at your local electronics store. Start by asking your friends or family their preferences and experiences. If you can, check out some of web forums where they talk about their purchases.

If we're going to survive in this world, we're going to have to know how to make the right decisions. To do that, we're not only going to need access to timely information, but we're also going to need access to the risks involved in certain situations.

Want to travel abroad? Don't just look at the pretty brochures! Take into account the weather conditions, health risks and the political conditions. If you don't, you might get lucky and have a good time. If you're not so lucky, you might end up in a foreign hospital, jail or even dead.

Do you still want to let a coin flip make that decision for you?

We need more than just Information. We need to know how to process that information to help us make good, informed decisions. When we can do that, we will truly have "Progress".

I do believe that we are on the cusp of a new "Knowledge Age". The signs are appearing around us every day. Unfortunately, the capitalists and war mongers are also out there helping to drag us back into the Dark Ages. We can get through these challenging times if we're strong and help each other out. Not everything needs to be about who's right, who's wrong, and how you can make a fast buck. (Note that I don't think that making money to provide for yourself, your family, and/or to enjoy life is a bad thing. Making money solely to achieve power, prestige, or at the expense of other life is wrong in everybody's books.)

I've read enough Science Fiction stories to know that there are probably an infinite number of ways that we can make the Earth a really bad place to live. It's my planet too, so I'd like to think that we can make the best of it if we just work together.

Okay, so what's the connection to Software Testing? If we apply this idea to what we do, a good Software Tester provides information. Good, credible information is unbiased and reproducible (whenever possible). That doesn't excuse the Software Tester from their responsibility to provide additional opinions, alternatives, and risks that may not be apparent simply by looking at the testing information that we provide.

Testers are a part of the development team, and therefore a part of the overall decision-making process. If you don't care enough to play an active role in the decisions affecting product releases and the future of the company you work for, then you waive your right to complain if things don't turn out the way you think they should.

I've no patience for whiners. They shouldn't work in the Software Industry at all. Neither should scapegoat-hunters. Next time a problem arises at work, how will you react? What will your contribution be?

Welcome to the End of the Information Age

I remember having some discussions about 15 years ago about the Internet and what it was useful for. At the time I was still in University, and the Internet was primarily used to link together educational institutions and government agencies.

We didn't have the Windows operating systems that are so common (rampant?) today, so most of the applications we had were text/character based. Applications like "gopher" and "telnet" were used to navigate the various libraries and information sites on the 'net, and programs like "Pine" and "Elm" were popular for checking email from our Unix accounts.

For the most part, if you were in college or university and you needed to do research on some topic, the Internet was likely to provide you some limited access to information databases online. (Real libraries provided the really useful information though.. no shortcuts.) Other than that, email was very useful for trying to get a hold of authors and researchers anywhere in the world. (Cool!) That was it though. If you weren't into Newsgroups, then you probably had a life and never gave the Internet a second thought.

By the early 1990's the Mozilla web browser appeared on the scene (running on the X-Windows interface on our Unix accounts) and changed the way we viewed information forever. The gopher sites were slowly replaced by more flexible and visually-appealing web sites. By the mid-90's, commercial businesses were jumping on the HTML-bandwagon and starting to make use of the Internet to appeal to a slightly different market - the technologically-savvy! Email accounts were gaining in popularity, as graduating students started to expect these accounts as a standard part of their professional lives too.

Sometime before anyone really started to worry about the "Year 2000" (Y2K) problem, the Internet was already becoming the "Information Superhighway" and the World Wide Web was becoming the standard interface to that information.

With any advancement in Communication we usually have Progress. When information travels faster, we can work with it sooner. Just think about what the Telegraph, Telephone, Radio and Television did for the world. Now we have the Internet, and the world is a smaller place once more. We can watch News as it happens from anywhere in the world. We can research the latest papers, articles, journals, and theories. We can shop and start a business within a global market. We can be entertained, post our thoughts, send messages instantly to others, and more! The Internet is truly a rich, multi-media opportunity to express our ideas and share information with everyone on the planet.

There's just one problem. There's a lot of crap out there too. I don't just mean the obscene material that some people of little intelligence or low moral standards think we should know about... I'm talking about the poorly-researched, incomplete, often-misleading, assumption-driven, over-hyped, or just plain incorrect information that is passed off as "fact". If you don't know how to tell the good information from bad, then just remember this simple rule:

ALWAYS IDENTIFY THE REFERENCES AND CHECK THE SOURCES!

"Houston, we have a problem!"

So, now we find ourselves floundering in a sea of information, and we can't always tell the useful from the useless. Welcome to the end of the Information Age.

Just knowing the facts (true or otherwise) isn't going to help you. You have to know what to do with that information. You have to know what the assumptions were that the information was based upon. You have to know when the information you are reading is incomplete. You have to know how to separate the useful from the useless. You have to know how to act upon receiving the correct information. In essence, you have to know how to process the information into useful action.

Welcome to the beginning of the Knowledge Age.

Some incomplete thoughts...

There are a series of related ideas that I want to discuss, but I don't think I'll have the time to properly describe them here. I'll make a quick attempt to put some of my unpolished ideas down in upcoming blogs, but I'll have to save the clarity and completeness factors for a later date and/or forum.

As with all ideas, discussion helps me bring out the best arguments. If you have any ideas or comments to share, please do so with the functionality available through this blog mechanism.

Thanks. Cheers!