I am wondering what people’s thoughts are on:

Does running the same SQL the application uses directly against the database add any value? I understand the value of directly accessing the database for investigative purposes, but what does it prove if the results match? Does it only prove that the display isn’t missing any items that the query returned? What if the SQL is flawed?

If this brings us back to the requirements, wouldn’t we still be lacking some data? I doubt the requirements would say that there should be X of these and Y of these.

For an application that has data entry capabilities, I could add data and make sure it appears, but what about a reporting/read-only application?

Here is another similar example to give you an idea of where I am coming from:

At a previous job, the application would provide numbers for statistics such as the “Load” on a port of a network device. We asked the development team for the formula they used to get this value. They let us know that if we use the exact same formula, we will get the exact same answer. This doesn’t, though, prove that the customer is getting an accurate reading for “Load”. Finally, we used a different application to measure the load and compared it to our projects values.