The only testing I do is manual devtime testing (partial sandboxed deployments mostly) and then in production. If something breaks, we just fix it, having alert bots and excessive logs to investigate. Again, it is a business decision that is above me, not a simple overlook. It actually works well and brings no substantial downtime or losses.
I think the differences between us and a regular software company are that (1) we move very quickly, e.g. some prototypes take 1 day, not a “sprint”, (2) we only support “main” workflow. There are no rarely used features which could stay under the radar in production or fail only for a quiet subset of clients. There is no “product” or a “site” in a usual sense, only infra, scripts, bots, services, data exchange.
I also try to write code as dumb as possible and always crash-only, because refactoring is the worst enemy in this situation. When code is dumb, it is easy to move parts around and apply incremental changes to production without stopping everything for a week.