Test Driven Python:
Basic Training

Test Driven Python:
Basic Training

Master test-driven development to ensure your Python applications are robust, efficient, and high-performing.

With our expert-led DBT training program,
designed to equip you with cutting-edge skills in modern application deployment and management.
Benefit from our wealth of experience from countless customer projects:

Experience a balanced mix of theory, live demonstrations and practical exercises.

Gain a comprehensive understanding of operations-driven development and its integration into the software lifecycle.

Learn best practices for creating interfaces like CLIs and APIs in Python, as well as techniques for packaging, containerizing, and orchestrating Python applications.

Understand how to implement robust CI/CD pipelines for automated testing and deployment, and tools and strategies for log management, task scheduling, and operations automation.

Test Driven Python Training – upcoming dates

26.11. – 27.11.2024

Test Driven Python in 2 Days

23.01. – 24.01.2025

Test Driven Python in 2 Days

10.03. – 11.03.2025

Test Driven Python in 2 Days

This course is designed for Python developers who want to enhance their software reliability through robust testing practices. It’s ideal for software engineers who have basic Python knowledge and are looking to integrate advanced testing methodologies like TDD, BDD, and performance testing into their workflow. Whether you’re working in DevOps, application development, or just looking to boost your Python testing skills, this course will give you the tools to make your applications more resilient and efficient.

Practical Applications That We Will Cover in the Training:

  • 1

    Hands-on experience with interface creation, software packaging, application containerization, and CI/CD pipeline management.

  • 2

    Knowledge of implementing observability, log management, task scheduling, and operations automation using various tools.

  • 3

    Understanding of how to design operationally excellent Python applications that enhance efficiency and quality.

After The Course, You Will Be Able To:

  • 1
    Design, implement, and manage interfaces, CI/CD pipelines, and containerization strategies for Python applications.
  • 2
    Implement observability, log management, and task scheduling effectively using various tools.
  • 3
    Use cutting-edge tools for monitoring and optimizing Python applications in real-time.
  • 4
    Bridge the gap between development and operations by mastering operations-driven development techniques.

The Test Driven Python Training is perfect for you if…

  • You have a basic Phython knowledge

  • Your arelooking to integrate advanced testing methodologies like TDD, BDD, and performance testing into your workflow.

  • You want to make your applications more resilient and efficient

The Test Driven Python training is not suitable for you if…

  • You are a beginner in programming and do not have basic Python knowledge.
  • You are looking for an introductory course on Python development or DevOps.
  • You prefer a focus on machine learning models rather than operations-driven development.

Agenda

Training

For small companies and teams that are new to the topic.

  • The importance of test in software development
  • Famous bugs in history that could have been prevented
  • Introduction to unit testing, integration testing, and system testing.
  • Overview of Python testing frameworks: unittest, pytest, and doctest.
  • Writing and running your first tests in Python.
  • Fixture scope, parameterization, and factory fixtures for flexible test setup.
  • Custom markers and plugins to extend pytest functionality.
  • Strategies for using pytest in large test suites and projects.
  • Introduction to the concepts of mocking and patching.
  • Using the `pytest-mock` module effectively.
  • Practical examples and exercises on when and how to use mocks and patches.
  • The TDD cycle: Red, Green, Refactor.
  • Practical exercises on implementing TDD with Python.
  • Challenges and tips for adopting TDD in existing projects.
  • Fundamentals of BDD and its benefits.
  • Introduction to Python BDD frameworks like Behave.
  • Writing and executing BDD scenarios in Python.
  • Introduction to Testcontainers and the concept of disposable environments for testing.
  • Setting up Testcontainers for Python applications.
  • Best practices for using Testcontainers in integration tests.
  • Challenges of testing asynchronous Python code.
  • Writing tests for async functions using pytest-asyncio or similar libraries.
  • Best practices for ensuring async code is correctly tested.

 

  • Basics of performance testing and its importance.
  • Tools and libraries for performance testing in Python (e.g., locust, PyPerf).
  • Integrating performance tests into the development lifecycle.
  • Establishing a culture of testing: importance and strategies.
  • Testing metrics and the debate around 100% coverage.
  • Implementing Continuous Integration (CI) with automated tests.
  • Understanding and leveraging Unit Test Assistants (UTAs) for improved testing efficiency.

 

  • Introduction to security testing and common vulnerabilities in web applications.
  • Using tools like Bandit for static analysis and detecting security issues in Python code.
  • Setting up continuous testing workflows using CI/CD tools.
  • Strategies for selecting tests to run in different stages of the pipeline.
  • Managing test data and environments in CI/CD workflows.

Customized

