Python Pro: Mastering Debugging and Unit Testing

Satyam Soni (~satyamsoni2211)


4

Votes

Description:

Proposal: Python Pro: Mastering Debugging and Unit Testing

Introduction:

In today's software development landscape, mastering debugging techniques and implementing robust unit tests are crucial skills for Python developers. This workshop is designed to provide participants with a comprehensive understanding of debugging methodologies and unit testing frameworks. From utilizing built-in debugging features to advanced testing techniques, participants will gain hands-on experience and practical insights to enhance their Python development workflow.

Workshop Objectives:

  • Acquire proficiency in debugging Python code using built-in breakpoints.
  • Develop skills to analyze code effectively during debugging sessions.
  • Explore debugging capabilities within popular Integrated Development Environments (IDEs) such as Visual Studio Code and PyCharm.
  • Debug Python code seamlessly within Docker containers for efficient development workflows.
  • Master the fundamentals of unit testing using the unittest framework.
  • Discover advanced testing features with the Pytest framework.
  • Execute test suites efficiently using Pytest.
  • Utilize fixtures to establish preconditions for tests.
  • Understand mocking responses to isolate code for testing.
  • Learn techniques for patching methods and objects.
  • Organize and categorize tests effectively by marking unit tests.
  • Assess code coverage to evaluate the effectiveness of unit tests.

Workshop Agenda:

Part 1: Debugging Python Code

  1. Introduction to Debugging
  2. Using pdb library
  3. Using Built-in Breakpoints
  4. Analyzing Code During Debugging
  5. Debugging in Visual Studio Code
  6. Debugging in PyCharm
  7. Debugging in Docker Containers

Part 2: Unit Testing in Python

  1. Introduction to Unit Testing
  2. Writing Basic Unit Tests with Unittest Framework
  3. Introduction to Pytest Framework
  4. Running Test Suites Using Pytest
  5. Utilizing Fixtures in Pytest
  6. Mocking Responses for Isolated Testing
  7. Patching Methods and Objects
  8. Marking Unit Tests for Organization
  9. Assessing Code Coverage

Target Audience:

This workshop caters to Python developers of all levels who aim to enhance their debugging skills and adopt best practices in unit testing. Whether you're a novice seeking foundational knowledge or an experienced developer eager to explore advanced techniques, this workshop offers valuable insights and practical guidance.

Requirements:

Participants are required to have Docker, Visual Studio Code, and PyCharm installed on their laptops prior to the workshop. These tools will be utilized extensively throughout the sessions to facilitate hands-on learning and practical demonstrations. Instructions for setting up the necessary environments will be provided in advance to ensure a smooth workshop experience.

Conclusion:

By the conclusion of this workshop, participants will possess the skills and confidence to debug Python code proficiently and develop comprehensive unit tests using industry-standard frameworks. Equipped with practical insights and hands-on experience, participants will be empowered to enhance the quality and reliability of their Python projects, fostering a culture of excellence in software development.

Prerequisites:

  • Python: >=3.9
  • Visual Studio Code
  • Pycharm
  • Docker Desktop

Speaker Info:

A Python Enthusiast with over 7 years of experience working across multiple domains, verticals, and Frameworks. I am an active Open-Source contributor, with multiple libraries published over PyPI (lazy-alchemy, py-lambda-warmer, flask-dantic etc.), and currently working as Technology Lead with SenecaGlobal, delivering Python Based Full Stack Solutions.

Section: Core Python
Type: Workshops
Target Audience: Intermediate
Last Updated: