Testing Essentials with Python

Dive into the essentials of Python for testing, learn how to develop high-quality code supported by tests, and prepare for the PCAT – Certified Associate Tester with Python certification.

This intermediate-level course introduces the topic of automated software testing from the perspective of a Python programmer. The course covers such topic areas as software testing theory and terminology, the test pyramid, code coverage, test automation, code refactoring, assertions, context managers, decorators, e2e tests, integration tests, unit tests, test documentation, as well as introduces the concepts of test-driven (TDD) and behavior-driven (BDD) development approaches. The course focuses on practical elements to help you make your code as good as possible, and show you why and how testing can be your ally in your everyday routine.

Having completed the course, you will be prepared to attempt the qualification PCAT™ – Certified Associate Tester with Python certification, and to get your foot in the door to careers in software testing and QA engineering. The course will also equip you with the skills and knowledge necessary to pursue more advanced, specialized, and higher-paying positions in the world of software development.

Key skills you will learn

Sign up for Testing Essentials with Python, and learn these core skills:

  • Software Testing Principles
  • Unit Testing
  • Computer Programming
  • Software Engineering Principles
  • Software Decomposition
  • Algorithmic Thinking
  • Test-Driven Development
  • Best Practices in Software Testing


Testing Essentials with Python banner
Testing Essentials with Python
(Coming Q4 2023)

Length: 5-6 weeks hours (Suggested: 6-7 hours/week)
Language: English
Cost: Free

This course introduces the main concepts, conventions, and techniques used in automated testing using the Python programming language, and prepares you for the PCAT™ – Certified Associate Tester with Python certification exam.

The main goal of the course is to teach you the basics of Python software testing, focusing on such aspects as the essential terminology and definitions, testing methodologies and best practices, unit testing, software engineering and testing principles, software decomposition, and the test-driven development approach.

The course will prepare you for jobs and careers connected with widely understood software development and software testing practices, which includes such job roles as software developer, software engineer, software tester, and QA engineer.

Testing Essentials with Python has been designed for intermediate-level learners interested in developing Python code supported by testing activities. It will particularly appeal to:

  • aspiring programmers, software testing beginners, and learners interested in learning the basics of Python testing for fun and job-related tasks

  • learners looking to gain fundamental skills and knowledge for an entry-level job role as a software developer, software tester, QA engineer, and test engineer

  • software testing and test engineering industry professionals who know other programming language(s) and tools, wishing to explore technologies connected with Python, or to utilize it as a foundation for software testing purposes

  • aspiring programmers, learners, and industry professionals looking to acquire essential skills in Python and software testing for further self-development in the areas of software development, software testing and test automation, security, software engineering, software architecture, and quality assurance

  • team leaders, product managers, project managers, and product owners who want to understand the terminology and processes in software testing to more effectively manage and communicate with software development and software testing teams


This course has been designed for learners, who:

  • are already familiar with the essentials of object-oriented programming;
  • know how to design and develop and debug programs in Python;
  • are willing to increase their knowledge about the craftmanship;
  • are willing to deliver good quality code.

Experience required: completion of the Python Essentials 1 and Python Essentials 2 courses, or equivalent experience.

What you will know after the course

By the end of the course, you will be able to:

  • explain the importance of software testing;
  • explain the differences between various types of software testing;
  • analyze, run, and implement the outputs of unit tests;
  • organize unit tests into test modules;
  • design, develop, and refactor multi-module computer programs written in Python with high quality built-ins;
  • create code by following the Test-Driven Development programming approach;
  • design, write, and implement code according to recognized principles (DRY, KISS, F.I.R.S.T);
  • implement the means for finding dead or complex code.