The developer knows how their code works and will fall into the habit of testing their code according to this knowledge.The developer knows how their code works and will fall into the habit of testing their code according to this knowledge.
The developer will find it difficult to remove themself from the mindset of 'how it works' as opposed to 'how it should work'.
Because of this it is better to get someone with a high degree of objectivity to test the program i.e QA or Test Engineers