Unittest should be really unit
Some unittest rely on other one or on some data to be filled prior, it is a bad practice. Another bad practice is to commit inside a unittest.
So the idea is to rewrite all unittest to be unit inside one rollbacked transaction. For the existing one that could not be changed, we must replace them by scenario.
Also each TestCase that create a database should drop it also, this will make the run slower but it is the only way to ensure the repeatability of the tests. For the unittest from trytond, we should probably create one single TestCase.