Tuesday, March 26, 2013

Frivolity Can Be a Tester's Best Friend

Today, as I was checking out software change, I created a number of groups and populated them with posts so that I could use them later. I could see my intern looking both amused and quizzical, so I let him in on the joke.

"The groups are names after Smiths albums. The Posts are the songs associated with those albums."

He then looked at me for a bit and asked... "but why would you do that?"

This gave me an opportunity to show him a technique I like to use for scenario-based and data based testing. I like to populate my database with characters from various things. The only requirement is that the data has to be consistent. To this end, I will often use albums and songs from various bands, characters from Anime programs, or video game characters. Through this, I can often see if something is out of place because it won't fit into its context. An example, I will often pair up people into relationships who are already in relationships or I could see being in relationships based on their context (Yuna and Tidus from Final Fantasy X, Edward Elric and Winry Rocbell from Full Metal Alchemist, God Dust Woman and The Chain from Rumors, etc.).

In  a way, this makes for a treasure trove of "self referencing data" but not in the strict sense. Strict self referencing data works a lot of the time. Think of the statement "This is a text window that should accept exactly 61 characters". If we are checking a text window to confirm that it will accept exactly 61 characters, then yes, that will be helpful. It won't be so helpful in other contexts, where we want to know more about the relationship of that text box with another element. This is why I like putting in my mix of semi self referencing data and using it. I used this process for years to validate immigration forms and to see if relationships were being maintained and the proper areas populated from the database. Again, I could have used any number of names, or been literal with things like "FirstName LastName" in a variety of combinations, but I find it a lot more fun to run a variety of tests and see who shows up where. If Ryoji Kaji is paired up with someone other than Misato Katsuragi, I'll recognize it very quickly.

Of course, there is a danger with this approach, and why I don't rely on it too much. If I need to share data with a number of people to help with testing, this idea is less helpful, because unless they have the same cultural touch-points that I do, they will not recognize the relationships. Thus, this was a technique I used as a Lone Tester, but I have de-emphasized it as a steady tool lately. Still, in a pinch, if I really want to see if I think I'm getting what I should be getting, I'll call upon my data bank of semi self referencing data to see if something works the way I expect it to, and then we as a group will define a more appropriate group data set.

Sometimes, just having a little fun and goofing with some data that has a meaning, not matter how odd that meaning might seem, can be a blessing when we test. It engages us, it puts a smile on our face, and sometimes, it invites a reply by someone who gets the joke. All of these help keep someone like me engaged and entertained in the process. When I'm engaged and entertained, I can be formidable in the things I can accomplish :).
Post a Comment