Toughest Testing Challenge 1.2

Generate  functional tests (ideas)  for the below image

Yes or No
Yes or No
Advertisements

Configure, Operate, Observe and Analyze

In one of my previous post I wrote about the below Windows  OS (XP with SP2) error message. This is one of very interesting behaviors that took me few hours to crack down.

As a novice Window’s(OS) user.

Access is denied.

Ah!  I am the only user of my machine, and I am the one who created this folder, no one else has any rights to restrict me from accessing my own folder.

Make sure the disk is not full or write-protected.

What the hell! Don’t say all this nonsense. I didn’t protect it from writing. I can write whatever I want in the disk. How do I know the disk is full? How do I write-unprotect? Or an unwrite-protect 😉 ?

That the file is not currently in use

No, I am not renaming any file. I am renaming a folder, what is your problem?

User annoyed and calls customer care.

Now, as an advanced computer user.

Access is denied.

Looks like the permission settings for the folder is changed, may be my wife? Son? Or Pet? Possible. Let me see the permission setting for the folder. Oh! This user has full access. Then, what is the problem?

Make sure the disk is not full or write-protected.

Nope, my drive has enough space, not write protected.

That the file is not currently in use

Files? I am renaming a folder. Let me see if the folder is kept open. Yes, so let me close and try. Still I am getting the same error.

Annoyed user might solve the problem by logging off or closing all files and folder or restarting the machine, which forces him to close all the programs kept open.

As a testers, start analyzing (Step 4 of testing Analyze, Step 1: Configure, Step 2: Operate, Step 3: Observe) the error message and follow the error message to see, to find the problem area.

Access is denied.

Does the application provide reasons to the Error? Yes it is it says

Make sure the disk is not full or write-protected.

The basic disc properties say it is either full or write-protected.

That the file is not currently in use

No, I am renaming a folder, but still let me check if the folder is  kept open? Yes.

So, let me close the folder and rename it. Even after that I am getting the same message.

Are there any files inside the folder?

Yes, there are few.

Are they open?

Yes, a word document inside that folder is kept open.

Is that causing the problem? Let me close it and try.

At last I can rename it, so “When a file inside a folder to be renamed is kept open, the user is not show with an appropriate error message” the problem summary?

I have just solved the problem but haven’t got the exact steps to reproduce.

The problem was identified without knowing the proper base step up or configuration. So let me go to base state, also let me note down or take a snap shot of the current state where the problem was first spotted, including other files\folders those kept open, processes running to name a few.

So, what is the base state? I may even restart my machine or log off or close all opened files and folders.

Step 1: Configure

Let me log off and log in. Note down the entire process running (and use some tools like Systracer that takes a snap shot of your machine)

Step 2: Operate

1.    Open the Disk Drive (Say D :\)

2.    Open the folder (Say D:\Test)

3.    Open a file inside the folder (Say D:\Test\test.doc)

4.    Use back button to get back to disk drive

5.    Try Rename the folder

Step 3: Observe

Ah! This time I am getting a proper message.

So, what could be the problem?

Let me try changing the sequence, let me do this

1.    Open the Disk Drive (Say D :\)

2.    Open the folder.(Say D:\Test)

3.    Open a file inside the folder. (Say D:\Test\test.doc)

4.    Close the folder

5.    Reopen the folder

Now the sequence of opened windows changed, now file first then the folder.

Nope! I got proper message. Tried with different types of file kept open like excel, txt files, folder within folders and also be keeping few more similar file types open in same\different folders.

With no success decide to get back to the dirty environment and try again, I opened few other windows ,files, browsers and application those were kept open when I first found this issue, and tried all the above steps, this time I noticed, I was  able to reproduce the error once in a while but not consistently. But after more than an hour I was not able to find the exact steps or pattern to reproduce it.

Then decided to quit and try later (Plunge and quit), but that one hour of exploration gave me confidence that it can be reproduced.

Few days later with lots of windows and browsers kept open I tried again to reproduce this. Initial few attempts were not successful.

When I was about to rename the folder, I noticed one of my friends pinging me in IM, so I went to the browser and replied to him, then came back to folder window to rename the folder.

Whoopee! I got error message I am looking for this time. It looks if I navigate between different windows I might be able to reproduce, but even trying that didn’t reproduce the error consistently. What next?? Trying out few other ways and finally was able to narrow down the steps to reproduce it consistently.

And, Here are the steps to reproduce.

1.    Open the Disk Drive (Say D :\)

2.    Open the folder (Say D:\Test)

3.    Open a file inside the folder  (Say D:\Test\test.doc)

4.    Use back button to get back to disk drive

