BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//programme.europython.eu//europython-2024//speaker//7DHKE
 F
BEGIN:VTIMEZONE
TZID:CET
BEGIN:STANDARD
DTSTART:20001029T040000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000326T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:pretalx-europython-2024-7CJVKM@programme.europython.eu
DTSTART;TZID=CET:20240712T140000
DTEND;TZID=CET:20240712T143000
DESCRIPTION:Maintaining code quality through effective testing becomes incr
 easingly challenging as codebases expand and developer teams grow. In our 
 rapidly expanding codebase\, we encountered common obstacles such as incre
 asing test suite execution time\, slow test coverage reporting and delayed
  test startup. By leveraging innovative strategies using open-source tools
 \, we achieved remarkable enhancements in testing efficiency and code qual
 ity.\nChallenges Faced:\n- Test Suite Execution Time: The duration of test
  suite execution escalated significantly as we added more tests over time\
 , hampering development speed.\n- Slow Test Startup: Complex test setup le
 d to prolonged test startup times\, impeding developer productivity.\n- Te
 st Coverage Reporting Overhead: Coverage tools introduced substantial over
 head and impacted test performance.\n\nSolutions Implemented:\n- Parallel 
 Test Execution: We applied pytest-xdist to distribute tests across multipl
 e runners\, significantly reducing test suite execution time and enabling 
 faster development iterations.\n- Optimized Test Startup: Pre-installing d
 ependencies in a Docker image and utilizing Kubernetes for auto-scaling co
 ntinuous integration runners helped expedite test startup times\, improvin
 g developer efficiency. For local development\, we used pytest-hot-reloadi
 ng to reload tests fast after code editing.\n- Efficient Test Coverage Rep
 orting: Customizing the coverage tool to collect data only on updated file
 s of pull requests minimized overhead on test coverage reporting.\nAs a re
 sult\, in the past year\, our test case volume increased by 8000\, test co
 verage was elevated to 85%\, and Continuous Integration (CI) test duration
  was maintained under 15 minute
DTSTAMP:20260518T002532Z
LOCATION:Terrace 2B
SUMMARY:Streamlining Testing in a Large Python Codebase - Jimmy Lai
URL:https://programme.europython.eu/europython-2024/talk/7CJVKM/
END:VEVENT
END:VCALENDAR
