Friday, June 22, 2007

Role of users in Software Life Cycle

Users are the integral part of the Software Systems because in the end software will be used by them. As a developer and tester will work on some project and then move to the next project, but the users will use it frequently. If we are doing the testing of ATM software then after making and deploy our role will be finished but the users will use it forever.

I always stick to the definition of the Tester given by Ron Patton in his book “Software Testing” :-

“The goal of the Software Tester” is to find bugs, find then as early as possible, and make sure they get fixed.”

I would like to add one thing in this is that tester is the representative of the users. Tester has to think and act like end user while testing the product. Testers are closest to users in the organizations.

Users don’t like the break or crash in the applications. So try to think about the negative testing. I know this term ‘Negative Testing” is somewhat confusing. You can refer to the Pradeep Soundararajan famous blog for further understanding of this term.
http://testertested.blogspot.com/2007/04/negatives-of-negative-testing.html

These days I have seen the companies thinking toward the early visibility of the users in the projects. I am happy my company is working toward it. My company try to bring the customer into the picture from the early point of view. It is possible due to the fact that my company work on Metadata driven approach(MDA).

In last I would like to say we cannot ignore the users in the Software Development life cycle. It we (especially testers) think like users we can deliver the good quality products.
m
Regards and Thanks
Mukesh Dhingra
"Testing a product is a learning process."

Tuesday, February 20, 2007

Testing is all about questioning

As most of us know the basic principle of testing is questioning. Before starting testing it is important to identify the scope of the testing. By knowing this we can reduce the resources upto certain extent.

I have learn this from Pradeep Soundrajan. Pradeep is the person who inspired me to write my own blogs. I used to read his blogs (Tester Tested). He says “Every good learning starts with questions.” I am fully convinced with this. I also start testing with questionings. I have implemented this thing while testing of the projects I am testing and it is helping me a lot.

When we start the testing of anything we come up with some questions such as

Why we are testing this

  • What functionality actually we need to test
  • Why we are testing this
  • What functionality not to test.
  • On what part we need to concentrate more while testing.
  • How much time we will get to test?
  • What resources we will get to test?


For example if I need to test a “Bottle”. My questions to test the bottle will be


  • What type of material (solid, liquid, gas) will be stored in the bottle?
  • What type of material being used to make the bottle?
  • The temperature of material being stored in the bottle?
  • Capacity of the bottle?
  • The temperature of the place where bottle will be used.
  • For how much time bottle will hold the material.

On the basis of the above questions my testing scope will be narrow down, as a result of which my resources and efforts will reduced.

In the context of above questions, I can reach to following conclusions:-


  • By asking what type of material, I will come to know the actual material for which bottle will be used. If I came to know that the bottle will only store liquids, then I will not need to create the test for testing with solid materials.
  • If I know the material being used to make the bottle, then I can analyze different scenarios. If the material used for the bottle is zinc or copper and if we will store any Citrus item then it will turn the same poisonous.
  • By asking the temperature of the material being stored in the bottle, I will come to know to whether create or not the test cases for different temperature of materials. For example if the bottle being used is used to store only cold water then I will not need to test for the hot water.
  • If I know the capacity of the bottle then I can do the load testing of the bottle.
  • If the liquid used in the bottle is high but the temperature where this bottle will be used is very low. Then it can make the temperature of the material in the bottle low very shortly.
  • Some material such as Ammonia expands at different temperatures. If the bottle is 90 percent full at 0°F, it will become 99 percent full at 68°F. So if I know the temperature of the material and place where bottle will be used I can test the scenario like this.
  • If the bottle is supposed to hold the hot water for 10 minutes, but if we will store hot water at the same temperature for longer then that it will melt the bolt.

So start the testing by questioning. It will help you a lot. It will narrow down the direction to work out. And it will increase the productivity of the work we are doing.

Regards and Thanks

Tuesday, December 12, 2006

Analyzing a limitation and not a bug

Hi Everyone

Today I am going to explore the issue which seems to be very important for mobile users. As a tester I always like to bring down the issues in the product I am testing or using. Here I am sharing my points about the mobile phone I am using.

One day I forgot my mobile at home. So when in the evening when I reached at home, I found that there were 23 missed calls displaying on the screen. When I browse to the Recent Call (History) option it was showing me the list of the numbers from where I have got the missed calls. But the list was of 7 numbers. Actually I got total 23 missed calls from 7 numbers. But I was not able to know from which number I got how many calls. I was able to see the history of only last call. Actually the mobile phone is showing the details of the last call of the particular number not each and every call from that number.

