3 ms·
I haven't heard how Mozilla used it, but I know Google and MS use test impact analysis (among other techniques). Do you have a link? I'd like to see it. TIA's
by KingMob 2y ago
I haven't heard how Mozilla used it, but I know Google and MS use test impact analysis (among other techniques). Do you have a link? I'd like to see it.
TIA's definitely not needed for a lot of well-designed projects, though it's harmless to add if done right. I built spdr mostly for older projects that have CI taking 30+ minutes. When it's that slow, it's becomes a real drag on team velocity.
Parallelization is great, but it's not always drop-in. It requires thinking about. You can't turn it on, and do a smoke test, because parallel bugs might not manifest immediately.
- pydry 2y agoNo, I saw it briefly on hacker news once thats it. They have, IIRC, like, a 40 hour test suite or something so for them it made a massive difference. The only time I got close to that (roughly 14 hours, many years ago) we just hacked it by running random tests constantly to detect regressions and only running the whole suite overnight. It brought release cycles down from bi-yearly to once a week or so so people were happy. If your tests are fully isolated (and they should be for many reasons), parallelization ought to be almost drop in. You can set it up in github actions pretty easily. If a feature that predicted which tests to run were drop in Id say it was a no brainer too, but there is no tooling for it yet so it would have to be built from scratch.
- KingMob 2y ago>If your tests are fully isolated (and they should be for many reasons), parallelization ought to be almost drop in. You can set it up in github actions pretty easily. Good point. My experience is that super-long test runs also have dependencies that interfere with parallelization, but that might just be the projects I've worked on. > If a feature that predicted which tests to run were drop in Id say it was a no brainer too, but there is no tooling for it yet so it would have to be built from scratch. There is! I wrote one for Python (https://getspdr.dev https://getspdr.dev)! If you just care about local runs, there's also the pytest-testmon plugin. Fos Js, both Vitest and Jest have settings to enable it. It's definitely out there!
- KingMob 2y agoCan I ask some different questions then? Do you parallelize your current tests? Why or why not? Do they work out well for you?