I've recently been spending some time trying to improve my development techniques and one area I've been focusing on improving on is my testing practices. It isn't obvious to new programmers as to why you might want to start testing your code. After all, if you can test out something that you've written that works shouldn't it always work? Code can usually be assumed to be deterministic right? While that's generally true with small programs, scripts, and school projects, it doesn't hold up when it comes to larger programs and software.