For large companies and teams that want to master special challenges.

  • Ihr Ökosystem
  • Ihre Best Practices
  • Ihre Probleme und Themen
  • The importance of test in software development
  • Famous bugs in history that could have been prevented
  • Introduction to unit testing, integration testing, and system testing.
  • Overview of Python testing frameworks: unittest, pytest, and doctest.
  • Writing and running your first tests in Python.
  • Fixture scope, parameterization, and factory fixtures for flexible test setup.
  • Custom markers and plugins to extend pytest functionality.
  • Strategies for using pytest in large test suites and projects.
  • Introduction to the concepts of mocking and patching.
  • Using the `pytest-mock` module effectively.
  • Practical examples and exercises on when and how to use mocks and patches.
  • The TDD cycle: Red, Green, Refactor.
  • Practical exercises on implementing TDD with Python.
  • Challenges and tips for adopting TDD in existing projects.
  • Fundamentals of BDD and its benefits.
  • Introduction to Python BDD frameworks like Behave.
  • Writing and executing BDD scenarios in Python.
  • Introduction to Testcontainers and the concept of disposable environments for testing.
  • Setting up Testcontainers for Python applications.
  • Best practices for using Testcontainers in integration tests.
  • Challenges of testing asynchronous Python code.
  • Writing tests for async functions using pytest-asyncio or similar libraries.
  • Best practices for ensuring async code is correctly tested.

 

  • Basics of performance testing and its importance.
  • Tools and libraries for performance testing in Python (e.g., locust, PyPerf).
  • Integrating performance tests into the development lifecycle.
  • Establishing a culture of testing: importance and strategies.
  • Testing metrics and the debate around 100% coverage.
  • Implementing Continuous Integration (CI) with automated tests.
  • Understanding and leveraging Unit Test Assistants (UTAs) for improved testing efficiency.

 

  • Introduction to security testing and common vulnerabilities in web applications.
  • Using tools like Bandit for static analysis and detecting security issues in Python code.
  • Setting up continuous testing workflows using CI/CD tools.
  • Strategies for selecting tests to run in different stages of the pipeline.
  • Managing test data and environments in CI/CD workflows.

Hear from our satisfied training attendees

A1 Telekom Austria AG

Reinhard Burgmann
Head of Data Ecosystem

„UTA coached my team along the development process of the migration plan of our on premises data lake to the public cloud.

The outstanding level of expertise, both on a technical and organizational level, ensured a well-structured and realistic migration plan including timeline, milestones, and efforts.

The enablement of my team was at the center of a very smooth collaboration. Through UTA, we achieved our goal faster and reduced risks of the migration project significantly.

I highly recommend UTA’s services!“

Vattenfall

Bernard Benning
BA Heat

„I recently attended Vattenfall IT’s online Kafka training day hosted by Ultra Tendency, and it was an enriching experience.

The trainer, Ahmed, did a fantastic job explaining the theory behind Kafka, and the emphasis on practical application was great. The hands-on programming exercises were particularly helpful, and I’ve never experienced training with so many interactive examples!

Overall, I highly recommend this training to anyone who wants to improve their Kafka knowledge interactively and gain valuable skills.“

VP Bank

Eisele Peer
Lead Architect & Head of IT Integration & Development

The MLOps training exceeded our expectations!

It offered a perfect blend of an overview, hands-on coding examples, and real-world use cases. The trainer answered all questions competently and adapted the content to fit our company’s infrastructure.

This training not only provided us with knowledge but also practical skills that we can apply immediately.

Your investment

1949 €plus VAT.
  • Learn the fundamentals of software testing, including unit, integration, and system testing, using popular Python testing frameworks such as pytest and unittest.
  • Master advanced testing techniques such as mocking, patching, and testing asynchronous code, ensuring all components of your Python application work as intended.
  • Explore Test-Driven Development (TDD) and Behavior-Driven Development (BDD) to produce clean, efficient code through continuous testing and refactoring.
  • Understand how to integrate testing into CI/CD workflows for continuous, automated quality checks, using tools like Jenkins or GitHub Actions to streamline development and deployment.

Get to know your trainers

Marvin Taschenberger

Professional Software Architect, Ultra Tendency

Hudhaifa Ahmed

Senior Lead Big Data Developer Berlin Territory Manager, Ultra Tendency

Matthias Baumann

Chief Technology Officer & Principal Big Data Solutions Architect Lead, Ultra Tendency

Required hardware & infrastructure for your Python Training

  • You will need a PC or Mac with a web browser and MS Teams.
  • During the training, we will provide you with a virtual machine with the required local dependencies, services and root access.
  • This VM has a running Kubernetes cluster on which you can test and execute the training instructions.
  • You can access the machine via a browser or SSH if you wish and the network restrictions allow it.