Testing cannot prove software has no faults - it can only demonstrate the presence of faults. Complete absence of faults is theoretically impossible to prove through testing alone. Finding faults, building confidence, and identifying performance problems are all valid testing objectives.