Software testing involves running or executing a program or application in order to find and resolve all the bugs and errors which may exist.
Developers will usually test their programs or apps in a code friendly manner which wont break the system. It is important to hand the program over
to somebody else who has the sole responsibility to try and break it.
Once all the bugs have been resolved and the software meets the business requirements it was developed
for, the software is usually ready to be put into production.