• My idea of testing begins at the requirement. You need to have the test data in place and the input and output defined for each phase or unit of testing before you start coding. This allows you to test each section of code as you build. Once you have the code completed (you think) you can test against the expected results and for performance. It is critical to have enough data to test all scenarios of input and output and performance. I think it would be great to have some automated way to do this testing but I can't think of a way that wouldn't require almost as much work to set up as it does to just test as you go. With regard to testing code you are changing, it becomes even more important and difficult to test someone else's code since you may not have the full details of what it used to do only what you have been asked to make it do now which can lead to missing tests that should be done to make sure it still does what it needs to as well as what you are making it do. Testing is hard and I know I have not done an adequate job at times do to a lot of factors. Hopefully I am getting better with each assignment.