From a professional tester point of view, let someone else do it. It's wise to do a developer test but actual functional testing is best done if someone else does it (a dedicated functional tester for instance). Firstly, that other person has a different perspective of the piece of software because it reads the requirements and hasn't seen the development process you as a developer did (the functional tester will press buttons differently). ;)
Secondly, you don't have to spend lots of time figuring out how and what to test. Which is more efficient as you can spend that time on developing other software. :)
More about structured testing here:
http://www.ie.sogeti.com/Resources--Downloads/Methodologies/TMap-Test-Management-Approach/
Software quality becomes more important everyday and only just recently more companies are hiring dedicated functional testers to test that, which you find a tedious task. :)