5. Wait (approximately) 10 seconds

6.    Try Rename the folder

7.    Bingo!

Note to Readers:

  • Heuristics applied to solve are of James Bach’s Learning Heuristics SACKED SCOWS

Scouting Obsessively – discover the sources and tool you need
Authentic Problems – engage the mind
Cognitive Savvy – work with the rhythms of the mind
Knowledge attracts Knowledge – the more I know the easier I learn
Experimentation – make learning vivid and direct
Disposable Time – lets me try new things (I tried this in my disposable time)
Stories – are how I make sense of things
Contrasting Ideas – lead to better ideas (Skepticism, Critical thinking, Lateral thinking, Systems thinking)
Other Minds – exercise my thinking and applaud my exploits
Words and Pictures – make a home for my thoughts
Systems Thinking – helps me tame complexity

Also, Procrastination , Plunge In and quit.

  • How to reproduce is solved. Now find why this happens?
  • Never let the user to get annoyed. As a tester, analyze every behavior of your application.
  • Read How to Investigate Intermittent Problems to learn the ability and the confidence to investigate an intermittent bug.
  • “There are no accidents” –Master Oogway, Kung Fu Panda(Movie)

FaceBook Logoff

I have this habit of logging into any shopping site like Flipkart with same ID, same time in two different browsers (Firefox and Chrome). With one of the sessions, I browse through the items, and other one to add to the shopping cart. This is very helpful to me, to do shopping faster.

I thought I would do the same with Facebook as well. I would use one of the sessions to read all the status updates and other session to chat or render the videos and watch, so I can browse through all the updates from friends in quick time. But I observed logging into second browser forces to log out from the previous browser session

Is this a problem?

I don’t think as a tester you can decide if this is a really a problem assuming either one of those scenarios as an industry standards ;-).Even if one of those scenarios is set as an industry standards it is not necessary to follow them blindly. So Face off 1 yourself as a user to analyze such scenarios.

We cannot think of everything before we start.

You don’t know what you want until you see it.

While shopping user (like me) has two sessions opened. I am done with my shopping .I do check out after adding all the items to the chart and make payment, check my mailing address,which  takes close to 5 to 10 minutes. And then I log out of this session but completely forgot about the other session opened in different browser, and if the user is using a shared computer which is very common in India. So, here it looks it is better to log off all the sessions in the machine if user log off from a session. But one way it is helpful to user if he can access more than one session at a time.

So, which is the correct behavior? It is always decided by what your users are up to. So face off like a user and analyze the observed behavior.

Even let say Flipkart decides to change this and allows only one user session similar to Facebook by maintaining the sessions in server instead of cookies. It should be communicated to user in a very positive manner by highlighting the security risk. Any change like this cannot go without educating the user. Users who are very used to such behavior may not accept those changes.

User satisfaction comes from handling change, not mitigating risk.

Wait. Did I say it is the user always? No(w), I am seeing some new terminology being used these days apart from user friendly, its advertiser friendly ;-). Sometimes you have to consider advertisers as well, so no harm in annoying user for some time.  There you should not think about user friendly close buttons.

Aware of your potential user\customer very well, to analyze what you observed is really a problem. None of the so called industry standards or testing techniques like orthogonal array, boundary value analyses or whatever it is, will help to capture or analyze such scenarios, and we can’t estimate for such analyses in advance. So

Apply your sapience and heuristics. Don’t follow rules.

“Hell, there are no rules here, we’re trying to accomplish something” ~ Thomas Edison

Note to Readers:

  • Here I have given just one possible scenario that I generally do as a user, I like you to bring\think in different perspective to analyses.
  • I had a vague idea about this log off session, was thinking on how to shape this in to an article. Finally this got this shape after  reading this wonderful post by Nathan Smith Estimation is bunk

1 –  Face off (movie) – A revolutionary medical technique allows an undercover agent to take the physical appearance of a major criminal and infiltrate his organization.

I hesitate to hesitate

After reading Jerry Weinberg’s tweet

“We learn little from victory, much from defeat. Don’t think in terms of Win or Lose. You cannot always win, but you can always learn”.

I started thinking (Ah! as usual Jerry makes me to think better) what helps me in learning something better every day,

I,

Don’t hesitate to try new ideas

Don’t hesitate to explore

Don’t hesitate to practise

Don’t hesitate to say “I don’t Know”

Don’t hesitate to ask for help

Don’t hesitate to help

Don’t hesitate to question useless practices

Don’t hesitate to debate against the contradicting ideas

Don’t hesitate to appreciate

