Google Analytics


To search for specific articles you can use advanced Google features. Go to and enter "" before your search terms, e.g. CSS selectors

will search for "CSS selectors" but only on my site.

Saturday, February 13, 2010

Baking & Testing?

Are there other testers out there who like to bake? I always liked baking even as a small child. I remember trying all kinds of weird experiments as a kid. At the same time I was experimenting with baking I was also playing with a chemistry kit. I added a few things from under the sink and got some really cool results, like a thermic reaction that melted a pyrex test tube. But I digress...

I was never good at cooking. The whole trying something, add a pinch of this, a dash of that and keep tweaking it until you created the dish you want. Nope, never worked for me. I liked the certainty of 5g salt, 12g baking soda, 7g ginger, 355g all-purpose flour, etc. A pound cake is a pound of sugar, a pound of flour and a pound of butter. There are a few other things in there but the whole concept is that you have equal portions of sugar, flour and butter. Little tricks like creaming the butter with the sugar before adding the flour are good to know.

Does this have anything to do with being a good tester? I know that certain things in a baking recipe are there to counterbalance other things in the recipe. For example, the amount of flour and the amount of butter matters. Too much or not enough of either will change the baked item. On the other hand, if you have a recipe for a cookie which calls for raisins, you can usually leave the raisins out and it will be fine.

I will play with things like that. I learn which things are notably acidic or alkaline. Those things are usually there for a reason. In chemistry you have ionic bonding and you have mechanically mixes elements. In baking, if two ingredients (chemical elements) will produce an ionic bond during the baking process you cannot mess with the ratio. Just like NaCl is Sodium (highly explosive oxidizing metal) and Chlorine (a toxic gas). If you have a ratio of 1:1, when bonded they form table salt; totally harmless (unless we consider high blood pressure).

How does this relate to testing? First thing which pops to mind is writing a defect report. Some details are important and other things can be put in or left out.

How do I know what is important and what is not? Patterns. After years of baking I start to notice pairs of ingredients which always go together. I start seeing them in terms of a ratio. I realize they are important. During testing, I do analysis on the defects reported (by me and others). I understand why the bug occurred. I start to see patterns. These two things go together.

I also look for differences. What is different from a pound cake and a victoria sandwich? What difference does it make? During testing, if I try something one way then another does it seem different? If testing a web page and I go to page X then to page Y. Later I go from page Q to page Y. It takes three times longer for page Y to load. Why? Was it because other things happened and there is a memory leak on the server? Or is page Q doing something to make page Y load slower? Look at the POST from page X, look at the POST from page Q. If they look the same then maybe it is the server. Also, when I go back to page X then to page Y. Is it slower now that it was when I started testing?

Patterns. Look for patterns.

Baking also reminds me of programming. When you write a recipe you have the ingredients (data) and the instructions on how to use the ingredients (program). The order you put the ingredients together (execution order through the program) can make a huge different. When baking, you want to make sure you have all the right ingredients. You also have to plan out how you are going to use them. Sometimes you have to prepare two parts at once. They both need to be ready at the same time so you can combine them together later.

So are there any other bakers out there? Do you se any parallels between baking and testing? What about baking and programming?

No comments: