We have a simple CRUD application. QA has a test script where they are doing the following:
- Call Create Customer service
- Query the database for the newly created Customer
- Verify the Customer in the database matches the expected result
- Call the Get Customer service
- Verify that the Customer returned from the services matches the expected result
My question is: should be QA even be running steps 2 and 3? Or should they be agnostic to how the data is stored and just validate the application output (run steps 1, 4, 5).
On the one hand, it would be good to check that we are saving data correctly to the database (especially if we are saving in calculations, foreign keys, generating timestamps, etc.).
On the other hand, QA shouldn't care how/where we are storing data, as long as it is returned correctly from the application.