Did it include UI tests which are notoriously difficult, and if so how did it handle issues like timeouts and the async nature of UI?
Did it have rigid separation of concepts between unit vs integration tests etc, or more fluid?
Could you refactor internal code without changing tests — the holy grail.
tsm•4h ago
Another neat thing was that there used to be a full-time SDET who spent a lot of time writing Cypress reproductions for known bugs. When you picked up the bug, you could un-skip the test that was right there waiting for you.
All that said, of course it's far from perfect!
0: https://github.com/metabase/metabase/ Backend unit tests are in test/, Frontend unit tests are in frontend/test, end-to-end tests (Cypress) are in e2e.