is tdd a best practice?
Test-driven development is a perfect choice for functional testing but may not be sufficient when it comes to complex situations such as with UI testing. TDD, if understood properly, is the simplest way to achieve high test coverage and better code quality.