I've been fond of saying "Thank you, Microsoft" for years. Without them, I probably would not have this fascinating career as a software developer. I probably would not have a good income, good benefits and a decent shot at retirement. I certainly would not have been introduced to so many fascinating businesses and the owners who created and/or run them.
Lately though, I've been saying "Thank you, NUnit". NUnit is a unit testing framework for all .NET languages. You can check it out here. NUnit allows me to add just a few lines of code to the software I build for the purposes of testing. In other words, it allows me to confirm that the code I am working on is working correctly. It utilizes assertions and expected conditions to validate that the code, as original designed, is functioning. Functioning today, tomorrow, after any recent enhancements....basically any time I wish.
This allows a software developer to have confidence in their code. I consider it liberating to know that after any change, whether driven by enhancements or bug fixes, that all of the code that interacts with the modified code still functions exactly as it is supposed to. This means improved code quality. Thank you, NUnit.
If you'd like additional information on unit testing, I'd suggest the following articles:
The benefits of automated unit testing - The Code Project ...
Get Test Infected with NUnit: Unit Test Your .NET Data Access Layer
NUnit allows effective unit testing with .NET applications
Test-Driven C#: Improve the Design and Flexibility of Your Project