Red enveloppe. Showing texts “Free Gift as a Service” and “mindfultester.com/free-gift-as-a-service”!

Free Gift as a Service

A few months ago Jokin Aspaziu gave a gift to the Test Community. He added Spanish subtitles to an online video. Testinsane.com is doing the same with a big set of mind maps. On a Saturday someone placed a question on a forum about a checklist for testing. I just referred to this big set of mind maps.

So here is my gift, which costed me more than 100 hours of work in my free time (and another 4 hours for blogging this). I am sharing this for free by giving multiple views on a software test exercise. After all it is my way to put my thoughts on the web.

The exercise

[Preparation teacher:
Explore the program extensively yourself before using the exercise.
Be sure, that there are enough smartphones (iPhones are not supported :( ) and laptops plus wifi for the exercise.]

“You have to test a multiplication. You have 5 minutes to prepare. I am the PO or Product Owner. You can ask me any question.”

[My observations for this and similar exercises:
Two things can happen:

  1. Attendees are writing a lot of test cases.
  2. Attendees ask a lot of questions.

FAQ teacher
Q: why do we need to test a multiplication?
A: this is written in a new programming language.

Q: what can be multiplied?
A: all kind of numbers.

Q: are real numbers supported?
A: yes.

Some advices:

  • Give only information, when asked.
  • Act, if you know everything.
  • Tell a consistent story.]

[After the five minutes]
“What are you going to do?”
Or “What did you find out?”

[In case of silence or answers about test cases you can ask the attendees:

  • What is your mission?
  • What are you going to test?
  • What are the priorities in testing?
  • Etc.]

“You have 10 minutes to test the application. Here is the link to the application: 2015.mindfultester.com/test_this.html”

[Additional information:
Give only information when asked.

Depending on the purpose of the context of the exercise you can encourage people to make notes.

In the past there were several reasons why I had to part from my smartphone:

  • It does not operate on an iPhone.
  • The battery of an attendee’s phone is low.]

[After 10 minutes of testing]
“Time is over. I want you to form pairs and debrief each other.”

[In case of uneven number of attendees let one attendee debrief to you.]

After the debriefing
“What were your experiences?”

[If people continue to talk about bugs, you can ask about exploring or notes. Did you accomplish your mission?

Other question:
“I was the PO. Why did you not ask me about [program]?”]

A workshop

The reader is of course advised to embed the exercise in a workshop. A good example is note taking during testing as subject. What must be noted during testing?

The first part could be focused on personal experiences and information from bug registration tools. An overhead projector can be used to show some notes as used in practice.
Let people voice their opinions and let them discuss the options.

In the second part theory could be presented like ET templates. ET is short for Exploratory Testing and not for a cute little stranded traveller looking for a roof and candy.

The last part is the exercise. As described above.

Tooling

I was looking for a way to engage all attendees at the same time. It would be great, if they could do the exercise at their own pace. Not everyone has a laptop, but smartphones are quite common these days.

So I wanted to have a tool to make an app for mobile phones. The development environment and deployment of the application for workshop should be free and it should be able to support more than 20 attendees at the same time. Hum, these sentences sound like requirements.

I looked to different tools. There were a lot of cloud based tools, but they had restrictions on users or mobile platforms. Also had time consuming pitfalls like learning to code. I try to avoid proprietary code.

Then I noticed Twine. This tool had a similar interface of a CMS or Content Management System for web sites. It was free and simple to use. Twine is used to tell a story with branches. So I could add several happy endings. Or in the case of a bug a bad ending.
It can even be used for a RPG or Role Playing Game: please enter the room. Hit the baddies and take the loot. Cheers. Have another healing potion. Rinse & repeat.

Then the painful embedding of Twine html in my web site started. It looked bad. Some forums did not have proper information, so I had to place it outside this blog space.

But I had still more than enough Mb left over in my hosting space. So I cruised through my personal Command and Control Centre of my hosting provider and discovered that I could use subdomains. That sounded pretty cool. 2015.mindfultester.com was born.

The next step was to move the file to the internet. I used ftp. Very primitive, but good enough.

Another speed limit was imposed by the awkward URL. That is a lot of typing. On Twitter I discovered, that bit.ly is used frequently. It reduced the number of characters to be entered after the slash to a reasonable digit. I looked on the web site. It was free. What was the business model? Marketing could use the information of the click behaviour. Rather useful for keeping tracks of campaigns. Only this information would cost money.

A similar tool is the QR code. The user needs a QR reader or a photo to URL converter on his smartphone. On the Internet I found several QR code generators for free use.

Programming

The difficulty with bugs is, that they are small and sometimes hard to detect. With a high reproducibility bug reports I had to investigate a lot. The consequence was that programmers got a reproduction path with more than 10 steps. From me.

My basic idea was to make a calculator with buttons for digits and a lot more. I first tried a rough version to explore the possibilities; it worked and I was happy for a short time. A calculator lookalike would cost me lots of work, so I skipped it. So the prototype slowly evolved in the program of the featured exercise.

How would I be able to keep track of the right state of the program? A state transition diagram offered a simple way to design it. Then a new proof of concept or PoC was needed to verify, whether I could program it. Then I PoCed again and again.

My auto generated html file looked good on a desktop. There were some drawbacks on a mobile phone: small characters and difficult to manoeuvre. So I added some space to handle big finger tips.

History

In 2014 I was invited to give a 2 hour workshop for the Let’s Test conference. In the last years I had developed a strong preference for a work and learn experience. So I wanted to have some exercises, which could be done by the participants. The featured exercise is one of the three.

When I read the blog posts of previous conferences, I noticed a pattern. Surprisingly not every tester at this context driven test conference was extrovert. So the exercises should be done by introvert testers. At their own pace in their own Circle of Comfort.
Then I used all my humour to convince them to come to my workshop.

On the first day of the test conference I met a shy tester. She was looking for an interesting talk or workshop. I suppressed the urge to mention my workshop. This would not be consistent with my blog post and invitation for introvert testers.

In hindsight the exercise was out of place. With all the hours spent I did not consider to drop it. What were the bad signs?

  • I flipped through the slides, until I discovered that I had to do two exercises in succession. So there was no good mental hook for this exercise.
  • The exercise was linked to the message: little tricks lead to nice combinations. Were the actions of the attendees really tricks? On a high level of abstraction maybe.
  • I ran over my 45 minutes limit with 100 %. The exercise was one of the causes of this time expenditure.

Another observation was, that the QR code and bit.ly did not accelerate the start of the actual testing.

Related posts

For the testing of this exercise I used different people.

My last upload before my workshop was for me another exercise in exploration. The actual exercise was not completely smooth.

Just for fun

Why is it not possible to explore outside the domain of software testing and make decent notes?
And make a smile on the face of the reader?
Just by breaking a bike lock.

Special mentions

The one, who inspired to write this blog post, is Matthew Middleton. He asked a puzzle for testing on a forum.

In order to get so many views on the exercise I used a variation of the Rule of Three. This rule basically states, that there are at least three questions to be asked. Why not views?

Have another one. Take a health potion mind map.

Mindmap of this blog post

Hit the baddies road and take the loot exercise. Cheers.

I want to thank Michael Bolton for experiencing his calculator exercise. Thanks for Carsten Feilberg for his workshop about Exploratory Testing at Tasting Let’s Test NL. Also thanks for Elisabeth Hendrickson for writing about her experiences with ET and Jean Paul Varwijk for putting ET templates on line (arborosa.org). And finally special thanks for Ray Oei for making me rethink testing.

Afterthought

I can make a test scenario with 100 % coverage of the shown tests and only good positives. Some might call it checking.

I can make a test scenario with more variations in state transitions, which leads to some good negatives. Some might call it testing.

Some people would love to automate tests.