Recently I started using DDG and I find it surprisingly good. I do parallel searches between DDG and google, DDG returns much more relevant results than google.
Based on my experience I find DDG has improved drastically.
Not specifically to data science or AI projects, generally test coverage is very important, otherwise how would you ensure that the functionality works as expected and handle error/unexpected conditions?
But TDD approach or writing test cases after the implementation is upto the individual developer/team's preference. Initially TDD approach would be very difficult for freshers or devs who don't have TDD experience, but in the long run, it would help.