Pynguin: Automated Unit Test Generation for Python
This addresses the problem of reducing manual testing effort for developers in Python, a popular dynamically typed language, but it is incremental as it adapts existing methodologies to a new language context.
The authors tackled the lack of automated unit test generation tools for dynamically typed languages by introducing Pynguin, a framework for Python that generates regression tests with high code coverage, making it usable for practitioners and extensible for researchers.
Automated unit test generation is a well-known methodology aiming to reduce the developers' effort of writing tests manually. Prior research focused mainly on statically typed programming languages like Java. In practice, however, dynamically typed languages have received a huge gain in popularity over the last decade. This introduces the need for tools and research on test generation for these languages, too. We introduce Pynguin, an extendable test-generation framework for Python, which generates regression tests with high code coverage. Pynguin is designed to be easily usable by practitioners; it is also extensible to allow researchers to adapt it for their needs and to enable future research. We provide a demo of Pynguin at https://youtu.be/UiGrG25Vts0; further information, documentation, the tool, and its source code are available at https://www.pynguin.eu.