Software unit tests help the developer to verify that the logic of individual pieces of the program is correct. It is vital to the success of refactoring, the act of improving software design without changing the behavior of the system.
In this course, students will learn how to use both Python's built-in unit test module and the Pytest module as a unit testing framework for the Python programming language. This includes the Pytest features of Fixtures and the rich plug-in ecosystem for Pytest. The key unit testing concepts of Behavior-Driven Development (BDD), Test-Driven Development (TDD), Behavior Driven Development (BDD) and Continuous Integration (CI) are also covered. Pytest allows the developer to ensure high test coverage of the code, and allows continuing development of new features without having to perform lots of manual tests. Other tools discussed include virtualenv and the Tox testing tool to test in different environments while connecting with a Continuous Integration service like Travis-ci.
- Introduction to Python Unit Testing and concepts of Test Automation and Test-Driven Development (TDD)
- Python built-in doctest, and unites features
- Extending built-in unittest with nose2
- Pytest Testing Tool
- Isolate testing environments with Python virtualenv
- Automate and standardize Python testing with Tox
- Automating testing with Travis-ci
- Ability to write unit test using built-in Python unittest module
- Hands-on experience with downloading, installing, configuring the tools through lab exercises.
- Solid working knowledge of Python Unit Testing tools and features.
Course Typically Offered: Online, Fall and Spring quarter
Prerequisites: Have taken Python Programming required courses or equivalent knowledge
Next steps: Upon completion of this course, consider taking other courses in the Python Programming Certificate
More information: Contact firstname.lastname@example.org to learn more about Python Programming and course offerings
Course Number: CSE-41316
Credit: 3.00 unit(s)
Related Certificate Programs: Python Programming, Software Quality Assurance