Category Archives: Reconstruction

Backtracking for testers

“I cannot reproduce it.”, I admitted to my scrum master. He replied with:
“You can do exploratory testing, but you have to note down the steps, which led to this situation.”

How did I get in this mess?

I sanitised this story BTW.

On my screen were some filters and buttons. It was not possible to use the action button any more. That was NOK. I made a partial screen shot and put it into my test charter. I would later come back to reproduce it.

Somewhat later I looked at the screen shot. I thought it would be easy to reproduce the situation. After three attempts I gave up. That was NOK.

My scrum master had a point though. I had lame excuses like no recording tools and extra bureaucratic steps. Back to The Bug. If I could find it.

A little bit of theory

Backtracking is a term I picked up during my study. It took me years to understand the principles.

It is basically solving a labyrinth: continuously pick a direction and walk, until a dead end is encountered. Then go back to the place where the last wrong decision was taken and take a new direction.
Rinse and repeat.

This tactic can be applied to find the toilet or to solve a puzzle.

Sorry for this theory interruption. I will now continue with my blog post.

A lot of practice

The first thing was to examine the screen shot again. I realised I was on the wrong screen. So I switched screens.

Then I rebuilt the situation. I added the filters with the same values. I pressed the action button. That went right. I kept my mouse on the button. It could be used again.

I used the other buttons on the screen. After a few presses I returned to the action button, which was still completely functional.

I did a reset and started to rebuild the situation. If I pressed the other buttons before the action button, then it might become insensitive. After adding the last filter I pressed on one of the other buttons and clicked on the action button. It was still functional. Business as usual.

It was time for my visual memory. The adding of the filters went from left to right. It felt great. Every time the set of available filters became smaller. It was like dealing cards. The stack became smaller and the cards were put from left to right.

I looked to the most left filter. It was a date filter. I already had filed some bug reports on that one. Wait a sec. This was my starting point for bugs. I might have set it to a wrong value and quickly checked the side effects.

The word quickly triggered my mind. I was so used to this filter, that all date filter related actions were absolutely normal for me. It became natural and therefore easy to forget. Because I moved my mouse so fast, the movement was not stored in my memory. That made sense to me.

So another attempt to reproduce my bug began. I set the date filter to a single bad number and added the other filters from left to right. And I pressed the action button. It worked. Then I tried to use it again, but that was not possible. Bug reproduced.

Now I wanted to reduce the number of steps. My assumption was that the invalid value in the date filter triggered the bug. Time for a short cut.

I reset the screen and only added the bad date filter. The second push on the action button was useless as expected. I was able to backtrack my steps and reduce them afterwards. That was OK.

At the end of business day my scrum master groaned, when I showed him the bug.
“What else did you find?”

3 2 1 dissect

Looking for a new blog subject was not that difficult. At that moment I was making jokes.

The trigger for the post was my thought process during lunch. This painful moment reminded me that I have to careful with rehearsing. Especially in front of my family.

Jokes have to be rehearsed many times to get the right wording and timing. I do not mind a good joke. It just takes time.

The theme of the post was jokes. So I thought back which jokes I had used in the past.

This way I remembered the University of Technology. In my graduation year there was no presentation program. I wrote with a marker on transparent plastic slides and used an overhead projector to show the slides behind me.

I cut the slides to pieces, so I could add special effects like vanishing lines. This could be funny.

From then I started my journey to today. All kind of moments of used jokes I added to my list. After the first draft I had a mind map with two levels. When I looked more closely, I saw an unordered set of stories.

This is not particularly bad. Ed Catmull calls it the ugly baby. The creative process starts with rough ideas. At the early stages the writer has to be patient. It can become a beauty of a story.

This brainstorm did not automatically lead to sections. The paragraph about Harry Potter reminded me of a song of Queen. That became my first section title.

For another section I added ‘Expect the unexpected’. This advice is used too many times, but it was consistent with the vanishing walls

Next stage was to convert short word descriptions to snippets of stories. This was not difficult. At least I had some Fieldstones or stories to share.

It was time to continue in a new version of the mind map

mind map of first version blog post

In the second version of the mind map I continued to add notes to the branches.

The Fieldstones were short and hard to read. I had put pieces of my memory in a mind map without any transition, so I added some words to describe the setting.

Now I had to structure the mind map. I had already ordered some branches, so I added the first branches in one group.

It was about using jokes in the present and future. The next section was focused on my workshop at TestBash Netherlands. If someone without a test background can understand my jokes, then it is good.

The third section was about jokes in the office. Yes, I like the humour of programmers.

The last section was a transcript of some jokes during a presentation about a performance test. During the rehearsal of the jokes I thought about some visualisations to increase the impact of the jokes. These movements were added in the last weeks before the talk.

The grouping of branches led to the following sections: ‘expect the unexpected’, ‘practice makes people smile’, ‘it’s kind of magic’ and ‘what about this?’.

There was an extra section about twittering. I started with a simple story about my reaction on a single tweet. It began to grow. I still had the tweets stored in a mind map, so that saved me a lot of typing.

Then came the editor question: does it fit? I wanted to write about making jokes for my own presentation. I marked the branch with a red cross. It would not be contained.

A frequently used branch for me is Metadata. It is a way to remind me to add extra information to the post. I had found the Chicken picture beginning this year and this became the banner.

The categories were more difficult than usual. How would I categorise a post with jokes? So I introduced ‘Fun intended’. It is a variation on ‘Pun intended’. Fun rhymes on Pun, so that’s good. Fun!

mind map of second version blog post

My work title of the blog post was ‘Adding humour’. That was good enough. So I made a link from the title to the central object.

[Update author: my opinion is not the same as the author of the referred characters, but I believe in the goodness of the good characters.]

The Office section contained a reference to Harry Potter and that is difficult to follow for people who do not know this character. I solved this by using some common sense humour.

This was one of the few times that I used a joke as a writer in this post. Normally I add more jokes to make a post more digestible. But this would lessen the effects of the described jokes.

The Twitter section was still in my mind. Was it really off theme? I noticed that I was not the only one cracking jokes. Other people like the street artist and the scrum master made jokes about things unrelated to my workshop.

What the heck.
So I decided to put it back in the blog post.

Then the editing started followed by reediting. Etcetera.

The research part is a rewarding one. I checked facts in my blog post. For the Harry Potter section I had added a joke about muggles. While watching a movie I heard the American word for muggle. I went into a bookstore and looked up the word in the book with the screenplay.

The proper spelling of the quote from a song of Queen was checked using a search engine.

mind map of fourth version blog post

This ends my dissection of my previous blog post. I hope that you and I learned something. I certainly did. I basically wrote down my steps and thoughts.

mind map of this blog post

On my work I have test charters and bug reports which describe my actions. I can justify my tests.

For me it was one step more to tell a story to testing peers at a test conference.

Maybe you have something to share. Really. Just take your time.

Some experiences of you are really worthwhile for your peers. Especially things you just do automatically like me writing a blog post on a smartphone using mind maps.

There is a supporting testing community out there constantly looking for short and long stories, talks, and workshops for testers.
Please have a look.