I'm working at a startup company and feel like they get into a deadlock by testing UI in wrong ways. They are creating a brand new project from scratch with a new UI and this is how they perform testing:

* They run constant ad hoc testing each sprint and open bugs if a specific color is off, even-though we are still in development and fully aware of some colors and shapes being off
* They do regression testing to make sure previous functions are still working. But anyone who develops UI knows, one small css change somewhere might effect other elements on the page (temporarily). So we fix one thing but it creates a temporary bug on some other elements and we get 5 bugs opened because of them right away.

I feel like development spends more time to close these random bugs, which they are fully aware of, just to keep the QA team satisfied. If QA just waits until the project is close to completion and then test the fine tuning, then development could spend more time doing actual work, rather than close these bugs constantly.

What are the best ways of testing UI? do you test constantly, or do you wait until you have a proper product to test? 
Isn't testing UI different form testing a backend service?