Hi HN. I work on a small team in a mid-sized company, I am a senior on the team, but not the lead. Recently our business model has changed, for some of our products, such that clients could get partially refunded if they discover bona fide defects in production.This has lead to a mandate that we "are not allowed to ship bugs" and must do everything we can to ensure software quality. The product I work on is old and has a very complicated code base (1M+ loc). For years the CTO evangelised his opinion that unit testing is worthless and the junior and mid-level engineers took this to heart. Test coverage is therefore basically non-existent, and existing tests fail. It would take months to fix them, and we can't delay deliverables to do this.We have a formal QA team, but full regression testing takes a week+ with 2 or more people (our team has only 1 tester). Some of the QA staff are also young and inexperienced and log issues that are irrelevant (or extremely low priority issues, mostly UI related or convoluted edge cases) and miss core business cases.I've also always thought fast iterations are better than extremely rigorous testing.It has repeatedly been made clear that the engineers are ultimately responsible for the work they deliver, and are held accountable for any defects.How could we increase the quality of our work to a state where we ship without defects? Are there formal methods, or specific processes we can adopt? Is it worth spending our free time to get the tests working and expand them to test most of the application?