What is the meaning of testing?
In general the word 'testing' is used to describe some process for finding out if something is as it is expected or thought to be.
In terms of Computer Programming testing is the process of determining if a program does what it supposed to, or not.
Several levels of testing are normally carried out
1st: the designer of the program will 'logic test' the design specification to make sure no errors were incorporated from the original user specification
2nd: after the programmer has written the code he/she will test the program with a set of test data to see if it seems to do what they thought it was supposed to.
3rd: integration testing will be done to see if this program works correctly with other associated programs to find out if interfaces etc work correctly
4th: depending on the project type there will normally be testing carried out by end-users to see if the results are what they wanted in the first place - on large projects there are always problems here (40 years experience!)
5th: where an old application is being replaced by a new one it is normal; to do a period of 'parallel testing' where the old and new systems both do the same work and the results are compared.
Depending on the scale of the program/project various special types of testing tool (software) may be used to automate some of these stages, and some stages may well be skipped to save time/money. The reason for having so many testing stages is that, in general, the sooner an error is found the less time and money it costs to put it right.