Queries are complicated to test and nearly impossible to reuse. In systems of all sizes they get duplicated, modified and augmented to the point where we are afraid to modify them. They are essentially questions about data that generate information upon which we can act. They should be reusable. They should be predictable and above all, they should be testable.