Why Are My Tests So Slow? A Likely List Of Suspects, Anti-Patterns, And Unresolved Personal Trauma
tl;dr: "It’s nigh impossible to have a high-performing team with a long lead time, and becomes drastically easier with a dramatically shorter lead time." Merging to deployed should be under 15 minutes. Charity outlines issues why tests could be slow.
featured in #220
Tests That Help You Find Defects Faster
tl;dr: Each test should (1) test one thing (2) use precisely the data it needs (3) be disconnected from other tests (4) provide context to find the problem in error messages.
featured in #194
Spark Joy By Running Fewer Tests
tl;dr: Shopify's codebase has ~150,000 tests, this number is growing and expensive to run leading them to implement Dynamic Analysis. The article outlines what Dynamic Analysis is, and pros and cons.
featured in #186
3 Steps To Add Tests On Existing Code When You Have Short Deadlines
tl;dr: When you don't much time to write tests, try this: (1) Generate an output you can snapshot (2) use test coverage to find all input combinations (3) use mutations to verify your snapshots.
featured in #177
How To Report Bugs (If You Want Them Fixed)
tl;dr: Boilerplate on how non-technical members of your team should report bugs to engineers.
featured in #155
Farewell To fsync(): 10× Faster Database Tests With Docker
tl;dr: When running tests you don't care about writing to your database. Using Docker to create a DB instance and disabling fsync(), you are able to run tests 10x faster.
featured in #132