I have used the mobiles of many other companies which provide the history of 5 and some more than 5, but this mobile is providing me the history of only last call. Now again when the testing team will informed this as but, the development team will come up with their excuses as “It is designed as it is working”. “I have not got the requirement which stated that it should maintain the history of each and every call” and so on…

The other very important issue I noted down that if I have some miss calls say 5 from a person. And he/she calls me sixth time and I picked the phone then my expectation would be it should show I have received one call and have five missed calls. But in the list of recent record list it shows only last attended call.

This issue is due to the fact that company has provided the single option for received calls and missed calls. It works as follows:-

If I got a call and attended it then it shows the name/number in the recent list of calls and a check mark against it.
If I do not received the call (missed call) then it shows the name/number in the recent list of call and do not place a check mark against it.
So I can differentiate between a missed call and received call with the help of check mark from the Recent Call list.
Now this feature will not allow me to know if I have got any missed call(s) after receiving a call.

The other mobiles show the different section for missed calls and Received calls. So they do not face this issue. I think this issue is more critical then the first issue I have mentioned.

As a user I can say I expect this feature should be present. Since it is one of the most common feature a user expect from the mobile companies. But as a tester I will informed this issue as a defect. The mobile phone should have these feature as other companies are providing this feature in the same range of mobile phones and it is a very common feature which every users expects.

So in this issue I would like to know your views on this. If you were a tester or user and noted the same issues what would you have done? I would be very happy if you write your views on this as a comment on this post.

Regards and Thanks
Mukesh Dhingra
dhingramukesh@gmail.com
Disclaimer : While writing this post I have not any intention to affect the business reputation of any company. I have posted this so that someone can learn from my experiences and I can learn from their experiences as they will response to the post.

Friday, December 1, 2006

Test Your Mobile Phone

Hi everyone,

This is my first blog and hope it will be good one to start. I am going to share with you some of the issues I noted down in the mobile phone of a reputed company. As I am very fond of mobile phones, I always try to explore each and every feature in the mobile phones. Sometimes I found some defects in them. The issue noted down is in a mobile phone. I had tried to sum up those issues in this blog.

Summary : The control return back to the top message whenever I delete any message from the list of messages.

Description : I had a lot of messages in mobile and I like to delete some continuous message (say number 10 to number 15). I will need to scroll to the 10th message and then delete it. It will delete the message successfully, but after deleting the 10th message, it show me the top most message. If I like to delete 11th message then I will need to scroll back to 11th message and then so on. And so on for the remaining messages.

Now in my mobile there are around about 200 messages. Since now I like to delete the message number 150 or 160, then I will need to scroll down each time. Which is very irritating to me. And I am sure that all other user who will be using it will be irritate with this issue.

I had faced same bug in my first project which was an Insurance Project. The same thing was happening there, when ever I delete the message in between in the list of records, the control goes to the first record. At that time I ignore that thing (where I did the mistake), since I was testing that feature with only a few number of records. After a few days the bug was raised by the client since they were using a very large number of records in the list and they found it very irritating to scroll down each time.

That is why it is the important saying “If you will not find the bugs, customer will find for you”.

The second issue I noted down while searching for a particular name in the phonebook. If I like to search for the name starting with “M” then I will need to open the drop down list of names from phone book and press the “M” character and it showed me the names starting with “M”, which is correct. Now I scroll down and did not find the name I was searching, now I would like to search from the start that is from names starting with A. “A” character. Now if I press delete key to delete the M character, it showed me the blank list. My expectation (as in other mobiles) here was that it may allow me to move further down or up.

So I press the “A” character to bring the list back and it showed me the names starting with “A” then after completion of this list I should press B and so on. In no way I will be able to scroll in the whole list without pressing the characters.

Now any developer will come and say this is how it is design to work or the feature provided by the company. So my answer for the same is that I had observed the same thing in 3-5 phones of other companies. All were showing the results as according to my expectations. If you will say it is made as design then I think, this is the design error. Since it is not friendly in use.

I would expect after reading this post you will share also your similar observations. And will share your thought on this.


Regards and Thanks

Mukesh Dhingra

dhingramukesh@gmail.com

The best tester isn’t the one who finds the most bugs or who embarrasses the most programmers. The best tester is the one who gets the most bugs fixed.

Disclaimer :

While writing this post I have not any intention to affect the business reputation of any company. I have posted this so that someone can learn from my experiences and I can learn from their experiences as they will response to the post.