Friday, June 27, 2008

Base state of a software application

This is a post on the importance of base state or initial state of a software application.
In the last post, I had mentioned about activating mobile office on my mobile.

I had not taken any note of the condition of my mobile connection settings. After I deactivated my mobile office, I was unable to access any websites on my mobile. After a lot of trial and error, setting up some other settings, I decided to approach the customer care and ask them to solve my problem. Finally I got it solved.

> I was careless not to note the initial settings of the connection.
> I should have gathered more information about the new service(mobile office) as it did not support my access to wap enabled websites.

Connection with testing:
How many times have we come across a situation where we could not reproduce a defect or a behavior due to the change in the initial settings. We waste a lot of time reproducing the issue and finally realize that it was environment specific and had to ghost the system and start afresh. After this mobile experience, I realized the importance of noting the settings of my mobile. In testing, an environment of a test plays an equal role as the test itself.

Lessons learnt:
A tester has to know each of his test case/input. We never know which test may give the unwanted result/behavior.
How about running a test in our mind, imagining the probable consequences before running it in real. If testing was that simple, anyone could do testing.

Sometimes, we do need to probe a defect further to unearth even more critical defects. At the same time, we have to be careful to note the initial/base state of the application.

So, how do you deal with the ever changing state of a software?
Do you know each test you do?
How do you handle the issues you fail to reproduce at the first attempt?

Share your comments. And finally a question to you:
Is it necessary to know the initial/base state of the software under test?

Happy testing :)

Leia Mais…

Tuesday, June 17, 2008

Testing and Chess, Any Connection???

This is about a conversation I had with a Customer care executive.

I wanted to access internet on my desktop pc with my mobile as the modem. My mobile was connected to the pc through a bluetooth dongle plugged in the pc. I had to configure some settings in the pc. So, I called up customer care and the executive asked me to switch on the Loudspeaker mode and follow his guidelines.

I switched on the Loudspeaker mode and at the first instruction itself, we both are stuck.

He says: "Sir, go to Start button, click on it, you will find Settings option".

The option 'Settings' can be viewed only if the menu style selected for your system is 'Classic Start menu'. I had the first option 'Start menu' selected for my pc. So, I was not able to see the option: 'Start > Settings'.

Me: 'What is the option you are looking for?' CE: Sir, first get to Start > Settings. It'll be present in all the computers. Me: I know that, but now I'm not able to find the option.

Give me some time.
******** I change the option in Control Panel > Taskbar and Start Menu to 'Classic Start menu'. ******* CE: Go to Network Connections. As I already had a lot of network connections configured, placing the cursor on the option 'Network Connections' displayed all the available connections. I had to add a new connection. Finally, I could configure the network connection. This took around ten minutes.

Observations: > The executive is not ready to listen to me and stuck with the same sentence: You must find 'Settings' option on clicking 'Start' button. > I'm not informed about my mission (Setting up a new network connection). > My questions are not answered (What is the option you are looking for? Ans: Network Connections) > The executive is not ready to believe that the expected behavior is different from the observed behavior (reason: option selected in Taskbar and start menu display)

This one call with the customer care executive gave me valuable lessons to ponder on:

Lessons I learnt:
> Testing is like Chess. In chess, you think about different moves possible by your opponent and play the best move according to situation. Similarly, in testing it's better to keep in mind that for an input, there may be more than one output.
> As the executive was stuck with the process and not ready to move away from the process, he made me(the end user) unhappy. User is more happy if the end result is achieved and not the process.
> Be open for options.
> Be ready to help your customers(A good post: Educate your customers : ) Yesterday I understood the real meaning of educating the customers.

Feel free to comment. Share your experiences and views. God save customers from such executives...

Leia Mais…