Python Unit Testing
CSE-41316
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.
Course Highlights:
- 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
Course Benefits:
- 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 infotech@ucsd.edu to learn more about Python Programming and course offerings
Course Information
Course sessions
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
All course materials are included unless otherwise stated.
Policies:
- No refunds after: 9/30/2024
Schedule:
Instructor: Louis Rey, BSEE
CE Certification/ Interoperability Supervisor, DivX.
Louis Rey is currently working at DivX as a CE Certification/Interoperability Supervisor with a focus in Video Compression and Digital/Analog Video. He has over 16 years of experience in various fields ranging from Optoelectronics, Industrial Automation, Wireless Communications (commercial and military), Digital Video Processing and Compression, and Software Development.
Mr. Rey has also over 15 years of teaching experience in technical, engineering and software development areas including, various Electronics in Digital, Analog and Communications courses, Digital Video Processing and Compression Algorithms, C++, Python, MATLAB, PLC, and SCADA.
He holds a MSEE from San Diego State University with focus in DSP, Communications and Modem/Software Radio Design and additional graduate level coursework in Digital Image Processing.