Testing and debugging refer to the tasks of detecting and removing errors in a program, so that the program produces the desired results on all occasions. Every programmer should be aware of the fact that rarely does a program run perfectly for the first time. It does not matter how thoroughly the design is carried out, and how much care is taken in coding. One can never argue that program would be 100 percent errorless. It is therefore, necessary to make efforts to detect, isolate and correct any errors that are likely to be present in the program.