DjangoCon Europe 2023 | Turning test writing into a consistently brief and pleasant experience

Поделиться
HTML-код
  • Опубликовано: 7 июн 2023
  • - Turning test writing into a consistently brief and pleasant experience
    by Wilhelm Klopp
    pretalx.com/dj...
    Writing tests for our web apps can be painful, slow, and boring. In this talk we look at 10 tools and techniques to make writing django tests a consistently pleasant experience.
    There's one thing I enjoy least about software development: Writing tests. I appreciate the tests I've written in the past, but I do not enjoy the process of creating new ones. How can we make test writing a pleasant, brief, and fun experience? This talk looks at over 10 tools and techniques to accomplish exactly that.
    - Engage the audience with some live poll questions:
    - How much time do you spend writing tests?
    - How much do you enjoy writing tests?
    - Have you spent time improving your own testing experience?
    - What existing software engineering research says about how much time we spend on tests
    - How we think about writing tests for our web applications:
    - What value do we get from tests, why do we write them at all?
    - How many tests should we write? What do we not want to test? How important is coverage?
    - What tests should we write? Unit tests, integration tests, Not too many, mostly integration
    - When does test driven development help us? When does it not?
    - Techniques for making test writing more brief and more pleasant:
    - Putting in some time to write testing abstractions to improve the testing experience of your colleagues and future you
    - Testing utilities for managing time: freezegun, time machine
    - Testing utilities for dealing with outbound http requests: httpretty, response, VCR
    - Testing utilities for managing with SQL queries
    - Property based testing and ghostwriting with hypothesis
    - Kolo to turn recorded requests into tests
    - Pytest and the best plugins for saving time
    - Browser based testing: Selenium, storybook, etc.
    - Generating tests with large language models - How useful is Chat GPT?
    - Further tools and techniques from user interviews with django developers (this research is ongoing)
    - I’m in the process of interviewing ~20 django developers about their experience with writing tests and the steps the’ve taken to improve their test setup. I plan to incorporate many of the learnings in this talk
    - Summary, Recap, Conclusion
    Attendees will come away with practical tips for how to improve their own experience writing tests.

Комментарии •