Software
Testing is the checking of the system, usually by people other than the programmers. There are different types of test to check different things so for example you have unit tests first where the progarmmers check their programming and remove any bugs. Then you have system testing (other people check the system for bugs usually related to how the modules of the system have been put together). You also have acceptance testing where the customer checks the software does what they want it to do.
Basically you are testing a system to check it works and to check it works the way it is mean to work.
During testing bugs will always be found and these should be fixed and tests for the affected performed again to check the bug really has been fixed and to check no new bugs have been enetered into the system.
Testing is a huge subject so this is just an overview but there is loads of stuff on the web or just post your questions here.
Hope this helps