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