I've heard great wonders about running testing units on your projects to help with debugging and bug catching. However, I know nothing about it. I've been trying to improve my coding practices and I have started using a coding standard that's not home built.I've asked for feedback from people I've programmed with. I've also adopted a better consitency of commenting code. (I did it before, it just wasn't as good as it needed to be). Joel on Software and Coding Horror has been a great help to start me on new paths to improving my coding. Previously my boss just told me what to do and I did it but now we have spec sheets and she checks everything I do once I declair it 'done'.We also have a bug tracker, even though I am currently the only programmer for the project.
However, I don't know much about testing units. Currently I'm working in PHP, and some side projects in Java (my prefered language). When I do debugging I just test everything I can think of until something breaks, I usually follow a pattern of trying SQL-injection, html tags and scripting on inputs and some other stuff. Can anyone point me in the right direction to how to automate this or improve my current strategy?
As MPS said it's called unit testing, however, particularly with online apps, I would recommend implementing fuzz testing as one of your debugging tests. there are pleny of open source apps out there to get you started and they can identify some specific problems that you might easily miss yourself. Give http://powerfuzzer.sourceforge.net/ a quick try.