Spark joy by running fewer tests

A few interesting takeaways for me as someone who’s involved in the test automation practice at my company:

  1. They have a lot of tests. They can’t run them all, all the time
  2. They remove flakes pro-actively from their suite and get developers looking into them
  3. They can reasonably figure out what tests to run by computing call graphs in the program and related that to individual files
  4. They’re pragmatic. They went with dynamic analysis because it was computable, with reproducible results (machine learning wasn’t at the time they were investigating how to solve the problems they were having with test suite size and dev producitivity / happiness)

Speeding up git at dropbox

Cute trick to extend+wrap the git cli, capture traces, and analyze them from developer workstations. The wrapper also configures localgit for optimal perfomance given dropbox’s needs and the size,shape of their repository.

Dropbox has a git monorepo.

I read maven, and gradle were wrapped for similar reasons lately. (Improved developer experienc) These wrappers will ensure the right versions of mvn, and gradle and dependencies are installed into build contexts automatically.

Really great idea!