Asserts during development and testing are the best. Instant cadaver for inspection. Initial testing is very slow, crashes all over the place, stopped applications, etc. But then quality sky rockets as obvious things are fixed. Then eventually non obvious things get found. Logs hide problems in test phase.