Database testing is about 3 key aspects: data flow, business logic and performance. The first two are covered by functional testing, and the latter - by performance testing.
Best way to ensure efficient functional testing is to use both white-box and black-box testing. Performing either of the two alone is not enough. While black-box testing provides a clear idea of the user experience, white-box testing helps ensure full test coverage and swiftly detect and fix some bugs related to business logic. You should also remember about regression testing, an important part of the functional testing effort. Even if your team follows agile approach, there are plenty of techniques to optimize regression testing in agile without delays and additional costs.
As for performance testing, the important point here is to make the two choices:
- Manual or automated testing. This fully depends on the project. For a CRM system for a 10 employee business, you may well use manual performance testing. This will certainly not work for a web application catering to thousands or millions of users.
- If you choose automation, you should be aware of its high costs. Even open-source tools offer extended (and often very necessary) functionality at a certain price.