Friday, March 23, 2012

Sympathetic testing

One of the reasons I like BBST courses is that there is a focused reading on a topic. There are questions asked about a document. You might have read the document before but one seems to learn more when there is a focused reading of the same document under time pressure. In the Test Design course, I learn about "Sympathetic Testing". There seems to be an excellent document explaining how to learn an application. The focus is on learning about the application and not testing the application.

Do go through this article by Michael Kelly here.

I decided to learn about the application ClipX in a similar manner to how Mike Kelly learnt about the Magnifier tool. The first tour described was the 'Feature Tour' where the focus is to move through the application, getting familiar with all the controls and features one comes across.

I installed the application ClipX from
Based on the Mike Kelly's blog post, I prepared this mindmap.
Application Tours
The next few hours, I will be focusing on the application tours. Let me start with the feature tour.
When I was installing the application, I found one interesting behavior. The 'Run the application now?' popup appeared even before the progress bar on installation window was complete.
Click here to view the partial report of the feature tour. I did not do a complete feature tour.

What did I learn from this exercise?
It was a different experience to focus on learning about the application and not hunt for bugs.

Rich model
As the focus shifted from "Can I test for this bug" to "What else this product can do", I learnt about the product in detail. The additional information will help me frame better tests and target each of the areas I learnt. This also helps me in relating a test on a single feature to its effects on other feature. The rich model helps me think of the big picture.

Better bugs
As I learn more about the overall application, I ask questions related to the design of the application. If I were to concentrate on a single feature, my question might be limited to the particular feature. Looking at the bigger picture, I can find bugs related to the absence/presence of a particular feature. I can question the very existence of a feature instead of a bug in a feature.

Risk - Coverage - Priority
I can talk to my stakeholder with my initial report and ask for the areas to be tested. Based on my initial tours, I have an idea of how a test might affect the other features. How risky is a particular feature? What percent of coverage would be achieved in terms of features? Which feature demands highest priority testing? I have a better answer to such questions after this exercise than before the exercise.

Learn in five minutes
After I finished prepared the report, I realized that few of my tests could have been avoided if I had seen other features before. The next time, I will quickly go through most of the options within five minutes and then focus on tours.

I am still learning to do sympathetic testing well. Have you experienced Sympathetic Testing? What do you think? How do you learn about the application? How much time do you spend?

Leia Mais…

Thursday, March 8, 2012

Blink test using browser tabs - Blink tab test?

Michael Bolton describes Blink Test and many other quick tests here:
Blink Test
Find an aspect of the product that produces huge amounts of data or does some operation very quickly. Look through a long log file or browse database records, deliberately scrolling too quickly to see in detail. Notice trends in line lengths, or the look or shape of the data. Use Excel’s conditional formatting feature to highlight interesting distinctions between cells of data. Soften your focus. If you have a test lab with banks of monitors, scan them or stroll by them; patterns of misbehaviour can be surprisingly prominent and easy to spot.
I had to test the (supposedly) same registration form across different services.
Here is the image of the different services that we support:

Either you can open the registration form on one service, test it to your satisfaction and close the form. Then you can move on to the next registration form.
You can open the registration forms for all the services and test them simultaneously. 
I followed the second approach and opened each form on a new tab.

Then I thought of checking if there was any inconsistency across forms. To start with, I clicked on each tab using the mouse. As it was time consuming and distracting, I switched to Ctrl + Tab. There were six tabs open. I pressed Ctrl + Tab to move to each tab. Slowly, I increased the pace. Then it was fast. I had the keys pressed and it was a blink test in action.

Here is the sample video highlighting the Blink test.The test was quick and highly valuable for the cost involved. Apart from checking the basic look and feel of the form, position of different elements, I tested for error messages for each field.

The only issue I faced was that I had to align the screen's position after every request sent to the server on each tab so that there was very little difference in the position of the screens. Once the position was set, it was easy to concentrate on the different elements.

Have you tried any similar tests? What was your approach?
I would like to hear about your experience.
By the way, I thought I will name the test as Blink Tab Test :)

Leia Mais…

Wednesday, March 7, 2012

Introducing MUG – Mobility User Group, in Bangalore

Introducing MUG – Mobility User Group, in Bangalore

Are you a techie, gadget geek or developer in Bangalore and passionate about Mobile Platforms, if so join the Mobility User Group (or, MUG) to debate and connect with pros.
What is MUG? MUG stands for Mobility User Group. This is a group of passionate individuals who will meet regularly to learn and debate the technologies driving new age mobile device platforms.

If you are interested in watching the videos of the First MUG Hangout to see the type of stuff we cover, click the link below:

This times Hangout, on March 10th will feature the following topics (see the event details on Facebook for more information):

Product Hangout:  Microsoft's take on Mobility - Windows Phone 7 and Windows 8
Technical Hangout:  Developing web apps for iOS and Android
Q&A and Networking

Fiberlink Software
3rd Floor, Regent Insignia
#404, 100 Feet Road, Koramangala 4th Block
Bangalore. 560095.
Landmark: Above eZone electronics store, Opp Sukh Sagar restaurant

Leia Mais…

Tuesday, March 6, 2012

Where was this option till now?

Launch Twitter on any browser, login to your account and note the icons displayed next to the Search field. An icon when clicked displays your profile details and other options and 'Compose new Tweet' icon. Now, lets get to the scenario which prompted me to write this post.

I was following a particular conversation on A conversation is different from an isolated tweet as you will a tweet in reply to another tweet. Isolated tweets are individual tweets and not typed using the Reply link. You can recognize a conversation by the text 'In reply to SomeUsername' below the tweet.
Once you click on the 'In reply to SomeUsername' link, the entire conversation is displayed.

And if you notice carefully, once you click on the link, you will see an additional icon next to the 'Compose new Tweet' icon. Where was this icon till now?
What will you do if you were the tester? Let me make it very simple - there are only three icons to be tested. The icon to see more details, the 'Compose new Tweet' and the 'Close all open Tweets'. When you launch twitter, you will not see the third icon. Let us relate this behavior to the software we test everyday.

There might be options or functionality which are no so obvious. In fact, they might be enabled based on some action. These options might not be displayed by default. I think this is an interesting situation for a tester. Many times, a tester has to focus on things which are not just obvious but what is hidden behind the obvious.

As a tester, what will you do? I am not interested in answers like 'As testers, we will receive requirement documents which will mention all the functions.' or 'I test based on what the programmer asked me to test.'
When I thought about such scenarios, these questions came to my mind:

  • What are the hidden functions?
  • Are they important functions? Should they be hidden by default?
  • Is the user informed about such functions? Should the user be informed that some options are hidden? I am thinking of contexts where displaying all the options by default is not a good idea. Maybe games where you would like the user to discover options. 
  • Have you tested for all of the hidden functions?
  • How do you know if you have tested for all the hidden functions? Who has the list of all the hidden functions?
  • Why are are some functions hidden? What should be the criteria for hiding a functionality by default?
As a tester, this exercise should be interesting. Look at your software and discover the hidden functions :)
Who knows, you might find a bug that was hiding from day 1...

What other questions come to your mind. Let me know through your comments.

Leia Mais…