Don’t hesitate to appreciate and learn from women. I hate discrimination by any form. Also let me express my views on diversity by gender. Studies and Research may show or prove that female brain and male brain work differently,but I believe  every individual brain is unique so I don’t believe in diversity by gender. I obey what my brain\sapience\heart\ gut feeling says than research by someone else.  So I don’t support diversity by gender, all homo sapiens are unique by their own way,all are wonderful colleagues and lovely friends . Lets move on…

Don’t hesitate to agree

Don’t hesitate to disagree

Don’t hesitate to say Thank you

Don’t hesitate to say Sorry

Don’t hesitate to struggle

Don’t hesitate to change views, if proved wrong.

Don’t hesitate to do mistakes [but never repeat it]

Don’t hesitate to speak the truth as is.

Don’t hesitate to appreciate and learn from juniors.Please don’t weigh people based on several days they spent in office\work, instead weigh them by  their ideas, thoughts and the effort they put in.

If you haven’t tried any of these don’t hesitate to try now, and if you have something to tell me don’t hesitate to put them in comments 🙂

Happy Learning!

-Dhanasekar S

Share

Be Prepared…

My previous post Focus on Defocusing ended saying “Problems unfold over time in ways that are often not predictable”. That is the fourth principle of  Context Driven Testing. You can never avoid problems, all you can do is be prepared to face unpredictable problems. Similarly you must be prepared to grab the opportunities that knock the door that are often not predictable.

How to prepare oneself for such situations?

Let us look back at the Journey of A R Rahman and learn from the legend how to prepare oneself for such situations. He lost his father at very young age,Since the pressure of supporting his family fell on him, he joined Ilayaraja‘s troupe as a keyboard player at the age of 11 and dropped out of school. Then he composed jingles for advertisements , later he moved into film music by Mani Ratnam. The salary he got for composing music for his first film Roja was 25,000INR. He would have earned this in a day or two by composing few jingles. He never thought about film music by then, it was his passion towards music and the opportunity, to perform and experiment at different level, were the reasons for accepting the offer. Well, the rest is History and  all knew his journey from then on and winning the Oscars in Feb 2009. Wait, did I say we all knew his journey? No, most of us do not know about the journey.

A R Rahman never agrees to all the offers. He always has a time slot left free to grab any great opportunity that comes up unpredictably.  The clear balance between the business motto and purpose motto helped to grab the Oscar opportunity. When Danny Boyle contacted him to compose music for Slum Dog Millionaire movie, he was able to grab that because he was prepared for such situations and he was ready to sacrifice a few business motto. If he was just having business motto he would have agreed for few other usual films and wouldn’t have time to accept this golden chance. If you notice his purpose motto of achieving something better and preparation were the keys for winning the Oscars. And now Mozart of Madras journey to conquer the world music starts with Journey Home World Tour 2010 today and this post is to celebrate that :), wait the journey didn’t start today, it stared at his very young age.

The purpose motto gave him better returns than what his business motto would have paid. So I strongly believe for both individuals and for companies, the key to success is

Striking a correct balance between business motto and purpose motto.

As an individual you should have a clear vision about your purpose motto. Don’t just run behind salary and the job that doesn’t satisfy you. In James Bach’s words

Reputation = Money. Build and protect your reputation.

Similarly companies achieve nothing great by just pressurizing employees with too narrow measurements of productivity and maximum utilization. If companies allow correct autonomy to employees, I am sure they will come with some creative ideas and that will help to achieve better returns than what could be achieved by focusing only on business motto. The number of Oscars received by ARR can be counted, but can never count how many were missed by others, who were not ready for such situations. Similarly the ideas implemented can be counted but never knew how many were missed because of running behind business motto.

Here are few pointers that will help you to get prepared yourself as a better tester Skilled Investigator to handle unpredictable problems and grab wonderful opportunities:

1.    Practice, practice, practice at Weekendtesting.

2.    Debate with people who have contrasting ideas. Note: Debate against ideas not against individuals.

3.    Always question useless practices, I strongly believe questioning leads to progress and questioning is not an easy to achieve skill, this again needs practice.

4.    Wait why am I typing all these? Am I going to offer better ideas than Michael Bolton’s? No. So why don’t you read Michael’s wonderful post and start Preparing.

Happy Preparation!

— A R Rahman Fan Devotee.

Note: All the incidents of ARR narrated here were from my memories, those were read over a period from various authentic magazines, articles and interview by ARR and\or his close associates.  So these may not be cent percent correct.

_________________________________________________________________________

Dear Rahman,

Yes,   your music wakes me up, makes me to think and heals me .You and Your music keeps inspiring me. I enjoy  listening to different types of music depending upon my mood. But only you and your music has the power to change my mood. Thank You Once again for all your wonderful music.

