Kata for testers

What is a kata?
Kata is a Japanese word used to describe a specific set of movements that are practiced in repetition. Kata has roots in martial arts such as Aikido and Kendo where a choreographed set of movements is the dominate form of training and practice for new practitioners. The philosophy of this repetition of movement is not to move toward a successful moment, but a continuous improvement of your ability to the point that you eventually perform an action without conscious thought.

Inspired by Robert Martin’s tweets about kata he uses, I thought of a few kata that I use to train and improve myself as a tester. There are many of course, but these are the ones that I practice frequently. If you have some that you have found to be beneficial, please mention them to me!

Chess

Heuristic: Look into my crystal ball

A good chess player has the ability to predict their opponents next few moves based on the piece just played. A few years back when I was working at coffee shops, I was fortunate to get to play with great players almost daily. Unfortunately we all fell out of touch and I don’t play too often any more. Yeah yeah, I know, there is chess on the internet. It just isn’t the same as playing in person but maybe I will give in and try a few games on chess.com.

Anyhew. Chess will not give you the magical ability to predict an important failure in a piece of software but, it does prove that it is possible to do so with practice. Experience will give you a catalog of important patterns that you can use for future discoveries.

Sudoku

Heuristic: There is more that one way to skin a cat

Sudoku has become a pretty popular game over the past few years; I think there is a regular Sudoku puzzle in the NY Times right along with the traditional crossword puzzle. In the easier versions of this game, you may only need to use a single method to complete the puzzle, making 1 – 9 on a column or row for example. On the more difficult puzzles you have to recognize several different criteria to fill out a single cell. You may need to check that you have 1 – 9 on the row or column as well as within a single grid along with other possible criteria.

To parallel this to testing, you may need to recognize several different things happening simultaneously in your system to notice that something important is happening.

Scrabble

Heuristic: Focus and defocus

This is how I play scrabble, especially in the middle and later in a game; other people probably have other methods they prefer. I use the focus and defocus heuristic (credit to James Bach) to find new possible word combinations that might be lurking in those many letter tiles laid out on the board.

Looking closely by pinpointing my eyes in on a certain area on the board then slowly expanding your viewing area allows me to find interesting patterns that exist in the already played tiles. Sometimes this pays off and I get a high scoring word, sometimes I find that the pattern is insignificant and I focus and defocus again.

Role Playing Games

Heuristic: Oh, excuse me; I’m just not myself today

Role playing games are lots of fun. I prefer futuristic, cyberpunk styled games like Rifts and Shadowrun but they have played a fair share of D&D too. You get to completely become another person for a few hours on game night. You think like that character, you speak and interact with your environment like that character would and you solve problems like that character would.

The ability to do this in the testing world is paramount. The ability to become another person for a little bit and see the software as that person gives fresh perspective. Something that seems innocuous to you from a technical point of view being the expert tester that you are might be the most annoying thing in the world to the 65 year old lady that has to use your software every day for her job. Become someone else for a day, you might see something interesting.

I am looking for a new group to game with, so if you are in the Houston area and stumble across my post, send me a message!

One Comment

  1. Hey man, if you’re going to mention Role Playing Games, Chess, and Soduku, have you considered Car Wars?

    Allthough I am not excited about the violence, Car Wars is a game that involves tradeoffs – armor, space of vehicles, size of engine, cost, speed, acceleration, accuracy, etc. It’s incredibly complex.

    I spent a huge amount of time, energy, and effort in understanding the tradeoffs involved in that game. I’d recommend it to anyone looking to grow as a tester – while I admit, Soduku and Chess may be more socially palatable exercises. :-)

    [JR] I haven’t played that one before, I will look into it. Thanks for the suggestion!

Leave a Reply