That's fine at first, but then your test suite gets bigger, while at the same time that more code is added and old code is left to rot in place. Other developers aren't so enthusiastic about keeping the tests up to date -- they have business needs to satisfy, after all -- so some tests start failing, but nobody fixes them. Your data sets get out of date when the design changes a bit and certain columns are hacked into or out of tables, which breaks tests that nobody wants to fix. All this time completely wasted writing tests that will rot, for code that will just get thrown away.