One thing that comes up a lot is testing and quality control. Many people have many different views on this, and there is nothing to say one method is better than another or what is right and what is wrong. It's a very grey area, and something I've been emailed about a few times since I did the article Software Quality and Testing asking what I do for testing, and in all honesty I can't give a good answer. My point of view on testing is that it is a continuous process that does not stop until sometime after a project completion and no further bugs are being discovered - this is the point that a project should be deemed ready for release. However in practice I often find that testing your own code is very unlikely to uncover all the bugs in your code. I think the reason for this is that because it's code you have written you know how it works, and maybe even unconsciously know what not to do to avoid it breaking in testing - this is even more of a problem if you're developing user interfaces as they will be interacted with in many unexpected ways. In these circumstances I would recommend doing what testing you can during development, and some post-development testing and then passing it on to one or more people who have not used it before to see if they can break it. This seems a good way of seeing how it would normally be used.
What thoughts do you have on this? Does anybody do this differently? Or does anyone use anything like Fagan inspections? Feel free to comment!









