Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Are Your Tests Slowing You Down?

Trisha Gee
October 03, 2023

Are Your Tests Slowing You Down?

Testing is a Good Thing, right? Especially automated testing. But "Good things come to those who wait" is not something that's going to appeal to the busy developer. You want results, and you want them now. You're in The Zone working on a problem, and the last thing you want is to break your flow wrestling with your testing framework or waiting for the tests to finish running.

More code means more tests. More coverage means more tests. More tests mean more time. Time that you want to spend being productive, creative, innovative. How can you balance the need for quality with the need for speed?

In this talk, Trisha will identify issues that slow down developers when writing, running and debugging tests, and look at tools that can help developers with each of these problems. There will be live coding, analysis of social media poll results, an overview of solutions in this space, "best practice" recommendations, and machine learning will be mentioned at some point.

Trisha Gee

October 03, 2023
Tweet

More Decks by Trisha Gee

Other Decks in Technology

Transcript

  1. Gradle is Pioneering DPE Developer Productivity Engineering is a software

    development practice to maximise developer productivity and happiness.
  2. RATED 6+ because apparently 5-year-olds fall asleep during the presentation

    Some flashing GIF sequences may affect photosensitive viewers This program contains product placement
  3. “Nothing is ever really lost to us as long as

    we remember it.” L.M. Montgomery
  4. “We recommend that the developers, who are good at writing

    efficient, maintainable code, work together with the testers, who are good at specifying test cases, to automate tests.” Agile Testing Condensed: A Brief Introduction Lisa Crispin, Janet Gregory
  5. “99.9% of the time the best way to troubleshoot a

    test is to re-write it so it’s smaller and faster.” Israel Boza Rodriguez (@IsraKaos)
  6. Test Distribution Results ‑ ~50% ‑ ~50% ‑ ~50% Doubling

    the number of executors cuts build time in half
  7. “The test selection procedure selects fewer than a third of

    the tests that would be selected on the basis of build dependencies” Predictive Test Selection - Meta Research https://research.facebook.com/publications/predictive-test-selection/ Mateusz Machalica, Alex Samylkin, Meredith Porth, Satish Chandra
  8. “Yes, I regularly delete tests that no longer add unique

    value.” Angie Jones (@techgirl1908)
  9. “Once things like databases become a hindrance, optimise the testing

    loop, mock things out to run things fast. You can run locally and you don't have all the same infra dependencies as someone else.” On DevEx, PaaS, and Testing in Production https://bit.ly/3ZA0uQM Kelsey Hightower
  10. ⬢ Separation of concerns ⬢ Encapsulation ⬢ SOLID ⬢ DRY

    ⬢ Descriptive naming ⬢ Modularisation ⬢ Designing for performance
  11. “Tidying is software design addressing you, your relationship to your

    code, and ultimately your relationship with yourself…. Tidying is geek self-care.” Tidy First? Kent Beck