What is Unit Testing?
Testing the smallest component of a source code to make sure it executes as desired.
Refactoring means that you change and (hopefully) improve the internal structure of the code without changing the behaviour of the code. For example, developers may change a piece of code in order to make the code run faster but still perform the same task. Why is unit testing important for refactoring?
Because you can isolate and rest that one factor alone to check if the upgrade worked.
How does Unit Testing help the bottom-up testing approach? If you test the smallest units for efficacy first, it gives you more confidence that the integrated system will work. It also saves time and provides a documented approach.