Share

How to measure Productivity?

This happened in one fine day in a team meeting. One of my co-workers raised her doubt on measuring the productivity.

A Tool to measure productivity?

She picked up a task and based on her initial understanding estimated that the task would require two hours to complete. When she started with the task she ended up in exploring for solution and a bit of research for about six hours and learned that two lines of code will fix the task. So she coded those two lines complied in ten minutes. Now, what is the productivity and how to measure that?

I really don’t have an answer,as I can’t quantify the productivity to a mere number and I believe most development and testing tasks are like this. Do you have an answer?

Addendum added an hour later:

Every one is forced to show their productivity,that is the only measure any company needs. Will KLOC ,Burn Down Chart or any other metrics show the productivity correctly here?

Addendum added After Aravind’s Comments:

I liked all the points in comments by Aravind  below

Share

What an idea Sirji!

Idea is something so obvious that after someone tells you about it you wonder why you didn’t think of it yourself 🙂

But an idea-prone would say “An idea is nothing more or less than a new combination of old elements” –James Webb Young

I know many who read lots of book and at the end just say “wow! That is an amazing read”, but what really matters is how you relate the information you read to the reality, analyzing and thinking about it, and then try to check if that will work to your context.

“Information is not knowledge. The only source of knowledge is experience” – Albert Einstein

My initial title for I can’t Nike, Because I Reebok was just I am what I am, when I was thinking about this article came across Nike show room, which read Just Do it, at that time “I am what I am” was in my mind, suddenly “why should I just do it, I can’t because I am what I am” flashed in my mind. When I saw some offer sale, I thought “hey! This is like our automation testing, nothing will work out at the end” which turned out Unbelievable 80% off* post title. Gladiator was initially drafted to encourage people to bravely questioning the useless customs. But after reading this post by Shrinik in which he wrote about practicing testing, adding that idea gave completely a new dimension to my post. Even when I started with this post, I was not having Albert Einstein’s quotes; I combined them here after I came across Ajay’s tweet here. So, Idea is all about your thinking plus what is already in existence, when you stay with your thinking something will come towards you to make it much better.

“It’s not that I’m so smart; it’s just that I stay with problems longer.”– Albert Einstein

I know, huh! Who will be interested in ideas I Combine? So

Coin Punch and the wine-press were around for centuries before Gutenberg saw and combined them to get printing press.

James J.Kitty saw a device that counted and recorded the turns of propeller, so the world’s first cash register was born.

Rene Descartes combined arithmetic and geometry to get analytical geometry.

Ok, here are some ideas to get your own ideas. Of course that will not make you idea-prone over night, you need to practice harder.

Idea 0.0001:  Think in your mother tongue, which gives you unlimited power to imagine, and then translate to English. That is the reason you find mistakes in my posts. If you are able to communicate you’re thinking clearly then English is of low priority. Dr A P J Abdul Kalam advocates thinking in mother tongue. If I can write with less English knowledge, why can’t you? Eventually English improves as you write more.

“Imagination is everything. It is the preview of life’s coming attractions. Imagination is more important than knowledge.” – Albert Einstein

Idea 0.0002:  I think and analyze my learning\readings, while traveling in bus every day. But I also remember to keep an eye on outside world and they turn out to be the title sponsors ;). In India most of the billion dollar listed companies employees commute by company shuttle. Most of them travel at least an hour a day, without interacting with the co-worker seated near by.

For those who don’t commute by bus I got some better ideas

Idea 0.0003:  Switch off the Idiot box for an hour a day plus a day in a week. When you switch on the TV your brain switches off.

Idea 0.0004:  A Young India Special , Switch off your mini idiot box [mobile phones] an hour a day plus a day in a week.

Did you notice the additional benefits? You will be contributing towards greener world, every day you are celebrating Earth Hour

Idea 0.0005:  Don’t do things in a predefined and monotonous way. If you try something new, you will learn something new.

Idea 0.0006 : When you are faced with the problem try visualizing it instead of verbalizing

Idea 0.0007:  Please put in your ideas in the comments section, target is to get one idea :).

Any metrics lovers out there, are you realizing that quantity will not reflect the quality? [Execute 7.56 test cases/day, automate 4.79 tests/day, and find 12.8 defect/KLOC] If you want quantity I can manipulate anything you want, but if you want Quality believe in your people and train them for the needs.

Happy idea Hunting!!!

— Dhanas3kar

NOTE: “What an !dea sirji” is the marketing campaign used by Idea Cellular Ltd, India.

Sir Ji [Hindi and English mix] is a colloquial word used in North India. It is ascribed to a person who is resourceful and respected.

Share