Про разнообразие видов тестов
https://events.yandex.ru/lib/talks/535/
В зависимости от вида - необходимость в использовании бд разнится
Для приемочных-фнкциональных - БД должна быть с данныи близкими к реальным (идеально, обфусцированная база текущего продакшена) на СУБД с настройками максимально близкими к продакшену
Для юнит - БД нужна только если тестируется ОРМ
factory_boy для юнит тестов
selenium для приемочных
www.tdd-django-tutorial.com/tutorial/1