While the refactoring step of test driven development should always involve another full run of tests for the given functionality, what is your approach about preventing possible regressions beyond the functionality itself?
My professional experience makes me want to retest the whole functional module after any code change. Is it what TDD recommends?
Thank you.
While the refactoring step of test driven development should always involve another full run of tests for the given functionality, what is your approach about preventing possible regressions beyond the functionality itself?
When you are working on specific feature it is enough to run tests for the given functionality
only. There is no need to do full regression.
My professional experience makes me want to retest the whole functional module after any code change.
You do not need to do full regression but you can, since Unit tests
are small, simple and fast.
Also, there are several tools that are used for "Continuous Testing" in different languages:
All these tools are used to run tests automatically on your local machine to get fast feedback.
Only when you are about to finish implementation of the feature it is time to do full run of all your tests.
Running tests on Continuous integration (CI) server is essential. Especially, when you have lots of integration tests.